Repository: base-org/contract-deployments Branch: main Commit: e76fde63ff26 Files: 1659 Total size: 12.9 MB Directory structure: gitextract_axrthmtg/ ├── .codeflow.yml ├── .github/ │ └── workflows/ │ └── validate-templates.yml ├── .gitignore ├── LICENSE ├── Makefile ├── Multisig.mk ├── README.md ├── SECURITY.md ├── mainnet/ │ ├── 2023-06-14-deploy/ │ │ ├── Makefile │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── execute/ │ │ │ └── RunDeployBedrock.s.sol │ │ ├── foundry.toml │ │ ├── inputs/ │ │ │ ├── construct-config.sh │ │ │ ├── deploy-config.json │ │ │ └── misc-config.json │ │ └── remappings.txt │ ├── 2023-06-14-deploy-deterministic-proxy/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeterministicProxyDeploy.s.sol/ │ │ │ └── 84531/ │ │ │ └── run-1686756835.json │ │ ├── remappings.txt │ │ └── script/ │ │ └── DeterministicProxyDeploy.s.sol │ ├── 2023-06-14-test-tx/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── remappings.txt │ │ ├── script/ │ │ │ └── Test.s.sol │ │ └── src/ │ │ └── Test.sol │ ├── 2023-06-15-unpause-portal/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UnpausePortal.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1686800969.json │ │ │ ├── run-1686801711.json │ │ │ └── run-1686802144.json │ │ ├── remappings.txt │ │ └── script/ │ │ └── UnpausePortal.s.sol │ ├── 2023-06-15-validate-deploy/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── remappings.txt │ │ └── script/ │ │ └── ValidateDeploy.s.sol │ ├── 2023-06-21-transfer-system-cfg-owner/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferOwner.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1687552190.json │ │ ├── remappings.txt │ │ ├── script/ │ │ │ └── TransferOwner.s.sol │ │ └── sign.sh │ ├── 2023-07-11-test-l2-safe/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployTestProxy.s.sol/ │ │ │ │ └── 8453/ │ │ │ │ └── run-1689807430.json │ │ │ └── TestL2Safe.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1689855846.json │ │ └── script/ │ │ ├── DeployTestProxy.s.sol │ │ └── TestL2Safe.s.sol │ ├── 2023-07-17-test-l1-nested-safe/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployTestProxy.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── run-1689870341.json │ │ │ │ ├── run-1690069785.json │ │ │ │ ├── run-1690244404.json │ │ │ │ └── run-1690245053.json │ │ │ └── TestL1NestedSafe.s.sol/ │ │ │ └── 1/ │ │ │ ├── approve-1691353255.json │ │ │ ├── approve-1691353718.json │ │ │ └── run-1691353817.json │ │ └── script/ │ │ ├── DeployTestProxy.s.sol │ │ └── TestL1NestedSafe.s.sol │ ├── 2023-07-19-challenger-1-of-2/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeleteL2OutputsCB.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1690499220.json │ │ │ ├── DeleteL2OutputsOP.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1691703002.json │ │ │ ├── DeployChallenger.s.sol/ │ │ │ │ └── run-1689808110.json │ │ │ └── UpgradeL2OO.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1690314255.json │ │ └── script/ │ │ ├── DeleteL2OutputsCB.s.sol │ │ ├── DeleteL2OutputsOP.s.sol │ │ ├── DeployChallenger.s.sol │ │ └── UpgradeL2OO.s.sol │ ├── 2023-07-19-test-l2-nested-safe/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployTestProxy.s.sol/ │ │ │ │ └── 8453/ │ │ │ │ └── run-1689883950.json │ │ │ └── TestNestedL2Safe.s.sol/ │ │ │ └── 8453/ │ │ │ ├── approve-1691008217.json │ │ │ ├── approve-1691008879.json │ │ │ └── run-1691009077.json │ │ └── script/ │ │ ├── DeployTestProxy.s.sol │ │ └── TestNestedL2Safe.s.sol │ ├── 2023-07-26-transfer-owner-nested-safes/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── TransferOwnerL1.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1691523415.json │ │ │ └── TransferOwnerL2.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1691524273.json │ │ └── script/ │ │ ├── TransferOwnerL1.s.sol │ │ └── TransferOwnerL2.s.sol │ ├── 2023-08-07-test-op-fee-nested-safe/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TestNestedL2Safe.s.sol/ │ │ │ └── 10/ │ │ │ ├── run-1692981334.json │ │ │ ├── run-1692981492.json │ │ │ └── run-1692981620.json │ │ └── script/ │ │ └── TestNestedL2Safe.s.sol │ ├── 2023-08-15-support-eas/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeToEAS.s.sol/ │ │ │ └── 8453/ │ │ │ ├── run-1694183897.json │ │ │ ├── run-1694184082.json │ │ │ └── run-1694184181.json │ │ └── script/ │ │ └── UpgradeToEAS.s.sol │ ├── 2023-08-22-fee-vault-fix/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── FixFeeVaultsL2.s.sol/ │ │ │ └── 8453/ │ │ │ ├── run-1693342112.json │ │ │ ├── run-1693585668.json │ │ │ └── run-1693589726.json │ │ └── script/ │ │ ├── DeployNewFeeVaultsL2.s.sol │ │ └── FixFeeVaultsL2.s.sol │ ├── 2023-08-28-deploy-revshare/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeToFeeDisburser.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1693609606.json │ │ └── script/ │ │ ├── DeployBalanceTracker.s.sol │ │ ├── DeployFeeDisburser.s.sol │ │ ├── FeeDisburserOwnershipTransfer.s.sol │ │ └── UpgradeToFeeDisburser.s.sol │ ├── 2024-02-21-setup-smart-escrow/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeploySmartEscrow.s.sol/ │ │ │ └── 10/ │ │ │ └── run-1709074703.json │ │ └── script/ │ │ └── DeploySmartEscrow.s.sol │ ├── 2024-02-23-transfer-op/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── TransferAndDelegateOPTokens.s.sol │ │ └── TransferUpfrontOPTokens.s.sol │ ├── 2024-03-05-pause-unpause-test/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── PausePortal.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── run-1711563045.json │ │ │ │ └── run-1711563069.json │ │ │ └── UnpausePortal.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1711567810.json │ │ │ └── run-1711567828.json │ │ └── script/ │ │ ├── PausePortal.s.sol │ │ └── UnpausePortal.s.sol │ ├── 2024-03-07-ecotone-sysconfig-updates/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasConfig.sol/ │ │ │ └── 1/ │ │ │ └── run-1710375473.json │ │ └── script/ │ │ ├── RollbackGasConfig.sol │ │ └── UpdateGasConfig.sol │ ├── 2024-03-26-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasLimit.sol/ │ │ │ └── 1/ │ │ │ ├── run-1711570739.json │ │ │ └── run-1711570882.json │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-04-01-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasLimit.sol/ │ │ │ └── 1/ │ │ │ └── run-1712005481.json │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-04-12-deployERC20Factory/ │ │ ├── Makefile │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── RunERC20FactoryDeploy.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1713280196.json │ │ └── script/ │ │ └── RunERC20FactoryDeploy.s.sol │ ├── 2024-04-15-redeploy-smart-escrow/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeploySmartEscrow.s.sol/ │ │ │ └── 10/ │ │ │ └── run-1713902413.json │ │ └── script/ │ │ └── DeploySmartEscrow.s.sol │ ├── 2024-04-17-upgrade-erc20-factory/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeOptimismMintableERC20Factory.s.sol/ │ │ │ └── 8453/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1716225695.json │ │ │ ├── run-1716225767.json │ │ │ └── run-1716225813.json │ │ └── script/ │ │ └── UpgradeOptimismMintableERC20Factory.s.sol │ ├── 2024-04-30-deployTempERC20Factory/ │ │ ├── Makefile │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── foundry.toml │ │ ├── inputs/ │ │ │ ├── construct-config.sh │ │ │ ├── deploy-config.json │ │ │ └── misc-config.json │ │ ├── records/ │ │ │ └── RunDeployERC20Factory.sol/ │ │ │ └── 8453/ │ │ │ └── run-1714483769.json │ │ ├── script/ │ │ │ └── RunDeployERC20Factory.sol │ │ └── src/ │ │ └── ERC20Factory.sol │ ├── 2024-05-28-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasLimit.sol/ │ │ │ └── 1/ │ │ │ └── run-1716922926.json │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-05-30-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-06-05-reredeploy-smart-escrow/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeploySmartEscrow.s.sol/ │ │ │ └── 10/ │ │ │ ├── run-1719275042.json │ │ │ ├── run-1719275101.json │ │ │ └── run-1722111961.json │ │ └── script/ │ │ └── DeploySmartEscrow.s.sol │ ├── 2024-06-17-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-06-25-update-gas-config/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasConfig.sol │ │ └── UpdateGasConfig.sol │ ├── 2024-06-28-update-gas-config/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasConfig.sol │ │ └── UpdateGasConfig.sol │ ├── 2024-07-10-update-gas-config/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasConfig.sol │ │ └── UpdateGasConfig.sol │ ├── 2024-07-16-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-07-23-set-l1-resolver/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── SetL1Resolver.sol │ ├── 2024-07-23-transfer-owner-balance-tracker/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── BalanceTrackerOwnershipTransfer.sol/ │ │ │ └── 1/ │ │ │ └── run-1721845061.json │ │ └── script/ │ │ └── BalanceTrackerOwnershipTransfer.sol │ ├── 2024-07-24-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-07-24-reduce-batcher-proposer-balance-targets/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployBalanceTracker.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1721866466.json │ │ └── script/ │ │ ├── DeployBalanceTracker.s.sol │ │ └── UpgradeBalanceTracker.s.sol │ ├── 2024-07-30-set-new-l1-resolver/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetL1Resolver.sol/ │ │ │ └── 1/ │ │ │ └── run-1722367323.json │ │ └── script/ │ │ └── SetL1Resolver.sol │ ├── 2024-07-30-transfer-op/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferOPTokens.s.sol/ │ │ │ └── 10/ │ │ │ ├── run-1723148142.json │ │ │ ├── run-1723148655.json │ │ │ └── run-1723148770.json │ │ └── script/ │ │ └── TransferOPTokens.s.sol │ ├── 2024-07-31-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── RollbackGasLimit.sol │ │ └── UpdateGasLimit.sol │ ├── 2024-08-27-disburse-basenames/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── disbursement.json │ │ ├── disbursement1.csv │ │ ├── disbursement10.csv │ │ ├── disbursement11.csv │ │ ├── disbursement12.csv │ │ ├── disbursement13.csv │ │ ├── disbursement14.csv │ │ ├── disbursement15.csv │ │ ├── disbursement2.csv │ │ ├── disbursement3.csv │ │ ├── disbursement4.csv │ │ ├── disbursement5.csv │ │ ├── disbursement6.csv │ │ ├── disbursement7.csv │ │ ├── disbursement8.csv │ │ ├── disbursement9.csv │ │ ├── foundry.toml │ │ ├── parser.sh │ │ ├── records/ │ │ │ └── DisburseBasenames.sol/ │ │ │ └── 8453/ │ │ │ ├── executeWithNonce-latest.json │ │ │ ├── run-1724878834.json │ │ │ ├── run-1724878939.json │ │ │ ├── run-1725393994.json │ │ │ ├── run-1725654743.json │ │ │ ├── run-1745611292.json │ │ │ ├── run-1749233082.json │ │ │ └── run-1757534662694.json │ │ └── script/ │ │ └── DisburseBasenames.sol │ ├── 2024-09-23-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1727285381.json │ ├── 2024-10-01-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1727888979.json │ ├── 2024-10-08-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1728494142.json │ ├── 2024-10-15-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1729105634.json │ ├── 2024-10-22-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1729703140.json │ ├── 2024-11-18-increase-max-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── output │ │ ├── patch/ │ │ │ └── max-gas-limit.patch │ │ ├── records/ │ │ │ ├── DeploySystemConfig.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1733860170.json │ │ │ └── UpgradeSystemConfig.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1733947633.json │ │ │ ├── run-1733957906.json │ │ │ └── run-1733958067.json │ │ └── script/ │ │ ├── DeploySystemConfig.s.sol │ │ └── UpgradeSystemConfig.s.sol │ ├── 2024-12-04-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1733328181.json │ ├── 2024-12-11-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1733962358.json │ ├── 2024-12-18-holocene-deployments/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── foundry.toml │ │ ├── inputs/ │ │ │ ├── construct-config.sh │ │ │ ├── deploy-config.json │ │ │ └── misc-config.json │ │ ├── records/ │ │ │ └── DeployHoloceneContracts.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1734652451.json │ │ └── script/ │ │ └── DeployHoloceneContracts.s.sol │ ├── 2024-12-18-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1734551212.json │ ├── 2025-01-08-transfer-proxyadmin-owner-L1alias/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.MD │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferOwner.s.sol/ │ │ │ └── 8453/ │ │ │ ├── run-1738699790.json │ │ │ ├── run-1738702467.json │ │ │ └── run-1738702575.json │ │ └── script/ │ │ └── TransferOwner.s.sol │ ├── 2025-01-15-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1736968347.json │ ├── 2025-01-15-nested-ownership-transfer/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeploySafes.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1745514205.json │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1745938970.json │ │ ├── script/ │ │ │ ├── DeploySafes.s.sol │ │ │ └── UpdateSigners.s.sol │ │ └── signers.json │ ├── 2025-01-22-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 1/ │ │ └── run-1737568790.json │ ├── 2025-01-29-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ └── foundry.toml │ ├── 2025-02-12-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1739387882.json │ ├── 2025-02-19-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1739987678.json │ ├── 2025-02-25-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1740593054.json │ ├── 2025-03-05-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1741194410.json │ ├── 2025-03-05-upgrade-fault-proofs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployDisputeGames.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1742911814.json │ │ └── script/ │ │ ├── DeployDisputeGames.s.sol │ │ └── UpgradeDGF.s.sol │ ├── 2025-03-19-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1742400711.json │ ├── 2025-03-26-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1743002773.json │ ├── 2025-04-07-init-smart-escrow-ownership-transfer/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── InitOwnershipTransfer.s.sol │ ├── 2025-04-07-update-fee-disperser-ownership/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── OwnershipTransfer.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1749317765.json │ │ └── script/ │ │ └── OwnershipTransfer.s.sol │ ├── 2025-04-23-upgrade-fault-proofs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployDisputeGames.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1745860191.json │ │ │ └── UpgradeDGF.s.sol/ │ │ │ └── 1/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1746550202.json │ │ │ ├── run-1746550275.json │ │ │ ├── run-1746553742.json │ │ │ └── run-1746643611.json │ │ ├── script/ │ │ │ ├── DeployDisputeGames.s.sol │ │ │ └── UpgradeDGF.s.sol │ │ └── validations/ │ │ ├── CB.md │ │ ├── OP.md │ │ └── SC.md │ ├── 2025-04-29-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1746038678.json │ ├── 2025-05-06-fund-ledgers/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── funding.json │ │ ├── records/ │ │ │ └── Fund.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1747176781.json │ │ └── script/ │ │ └── Fund.s.sol │ ├── 2025-05-07-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── SetGasLimit.sol/ │ │ └── 1/ │ │ └── run-1746637693.json │ ├── 2025-05-13-incident-multisig-signers/ │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1749035499.json │ │ └── script/ │ │ └── UpdateSigners.s.sol │ ├── 2025-05-15-eip1559-denominator-reduction/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── ReduceEip1559Denominator.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1748379182.json │ │ └── script/ │ │ └── ReduceEip1559Denominator.s.sol │ ├── 2025-06-04-upgrade-system-config/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ └── max-gas-limit.patch │ │ ├── records/ │ │ │ ├── DeploySystemConfig.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1749474907.json │ │ │ └── UpgradeSystemConfig.s.sol/ │ │ │ └── 1/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1750783683.json │ │ │ ├── run-1750783800.json │ │ │ ├── run-1750783885.json │ │ │ ├── run-1750783934.json │ │ │ └── run-1750797290.json │ │ ├── script/ │ │ │ ├── DeploySystemConfig.s.sol │ │ │ └── UpgradeSystemConfig.s.sol │ │ └── validations/ │ │ ├── BASE_NESTED_VALIDATION.md │ │ ├── BASE_SC_VALIDATION.md │ │ └── OP_VALIDATION.md │ ├── 2025-06-18-eip1559-elasticity-increase/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1750283342.json │ │ └── script/ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ ├── 2025-06-25-safe-swap-owner/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SwapOwner.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1752508958.json │ │ ├── script/ │ │ │ └── SwapOwner.s.sol │ │ └── validations/ │ │ └── VALIDATION.md │ ├── 2025-07-24-eth-recovery/ │ │ ├── ARBITRUM_VALIDATION.md │ │ ├── BASE_VALIDATION.md │ │ ├── Makefile │ │ ├── OPTIMISM_VALIDATION.md │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── output/ │ │ │ ├── arbitrum/ │ │ │ │ └── recovery_addresses.json │ │ │ ├── base/ │ │ │ │ └── recovery_addresses.json │ │ │ └── optimism/ │ │ │ └── recovery_addresses.json │ │ ├── records/ │ │ │ ├── ArbitrumExecuteRecovery.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── run-1754080993.json │ │ │ │ ├── run-1754082985.json │ │ │ │ ├── run-1754083142.json │ │ │ │ ├── run-1754083249.json │ │ │ │ ├── run-1754083348.json │ │ │ │ └── run-1754083422.json │ │ │ ├── DeployRecoveryImplementation.s.sol/ │ │ │ │ ├── 10/ │ │ │ │ │ └── run-1753908210.json │ │ │ │ ├── 42161/ │ │ │ │ │ └── run-1753908149.json │ │ │ │ └── 8453/ │ │ │ │ └── run-1753908081.json │ │ │ └── OPStackExecuteRecovery.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1754081221.json │ │ │ ├── run-1754081917.json │ │ │ ├── run-1754082409.json │ │ │ ├── run-1754082458.json │ │ │ ├── run-1754082505.json │ │ │ ├── run-1754084018.json │ │ │ ├── run-1754084077.json │ │ │ ├── run-1754084126.json │ │ │ ├── run-1754084197.json │ │ │ ├── run-1754084245.json │ │ │ ├── run-1754084306.json │ │ │ ├── run-1754084378.json │ │ │ ├── run-1754084425.json │ │ │ ├── run-1754084474.json │ │ │ ├── run-1754084558.json │ │ │ ├── run-1754084607.json │ │ │ ├── run-1754084632.json │ │ │ ├── run-1754084678.json │ │ │ └── run-1754084725.json │ │ └── script/ │ │ ├── ArbitrumExecuteRecovery.s.sol │ │ ├── DeployRecoveryImplementation.s.sol │ │ ├── DeployRecoveryProxies.s.sol │ │ └── OPStackExecuteRecovery.s.sol │ ├── 2025-08-13-safe-swap-owner/ │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SwapOwner.s.sol/ │ │ │ └── 8453/ │ │ │ ├── run-1757436536544.json │ │ │ └── run-1757436608629.json │ │ └── script/ │ │ └── SwapOwner.s.sol │ ├── 2025-10-06-funding/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── funding.json │ │ └── script/ │ │ └── Fund.s.sol │ ├── 2025-10-07-upgrade-to-U16a/ │ │ ├── README.md │ │ └── records/ │ │ └── OPCMUpgradeV410.sol/ │ │ └── 1/ │ │ ├── run-1759861934.json │ │ ├── run-1759862413.json │ │ ├── run-1759862485.json │ │ └── run-1759862580.json │ ├── 2025-10-20-incident-multisig-signers/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1761579001803.json │ │ ├── script/ │ │ │ └── UpdateSigners.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-10-28-increase-gas-and-elasticity-limit/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1761755774673.json │ │ ├── script/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-11-05-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-11-10-increase-gas-and-elasticity-limit/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasParams.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1762965805898.json │ │ ├── script/ │ │ │ └── UpdateGasParams.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2025-11-15-deploy-cb-multicall/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployCBMulticall.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1763160551942.json │ │ └── script/ │ │ └── DeployCBMulticall.s.sol │ ├── 2025-11-20-deploy-cb-multicall/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployCBMulticall.s.sol/ │ │ │ ├── 1/ │ │ │ │ └── run-1763649491942.json │ │ │ └── 8453/ │ │ │ └── run-1763649543610.json │ │ └── script/ │ │ └── DeployCBMulticall.s.sol │ ├── 2025-11-21-u17-jovian-upgrade/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeWithOpSmartContractManager.sol/ │ │ │ └── 1/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1764604369938.json │ │ │ ├── run-1764604491152.json │ │ │ ├── run-1764604526281.json │ │ │ └── run-1764604704970.json │ │ ├── script/ │ │ │ ├── MultisigScript.sol │ │ │ └── UpgradeWithOpSmartContractManager.sol │ │ └── validations/ │ │ ├── base-security-council-signer.json │ │ ├── coinbase-signer.json │ │ └── optimism-signer.json │ ├── 2025-11-25-base-bridge-deployment/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── config.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployBridge.s.sol/ │ │ │ └── 8453/ │ │ │ └── run-1764164771386.json │ │ └── script/ │ │ └── DeployBridge.s.sol │ ├── 2025-12-01-pause-bridge-base/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── PauseBridge.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1764695666667.json │ │ │ └── run-1764696374577.json │ │ ├── script/ │ │ │ └── PauseBridge.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-12-04-set-jovian-parameters/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetJovianParameters.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1764871622342.json │ │ ├── script/ │ │ │ └── SetJovianParameters.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-12-08-increase-gas-and-elasticity-limit/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1766084929.json │ │ ├── script/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2025-12-15-increase-min-base-fee/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseMinBaseFee.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1766085218628.json │ │ ├── script/ │ │ │ └── IncreaseMinBaseFee.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2026-01-09-op-stack-upgrade-18/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── ExecuteOPCM.s.sol/ │ │ │ └── 1/ │ │ │ ├── run-1770741422696.json │ │ │ ├── run-1770741733158.json │ │ │ ├── run-1770742081453.json │ │ │ └── run-1770742201070.json │ │ ├── script/ │ │ │ └── ExecuteOPCM.s.sol │ │ └── validations/ │ │ ├── coinbase-signer.json │ │ ├── optimism-signer.json │ │ └── security-council-signer.json │ ├── 2026-01-20-update-basefee-da-footprint/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1769112998506.json │ │ ├── script/ │ │ │ └── SetMinBaseFeeAndDAFootprint.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-01-28-update-min-base-fee/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetMinBaseFee.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1770084530335.json │ │ ├── script/ │ │ │ └── SetMinBaseFee.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-02-03-eip1559-denominator-increase/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559Denominator.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1770211645877.json │ │ ├── script/ │ │ │ └── IncreaseEip1559Denominator.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-02-17-update-min-base-fee/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetMinBaseFee.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1771531755195.json │ │ ├── script/ │ │ │ └── SetMinBaseFee.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-02-19-superchain-separation/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── AddSecurityCouncilSigner.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1772559435293.json │ │ │ ├── DeployFeeDisburser.s.sol/ │ │ │ │ └── 8453/ │ │ │ │ └── run-1771962505194.json │ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1771973281770.json │ │ │ ├── TerminateSmartEscrow.s.sol/ │ │ │ │ └── 10/ │ │ │ │ └── run-1772559267231.json │ │ │ ├── UpdateCBSafeSigners.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── approve-latest.json │ │ │ │ ├── run-1772558762154.json │ │ │ │ ├── run-1772558857931.json │ │ │ │ └── run-1772558895941.json │ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── approve-latest.json │ │ │ │ ├── run-1772558365917.json │ │ │ │ ├── run-1772558522364.json │ │ │ │ ├── run-1772558558823.json │ │ │ │ ├── run-1772558642511.json │ │ │ │ └── run-1772558678595.json │ │ │ ├── UpgradeFeeDisburser.s.sol/ │ │ │ │ └── 1/ │ │ │ │ └── run-1772559195571.json │ │ │ ├── UpgradeSystemConfig.s.sol/ │ │ │ │ └── 1/ │ │ │ │ ├── approve-latest.json │ │ │ │ ├── run-1772558954723.json │ │ │ │ ├── run-1772559037725.json │ │ │ │ └── run-1772559062275.json │ │ │ └── WithdrawSmartEscrow.s.sol/ │ │ │ └── 10/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1772559325436.json │ │ │ └── run-1773681700867.json │ │ ├── script/ │ │ │ ├── AddSecurityCouncilSigner.s.sol │ │ │ ├── DeployFeeDisburser.s.sol │ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol │ │ │ ├── TerminateSmartEscrow.s.sol │ │ │ ├── UpdateCBSafeSigners.s.sol │ │ │ ├── UpdateProxyAdminOwnerSigners.s.sol │ │ │ ├── UpgradeFeeDisburser.s.sol │ │ │ ├── UpgradeSystemConfig.s.sol │ │ │ └── WithdrawSmartEscrow.s.sol │ │ └── validations/ │ │ ├── coinbase-signer-part-1.json │ │ ├── coinbase-signer-part-2.json │ │ ├── coinbase-signer-part-3.json │ │ ├── coinbase-signer-part-4.json │ │ ├── coinbase-signer-part-5.json │ │ ├── coinbase-signer-part-6.json │ │ ├── optimism-op-mainnet-signer.json │ │ ├── optimism-signer.json │ │ ├── security-council-signer-part-1.json │ │ ├── security-council-signer-part-2.json │ │ ├── security-council-signer-part-3.json │ │ └── security-council-signer-part-4.json │ ├── 2026-02-27-pause-superchain-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── PauseSuperchainConfig.s.sol │ ├── 2026-03-11-patch-fee-disburser/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ ├── fee-disburser-semver.patch │ │ │ └── ifee-vault-withdraw.patch │ │ ├── records/ │ │ │ ├── DeployFeeDisburser.s.sol/ │ │ │ │ └── 8453/ │ │ │ │ └── run-1773254584772.json │ │ │ └── UpgradeFeeDisburser.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1773435817460.json │ │ ├── script/ │ │ │ ├── DeployFeeDisburser.s.sol │ │ │ └── UpgradeFeeDisburser.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2026-03-25-increase-gas-and-elasticity-limit/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/ │ │ │ └── 1/ │ │ │ └── run-1774471597995.json │ │ ├── script/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ └── addresses.json ├── sepolia/ │ ├── 2023-09-26-deploy/ │ │ ├── Makefile │ │ ├── deploy-config/ │ │ │ └── deploy-config.json │ │ ├── deployed/ │ │ │ └── addresses.json │ │ └── foundry.toml │ ├── 2023-10-07-upgrade-l1-standard-bridge/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployL1StandardBridge.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1696724294.json │ │ │ └── UpgradeL1StandardBridge.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1696724395.json │ │ └── script/ │ │ ├── DeployL1StandardBridge.s.sol │ │ └── UpgradeL1StandardBridge.s.sol │ ├── 2024-01-22-deploy-revshare/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployBalanceTracker.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1706212422.json │ │ │ ├── DeployFeeDisburser.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1706221009.json │ │ │ ├── DeployNewFeeVaults.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ ├── run-1706826531.json │ │ │ │ └── run-1706826537.json │ │ │ ├── UpdateFeeVaultRecipient.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1706556198.json │ │ │ └── UpgradeFeeVaultProxy.s.sol/ │ │ │ └── 84532/ │ │ │ └── run-1706827667.json │ │ └── script/ │ │ ├── DeployBalanceTracker.s.sol │ │ ├── DeployFeeDisburser.s.sol │ │ ├── DeployNewFeeVaults.s.sol │ │ └── UpgradeFeeVaultProxy.s.sol │ ├── 2024-02-28-pause-unpause-portal/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── PausePortal.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1709751738.json │ │ │ └── UnpausePortal.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1709755240.json │ │ └── script/ │ │ ├── PausePortal.s.sol │ │ └── UnpausePortal.s.sol │ ├── 2024-03-07-ecotone-sysconfig-updates/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasConfig.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1709934684.json │ │ └── script/ │ │ └── UpdateGasConfig.sol │ ├── 2024-03-26-increase-gas-limit/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasLimit.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1711511753.json │ │ └── script/ │ │ └── UpdateGasLimit.sol │ ├── 2024-04-10-deploy-ERC20Factory/ │ │ ├── Makefile │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── RunERC20FactoryDeploy.s.sol/ │ │ │ └── 84532/ │ │ │ ├── run-1712769228.json │ │ │ ├── run-1712947267.json │ │ │ └── run-1713280540.json │ │ └── script/ │ │ └── RunERC20FactoryDeploy.s.sol │ ├── 2024-04-30-deployTempERC20Factory/ │ │ ├── Makefile │ │ ├── deployed/ │ │ │ └── addresses.json │ │ ├── foundry.toml │ │ ├── inputs/ │ │ │ ├── construct-config.sh │ │ │ ├── deploy-config.json │ │ │ └── misc-config.json │ │ ├── records/ │ │ │ └── RunDeployERC20Factory.sol/ │ │ │ └── 84532/ │ │ │ └── run-1714484076.json │ │ ├── script/ │ │ │ └── RunDeployERC20Factory.sol │ │ └── src/ │ │ └── ERC20Factory.sol │ ├── 2024-05-30-transfer-proxyadmin-owners/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── TransferL1ProxyAdminOwner.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1717448862.json │ │ │ ├── TransferL2ProxyAdminOwner.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1717448942.json │ │ │ └── TransferSystemConfigProxyOwner.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1717449020.json │ │ └── script/ │ │ ├── TransferL1ProxyAdminOwner.s.sol │ │ ├── TransferL2ProxyAdminOwner.s.sol │ │ └── TransferSystemConfigProxyOwner.s.sol │ ├── 2024-08-26-update-batcher-hash/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateBatcherHash.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1724971345.json │ │ └── script/ │ │ ├── RollbackBatcherHash.s.sol │ │ └── UpdateBatcherHash.s.sol │ ├── 2024-09-11-deploy-new-PDG/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployNewPDG.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1726092565.json │ │ └── script/ │ │ └── DeployNewPDG.s.sol │ ├── 2024-09-11-update-proposer/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateProposer.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1726095157.json │ │ └── script/ │ │ ├── RollbackProposer.s.sol │ │ └── UpdateProposer.s.sol │ ├── 2024-10-09-increase-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── records/ │ │ └── UpgradeGasLimit.sol/ │ │ └── 11155111/ │ │ └── run-1728578106.json │ ├── 2024-12-06-increase-max-gas-limit/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ └── max-gas-limit.patch │ │ ├── records/ │ │ │ └── UpgradeSystemConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1733527237.json │ │ └── script/ │ │ ├── DeploySystemConfig.s.sol │ │ └── UpgradeSystemConfig.s.sol │ ├── 2025-01-23-upgrade-balance-tracker/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeBalanceTracker.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1738252251.json │ │ └── script/ │ │ └── UpgradeBalanceTracker.s.sol │ ├── 2025-02-14-upgrade-fault-proofs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployDisputeGames.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1740598045.json │ │ │ └── UpgradeDGF.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1740768733.json │ │ └── script/ │ │ ├── DeployDisputeGames.s.sol │ │ └── UpgradeDGF.s.sol │ ├── 2025-03-12-upgrade-fault-proofs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployDisputeGames.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── run-1741808714.json │ │ │ │ └── run-1743014041.json │ │ │ └── UpgradeDGF.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1741902924.json │ │ │ ├── run-1743022548.json │ │ │ ├── run-1743022789.json │ │ │ └── run-1743022908.json │ │ └── script/ │ │ ├── DeployDisputeGames.s.sol │ │ └── UpgradeDGF.s.sol │ ├── 2025-03-14-mirror-mainnet-hierarchy/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── Validation.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeploySafes.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── run-1742037481.json │ │ │ │ └── run-1742418121.json │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1742902176.json │ │ └── script/ │ │ ├── DeploySafes.s.sol │ │ └── UpdateSigners.s.sol │ ├── 2025-04-01-nested-ownership-transfer/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeploySafes.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1744716601.json │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1744741044.json │ │ └── script/ │ │ ├── DeploySafes.s.sol │ │ └── UpdateSigners.s.sol │ ├── 2025-04-09-testnet-multisig-signers/ │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1744919029.json │ │ │ └── run-1744919545.json │ │ ├── script/ │ │ │ └── UpdateSigners.s.sol │ │ └── validations/ │ │ ├── SafeA.md │ │ └── SafeB.md │ ├── 2025-04-14-upgrade-fault-proofs/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployDisputeGames.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1744743721.json │ │ │ └── UpgradeDGF.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── approveOnBehalfOfIntermediateSafe-latest.json │ │ │ ├── approveOnBehalfOfSignerSafe-latest.json │ │ │ ├── run-1744822945.json │ │ │ ├── run-1744823305.json │ │ │ ├── run-1744823401.json │ │ │ ├── run-1744823689.json │ │ │ └── run-1744823785.json │ │ ├── script/ │ │ │ ├── DeployDisputeGames.s.sol │ │ │ └── UpgradeDGF.s.sol │ │ └── validations/ │ │ ├── NestedSafeB.md │ │ ├── SafeA.md │ │ └── SafeB.md │ ├── 2025-05-08-update-fee-disperser-ownership/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── OwnershipTransfer.s.sol/ │ │ │ └── 84532/ │ │ │ └── run-1748360700.json │ │ └── script/ │ │ └── OwnershipTransfer.s.sol │ ├── 2025-05-15-eip1559-denominator-reduction/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── ReduceEip1559Denominator.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1748365405.json │ │ │ ├── run-1748365537.json │ │ │ ├── run-1748366042.json │ │ │ ├── run-1748366112.json │ │ │ └── run-1748366149.json │ │ ├── script/ │ │ │ └── ReduceEip1559Denominator.s.sol │ │ └── validations/ │ │ ├── CB_NESTED_COORDINATOR.md │ │ ├── MOCK_OP_NESTED.md │ │ └── MOCK_OP_NESTED_COORDINATOR.md │ ├── 2025-06-04-upgrade-system-config/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ └── max-gas-limit.patch │ │ ├── records/ │ │ │ └── UpgradeSystemConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1749236088.json │ │ │ ├── run-1749236197.json │ │ │ ├── run-1749236268.json │ │ │ ├── run-1749236318.json │ │ │ └── run-1749236365.json │ │ ├── script/ │ │ │ ├── DeploySystemConfig.s.sol │ │ │ └── UpgradeSystemConfig.s.sol │ │ └── validations/ │ │ ├── BASE_NESTED_VALIDATION.md │ │ ├── BASE_SC_VALIDATION.md │ │ └── OP_VALIDATION.md │ ├── 2025-09-22-upgrade-to-U16a/ │ │ ├── README.md │ │ ├── records/ │ │ │ └── OPCMUpgradeV410.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ └── execute-latest.json │ │ └── validation.yml │ ├── 2025-10-09-fusaka-defense/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployDisputeGames.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1760020249278.json │ │ │ └── UpgradeDGF.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1760121901524.json │ │ │ ├── run-1760122214430.json │ │ │ ├── run-1760122500830.json │ │ │ ├── run-1760122572937.json │ │ │ └── run-1760122597545.json │ │ ├── script/ │ │ │ ├── DeployDisputeGames.s.sol │ │ │ └── UpgradeDGF.s.sol │ │ └── validations/ │ │ ├── BASE_NESTED_VALIDATION.json │ │ ├── BASE_SC_VALIDATION.json │ │ └── OP_VALIDATION.json │ ├── 2025-10-17-base-bridge-alpha-deployment/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── config.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployBridge.s.sol/ │ │ │ └── 84532/ │ │ │ └── run-1761064051180.json │ │ └── script/ │ │ └── DeployBridge.s.sol │ ├── 2025-10-17-base-bridge-deployment/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── config.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployBridge.s.sol/ │ │ │ └── 84532/ │ │ │ └── run-1761256132305.json │ │ └── script/ │ │ └── DeployBridge.s.sol │ ├── 2025-10-23-pause-bridge-base/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── PauseBridge.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1761250009978.json │ │ │ └── run-1761251184644.json │ │ ├── script/ │ │ │ └── PauseBridge.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-10-24-pause-bridge-base/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── PauseBridge.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1761340416907.json │ │ │ └── run-1761340908642.json │ │ └── script/ │ │ └── PauseBridge.s.sol │ ├── 2025-11-03-incident-multisig-signers/ │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateSigners.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1763579592746.json │ │ │ └── run-1763579822181.json │ │ ├── script/ │ │ │ └── UpdateSigners.s.sol │ │ └── validations/ │ │ ├── base-signer-safe-b.json │ │ └── base-signer.json │ ├── 2025-11-07-deploy-cb-multicall/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployCBMulticall.s.sol/ │ │ │ └── 84532/ │ │ │ └── run-1763158491374.json │ │ └── script/ │ │ └── DeployCBMulticall.s.sol │ ├── 2025-11-07-upgrade-fault-proofs/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpgradeWithOpSmartContractManager.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1763474377488.json │ │ │ ├── run-1763474533668.json │ │ │ ├── run-1763474617427.json │ │ │ ├── run-1763475097893.json │ │ │ └── run-1763475193401.json │ │ ├── script/ │ │ │ └── UpgradeWithOpSmartContractManager.sol │ │ └── validations/ │ │ ├── cb-sc-signer.json │ │ ├── cb-signer.json │ │ └── op-signer.json │ ├── 2025-11-13-update-bridge-alpha-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── config.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployBridgeUpdates.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1763085530401.json │ │ │ ├── DeployRelayerOrchestrator.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1763155993182.json │ │ │ └── UpdateConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1763153760858.json │ │ ├── script/ │ │ │ ├── DeployBridgeUpdates.s.sol │ │ │ ├── DeployRelayerOrchestrator.s.sol │ │ │ └── UpdateConfig.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2025-11-17-deploy-cb-multicall/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── DeployCBMulticall.s.sol/ │ │ │ ├── 11155111/ │ │ │ │ └── run-1763419468025.json │ │ │ └── 84532/ │ │ │ └── run-1763646033790.json │ │ └── script/ │ │ └── DeployCBMulticall.s.sol │ ├── 2025-11-18-set-jovian-parameters/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetJovianParameters.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1763670505775.json │ │ │ ├── run-1763670600765.json │ │ │ ├── run-1763670925854.json │ │ │ ├── run-1763671068364.json │ │ │ └── run-1763671153225.json │ │ ├── script/ │ │ │ └── SetJovianParameters.s.sol │ │ └── validations/ │ │ ├── cb-sc-signer.json │ │ ├── cb-signer.json │ │ └── op-signer.json │ ├── 2025-11-30-systemconfig-ownership-transfer/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferSystemConfigOwnership.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1765915333831.json │ │ │ ├── run-1765915416897.json │ │ │ ├── run-1765915501219.json │ │ │ ├── run-1765921561047.json │ │ │ └── run-1765921633335.json │ │ ├── script/ │ │ │ └── TransferSystemConfigOwnership.s.sol │ │ └── validations/ │ │ ├── base-security-council-signer.json │ │ ├── coinbase-signer.json │ │ └── optimism-signer.json │ ├── 2025-12-22-update-bridge-alpha-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── config.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployBridgeUpdates.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1766435915533.json │ │ │ └── UpdateConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1768497928010.json │ │ ├── script/ │ │ │ ├── DeployBridgeUpdates.s.sol │ │ │ └── UpdateConfig.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2026-01-08-op-stack-upgrade-18/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── ExecuteOPCM.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1769124709630.json │ │ │ ├── run-1769124924971.json │ │ │ ├── run-1769124949237.json │ │ │ ├── run-1769125249283.json │ │ │ └── run-1769125284359.json │ │ ├── script/ │ │ │ └── ExecuteOPCM.s.sol │ │ └── validations/ │ │ ├── coinbase-signer.json │ │ ├── optimism-signer.json │ │ └── security-council-signer.json │ ├── 2026-02-10-update-system-config-params/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateSystemConfigParams.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1770758365511.json │ │ ├── script/ │ │ │ └── UpdateSystemConfigParams.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2026-02-17-update-min-base-fee/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── SetMinBaseFee.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1771531286745.json │ │ ├── script/ │ │ │ └── SetMinBaseFee.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-02-19-superchain-separation/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployFeeDisburser.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1771950276941.json │ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1771980781445.json │ │ │ ├── UpdateCBSafeSigners.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── approve-latest.json │ │ │ │ ├── run-1772144713483.json │ │ │ │ ├── run-1772144796912.json │ │ │ │ └── run-1772144844778.json │ │ │ ├── UpgradeFeeDisburser.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1772145098001.json │ │ │ └── UpgradeSystemConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1772144904683.json │ │ │ ├── run-1772144942393.json │ │ │ └── run-1772144989624.json │ │ ├── script/ │ │ │ ├── DeployFeeDisburser.s.sol │ │ │ ├── DeploySuperchainConfigAndSystemConfig.s.sol │ │ │ ├── UpdateCBSafeSigners.s.sol │ │ │ ├── UpgradeFeeDisburser.s.sol │ │ │ └── UpgradeSystemConfig.s.sol │ │ └── validations/ │ │ ├── base-signer-part-1.json │ │ ├── base-signer-part-2.json │ │ ├── base-signer-part-3.json │ │ ├── security-council-signer-part-1.json │ │ └── security-council-signer-part-2.json │ ├── 2026-02-27-pause-superchain-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── PauseSuperchainConfig.s.sol │ ├── 2026-03-06-transfer-system-config-ownership/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferSystemConfigOwnership.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1773937909385.json │ │ ├── script/ │ │ │ └── TransferSystemConfigOwnership.s.sol │ │ └── validations/ │ │ └── coinbase-signer.json │ ├── 2026-03-11-patch-fee-disburser/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ ├── fee-disburser-semver.patch │ │ │ └── ifee-vault-withdraw.patch │ │ ├── records/ │ │ │ ├── DeployFeeDisburser.s.sol/ │ │ │ │ └── 84532/ │ │ │ │ └── run-1773252087364.json │ │ │ └── UpgradeFeeDisburser.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1773335017410.json │ │ ├── script/ │ │ │ ├── DeployFeeDisburser.s.sol │ │ │ └── UpgradeFeeDisburser.s.sol │ │ └── validations/ │ │ └── base-signer.json │ ├── 2026-03-25-increase-gas-and-elasticity-limit/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1774464540781.json │ │ ├── script/ │ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ │ └── validations/ │ │ ├── base-signer-rollback.json │ │ └── base-signer.json │ ├── 2026-04-20-activate-multiproof/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── patch/ │ │ │ └── asr-reset-anchor-game.patch │ │ ├── records/ │ │ │ ├── ActivateMultiproofStack.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── approve-latest.json │ │ │ │ ├── run-1776392629127.json │ │ │ │ ├── run-1776392724858.json │ │ │ │ └── run-1776392808986.json │ │ │ ├── DeployMultiproofStack.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── run-1776362103158.json │ │ │ │ └── run-1776380209255.json │ │ │ ├── DeployNitroVerifier.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ ├── run-1776361698333.json │ │ │ │ └── run-1776379902060.json │ │ │ └── SetupNitroEnclaveVerifier.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1776362557749.json │ │ │ └── run-1776380244914.json │ │ ├── script/ │ │ │ ├── ActivateMultiproofStack.s.sol │ │ │ ├── DeployMultiproofStack.s.sol │ │ │ ├── DeployNitroVerifier.s.sol │ │ │ └── SetupNitroEnclaveVerifier.s.sol │ │ └── validations/ │ │ ├── multiproof-cb-signer.json │ │ └── multiproof-sc-signer.json │ ├── 2026-04-23-update-zk-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── addresses.json │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployAggregateVerifier.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1777030531899.json │ │ │ ├── DeployZkVerifier.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1777030330468.json │ │ │ └── UpdateZkConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1777051057133.json │ │ │ ├── run-1777051117884.json │ │ │ └── run-1777051382241.json │ │ ├── script/ │ │ │ ├── DeployAggregateVerifier.s.sol │ │ │ ├── DeployZkVerifier.s.sol │ │ │ └── UpdateZkConfig.s.sol │ │ └── validations/ │ │ ├── update-zk-config-cb-signer.json │ │ └── update-zk-config-sc-signer.json │ └── signatures/ │ ├── 2026-02-19-superchain-separation/ │ │ ├── base-facilitator-signature.json │ │ ├── base-sc-facilitator-signature.json │ │ └── creator-signature.json │ ├── 2026-03-06-transfer-system-config-ownership/ │ │ ├── base-facilitator-signature.json │ │ ├── base-sc-facilitator-signature.json │ │ └── creator-signature.json │ ├── 2026-03-11-patch-fee-disburser/ │ │ ├── base-facilitator-signature.json │ │ ├── base-sc-facilitator-signature.json │ │ └── creator-signature.json │ └── 2026-03-25-increase-gas-and-elasticity-limit/ │ ├── base-facilitator-signature.json │ ├── base-sc-facilitator-signature.json │ └── creator-signature.json ├── sepolia-alpha/ │ ├── 2023-09-20-deploy/ │ │ ├── Makefile │ │ ├── deploy-config/ │ │ │ └── deploy-config.json │ │ ├── deployed/ │ │ │ └── addresses.json │ │ └── foundry.toml │ ├── 2023-10-06-upgrade-l1-standard-bridge/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ ├── DeployL1StandardBridge.s.sol/ │ │ │ │ └── 11155111/ │ │ │ │ └── run-1696723112.json │ │ │ └── UpgradeL1StandardBridge.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1696723324.json │ │ └── script/ │ │ ├── DeployL1StandardBridge.s.sol │ │ └── UpgradeL1StandardBridge.s.sol │ ├── 2024-05-15-update-scalars/ │ │ ├── Makefile │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateGasConfig.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1715900079.json │ │ └── script/ │ │ └── UpdateGasConfig.s.sol │ ├── 2024-08-21-update-batcher-proposer/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── UpdateProposer.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1724856389.json │ │ └── script/ │ │ ├── RollbackBatcherHash.s.sol │ │ ├── RollbackProposer.s.sol │ │ ├── UpdateBatcherHash.s.sol │ │ └── UpdateProposer.s.sol │ ├── 2024-11-19-holocene-contracts/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── foundry.toml │ │ └── script/ │ │ ├── DeploySystemConfig.s.sol │ │ ├── SetEIP1559Params.s.sol │ │ └── UpgradeSystemConfig.s.sol │ ├── 2025-04-08-transfer-proxy-admin-ownership-to-safe/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferOwnership.s.sol/ │ │ │ └── 11155111/ │ │ │ ├── run-1744830889.json │ │ │ └── run-1744830912.json │ │ └── script/ │ │ └── TransferOwnership.s.sol │ ├── 2025-11-03-transfer-systemconfig-ownership-to-safe/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── VALIDATION.md │ │ ├── foundry.toml │ │ ├── records/ │ │ │ └── TransferSystemConfigOwnership.s.sol/ │ │ │ └── 11155111/ │ │ │ └── run-1764627721931.json │ │ └── script/ │ │ └── TransferSystemConfigOwnership.s.sol │ └── 2026-02-23-update-system-config-params/ │ ├── Makefile │ ├── README.md │ ├── foundry.toml │ ├── records/ │ │ └── UpdateSystemConfigParams.s.sol/ │ │ └── 11155111/ │ │ ├── approve-latest.json │ │ ├── run-1771883161260.json │ │ ├── run-1771883761465.json │ │ ├── run-1771883845778.json │ │ ├── run-1771884061108.json │ │ └── run-1771884193061.json │ ├── script/ │ │ └── UpdateSystemConfigParams.s.sol │ └── validations/ │ ├── base-signer.json │ ├── optimism-signer.json │ └── security-council-signer.json ├── setup-templates/ │ ├── template-funding/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ ├── funding.json │ │ └── script/ │ │ └── Fund.s.sol │ ├── template-gas-and-elasticity-increase/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol │ ├── template-gas-increase/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ └── foundry.toml │ ├── template-generic/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ ├── BasicScript.s.sol │ │ └── CounterMultisigScript.s.sol │ ├── template-pause-bridge-base/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── PauseBridge.s.sol │ ├── template-pause-superchain-config/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── PauseSuperchainConfig.s.sol │ ├── template-safe-management/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── OwnerDiff.json │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── UpdateSigners.s.sol │ ├── template-set-bridge-partner-threshold/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── SetThreshold.s.sol │ ├── template-switch-to-permissioned-game/ │ │ ├── FACILITATOR.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── foundry.toml │ │ └── script/ │ │ └── SwitchToPermissionedGame.sol │ └── template-upgrade-fault-proofs/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── foundry.toml │ └── script/ │ ├── DeployDisputeGames.s.sol │ └── UpgradeDGF.s.sol ├── solana/ │ ├── MCM.mk │ ├── Makefile │ ├── devnet/ │ │ ├── 2025-10-20-deploy-mcm/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── accept_ownership_proposal.json │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-deploy-artifacts.json │ │ │ │ ├── mcm-multisig-init.json │ │ │ │ ├── mcm-ownership-transfer.json │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ ├── mcm-signers-append.json │ │ │ │ ├── mcm-signers-finalize.json │ │ │ │ ├── mcm-signers-init.json │ │ │ │ ├── mcm-signers-set-config.json │ │ │ │ └── set-upgrade-authority-artifacts.json │ │ │ └── patches/ │ │ │ ├── eip712.patch │ │ │ └── invoke_signed.patch │ │ ├── 2025-10-22-mcm-upgrade/ │ │ │ ├── .gitignore │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ └── set-buffer-authority-artifacts.json │ │ │ ├── patches/ │ │ │ │ ├── eip712.patch │ │ │ │ ├── id.patch │ │ │ │ ├── invoke_signed.patch │ │ │ │ └── simplify_eip712.patch │ │ │ └── proposal.json │ │ ├── 2025-10-23-deploy-bridge/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ └── artifacts/ │ │ │ ├── base-relayer-deploy-artifacts.json │ │ │ ├── bridge-deploy-artifacts.json │ │ │ ├── fund-gas-fee-receiver.json │ │ │ ├── fund-sol-vault.json │ │ │ ├── init-base-relayer.json │ │ │ ├── init-bridge.json │ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json │ │ │ └── set-bridge-upgrade-authority-artifacts.json │ │ ├── 2025-10-24-mcm-pause-unpause-bridge/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-pause-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ └── mcm-unpause-proposal-execute.json │ │ │ └── proposal.json │ │ └── 2025-10-24-mcm-program-upgrade/ │ │ ├── .gitignore │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── artifacts/ │ │ │ ├── mcm-proposal-execute.json │ │ │ ├── mcm-proposal-set-root.json │ │ │ ├── mcm-signatures-append.json │ │ │ ├── mcm-signatures-finalize.json │ │ │ ├── mcm-signatures-init.json │ │ │ └── set-buffer-authority-artifacts.json │ │ ├── patches/ │ │ │ └── id.patch │ │ └── proposal.json │ ├── devnet-alpha/ │ │ ├── 2025-10-20-deploy-bridge/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ └── artifacts/ │ │ │ ├── base-relayer-deploy-artifacts.json │ │ │ ├── bridge-deploy-artifacts.json │ │ │ ├── fund-gas-fee-receiver.json │ │ │ ├── fund-sol-vault.json │ │ │ ├── init-base-relayer.json │ │ │ ├── init-bridge.json │ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json │ │ │ └── set-bridge-upgrade-authority-artifacts.json │ │ ├── 2025-10-23-mcm-set-pause-bridge/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ └── mcm-signatures-init.json │ │ │ └── proposal.json │ │ ├── 2025-10-23-mcm-unpause-bridge/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ └── mcm-signatures-init.json │ │ │ └── proposal.json │ │ ├── 2025-10-24-mcm-pause-unpause-bridge/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-pause-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ └── mcm-unpause-proposal-execute.json │ │ │ └── proposal.json │ │ ├── 2025-11-14-update-bridge-config/ │ │ │ ├── .gitignore │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute-op1.json │ │ │ │ ├── mcm-proposal-execute-op2.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ └── set-buffer-authority-artifacts.json │ │ │ ├── patches/ │ │ │ │ └── id.patch │ │ │ └── proposal.json │ │ ├── 2025-12-01-upgrade-bridge-and-rollback/ │ │ │ ├── .gitignore │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-rollback-execute.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ ├── mcm-signatures-init.json │ │ │ │ ├── mcm-upgrade-execute.json │ │ │ │ ├── set-buffer-authority-artifacts.json │ │ │ │ └── set-rollback-buffer-authority-artifacts.json │ │ │ ├── patches/ │ │ │ │ └── upgrade.patch │ │ │ └── proposal.json │ │ └── 2025-12-22-update-bridge-config/ │ │ ├── .gitignore │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── artifacts/ │ │ │ ├── mcm-proposal-execute.json │ │ │ ├── mcm-proposal-set-root.json │ │ │ ├── mcm-signatures-append.json │ │ │ ├── mcm-signatures-finalize.json │ │ │ └── mcm-signatures-init.json │ │ └── proposal.json │ ├── mainnet/ │ │ ├── 2025-10-27-deploy-mcm/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── accept_ownership_proposal_0.json │ │ │ ├── accept_ownership_proposal_1.json │ │ │ └── artifacts/ │ │ │ ├── fund-mcm-authority-0.json │ │ │ ├── fund-mcm-authority-1.json │ │ │ ├── mcm-deploy-artifacts.json │ │ │ ├── mcm-multisig-init-0.json │ │ │ ├── mcm-multisig-init-1.json │ │ │ ├── mcm-ownership-transfer-0.json │ │ │ ├── mcm-ownership-transfer-1.json │ │ │ ├── mcm-proposal-execute-0.json │ │ │ ├── mcm-proposal-execute-1.json │ │ │ ├── mcm-proposal-set-root-0.json │ │ │ ├── mcm-proposal-set-root-1.json │ │ │ ├── mcm-signatures-append-0.json │ │ │ ├── mcm-signatures-append-1.json │ │ │ ├── mcm-signatures-finalize-0.json │ │ │ ├── mcm-signatures-finalize-1.json │ │ │ ├── mcm-signatures-init-0.json │ │ │ ├── mcm-signatures-init-1.json │ │ │ ├── mcm-signers-append-0.json │ │ │ ├── mcm-signers-append-1.json │ │ │ ├── mcm-signers-finalize-0.json │ │ │ ├── mcm-signers-finalize-1.json │ │ │ ├── mcm-signers-init-0.json │ │ │ ├── mcm-signers-init-1.json │ │ │ ├── mcm-signers-set-config-0.json │ │ │ ├── mcm-signers-set-config-1.json │ │ │ └── set-upgrade-authority-artifacts.json │ │ ├── 2025-10-27-signers-update-mcm-0/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ └── mcm-signatures-init.json │ │ │ └── proposal.json │ │ ├── 2025-10-27-signers-update-mcm-1/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ └── mcm-signatures-init.json │ │ │ └── proposal.json │ │ ├── 2025-10-29-deploy-bridge/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ └── artifacts/ │ │ │ ├── base-relayer-deploy-artifacts.json │ │ │ ├── bridge-deploy-artifacts.json │ │ │ ├── fund-gas-fee-receiver.json │ │ │ ├── fund-sol-vault.json │ │ │ ├── init-base-relayer.json │ │ │ ├── init-bridge.json │ │ │ ├── set-base-relayer-upgrade-authority-artifacts.json │ │ │ └── set-bridge-upgrade-authority-artifacts.json │ │ ├── 2025-12-01-set-pause-bridge/ │ │ │ ├── FACILITATORS.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── artifacts/ │ │ │ │ ├── mcm-proposal-execute.json │ │ │ │ ├── mcm-proposal-set-root.json │ │ │ │ ├── mcm-signatures-append.json │ │ │ │ ├── mcm-signatures-clear.json │ │ │ │ ├── mcm-signatures-finalize.json │ │ │ │ └── mcm-signatures-init.json │ │ │ ├── proposal-pause.json │ │ │ └── proposal-unpause.json │ │ └── 2025-12-01-upgrade-bridge-and-rollback/ │ │ ├── .gitignore │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ ├── README.md │ │ ├── artifacts/ │ │ │ ├── mcm-proposal-set-root.json │ │ │ ├── mcm-rollback-execute.json │ │ │ ├── mcm-signatures-append.json │ │ │ ├── mcm-signatures-finalize.json │ │ │ ├── mcm-signatures-init.json │ │ │ ├── mcm-upgrade-execute.json │ │ │ ├── set-buffer-authority-artifacts.json │ │ │ └── set-rollback-buffer-authority-artifacts.json │ │ ├── patches/ │ │ │ └── upgrade.patch │ │ └── proposal.json │ └── setup-templates/ │ ├── template-set-pause-bridge/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ └── README.md │ ├── template-update-signers-mcm/ │ │ ├── FACILITATORS.md │ │ ├── Makefile │ │ └── README.md │ └── template-upgrade-bridge/ │ ├── .gitignore │ ├── FACILITATORS.md │ ├── Makefile │ └── README.md └── zeronet/ ├── 2026-03-19-deploy-proxy-admin/ │ ├── DeployNestedOwnership.sol │ ├── Makefile │ ├── README.md │ ├── addresses.json │ ├── deployed-addresses.json │ ├── foundry.toml │ └── records/ │ └── DeployNestedOwnership.sol/ │ └── 560048/ │ └── run-1773955648605.json ├── 2026-04-01-activate-multiproof/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── addresses.json │ ├── foundry.toml │ ├── patch/ │ │ └── asr-reset-anchor-game.patch │ ├── records/ │ │ ├── ActivateMultiproofStack.s.sol/ │ │ │ └── 560048/ │ │ │ ├── approve-latest.json │ │ │ ├── run-1775141210100.json │ │ │ ├── run-1775141247929.json │ │ │ └── run-1775141298391.json │ │ ├── DeployMultiproofStack.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1775133494692.json │ │ ├── DeployNitroVerifier.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1775133374708.json │ │ └── SetupNitroEnclaveVerifier.s.sol/ │ │ └── 560048/ │ │ └── run-1775133542995.json │ ├── script/ │ │ ├── ActivateMultiproofStack.s.sol │ │ ├── DeployCBMulticall.s.sol │ │ ├── DeployMultiproofStack.s.sol │ │ ├── DeployNitroVerifier.s.sol │ │ └── SetupNitroEnclaveVerifier.s.sol │ └── validations/ │ ├── multiproof-cb-signer.json │ └── multiproof-sc-signer.json ├── 2026-04-07-upgrade-tee-registry-nitro/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── addresses.json │ ├── foundry.toml │ ├── records/ │ │ ├── DeployAggregateVerifier.s.sol/ │ │ │ └── 560048/ │ │ │ ├── run-1776099026069.json │ │ │ └── run-1776283494080.json │ │ ├── DeployAndSetupNitro.s.sol/ │ │ │ └── 560048/ │ │ │ ├── run-1776098805552.json │ │ │ └── run-1776283373418.json │ │ ├── DeployTeeProverRegistryImpl.s.sol/ │ │ │ └── 560048/ │ │ │ ├── run-1776098855904.json │ │ │ └── run-1776283437409.json │ │ └── UpgradeTEEProverRegistry.s.sol/ │ │ └── 560048/ │ │ ├── approve-latest.json │ │ ├── run-1776366039649.json │ │ ├── run-1776366145163.json │ │ └── run-1776366338393.json │ ├── script/ │ │ ├── DeployAggregateVerifier.s.sol │ │ ├── DeployAndSetupNitro.s.sol │ │ ├── DeployTEEProverRegistryImpl.s.sol │ │ └── UpgradeTEEProverRegistry.s.sol │ └── validations/ │ ├── upgrade-tee-registry-cb-signer.json │ └── upgrade-tee-registry-sc-signer.json ├── 2026-04-17-fix-nitro-verifier/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── foundry.toml │ ├── records/ │ │ └── FixNitroVerifierId.s.sol/ │ │ └── 560048/ │ │ └── run-1776445069900.json │ ├── script/ │ │ └── FixNitroVerifierId.s.sol │ └── validations/ │ └── fix-nitro-verifier-cb-signer.json ├── 2026-04-17-fix-tee-image-hash/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── addresses.json │ ├── foundry.toml │ ├── records/ │ │ ├── DeployAggregateVerifier.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1776453426877.json │ │ └── FixTeeImageHash.s.sol/ │ │ └── 560048/ │ │ ├── approve-latest.json │ │ ├── run-1776456290482.json │ │ ├── run-1776456325644.json │ │ └── run-1776456384746.json │ ├── script/ │ │ ├── DeployAggregateVerifier.s.sol │ │ └── FixTeeImageHash.s.sol │ └── validations/ │ ├── fix-tee-image-hash-cb-signer.json │ └── fix-tee-image-hash-sc-signer.json ├── 2026-04-21-update-zk-config/ │ ├── FACILITATOR.md │ ├── Makefile │ ├── README.md │ ├── addresses.json │ ├── foundry.toml │ ├── patch/ │ │ └── asr-reset-anchor-game.patch │ ├── records/ │ │ ├── DeployAggregateVerifier.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1776963810337.json │ │ ├── DeployAnchorStateRegistry.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1776963870263.json │ │ ├── DeployZkVerifier.s.sol/ │ │ │ └── 560048/ │ │ │ └── run-1776963357472.json │ │ └── UpdateZkConfig.s.sol/ │ │ └── 560048/ │ │ ├── approve-latest.json │ │ ├── run-1776973851527.json │ │ ├── run-1776974090194.json │ │ └── run-1776974497944.json │ ├── script/ │ │ ├── DeployAggregateVerifier.s.sol │ │ ├── DeployAnchorStateRegistry.s.sol │ │ ├── DeployZkVerifier.s.sol │ │ └── UpdateZkConfig.s.sol │ └── validations/ │ ├── update-zk-config-cb-signer.json │ └── update-zk-config-sc-signer.json └── 2026-04-23-fix-starting-anchor-root/ ├── FACILITATOR.md ├── Makefile ├── README.md ├── addresses.json ├── foundry.toml ├── patch/ │ └── asr-reset-anchor-game.patch ├── records/ │ ├── DeployAnchorStateRegistry.s.sol/ │ │ └── 560048/ │ │ └── run-1776984413388.json │ └── FixStartingAnchorRoot.s.sol/ │ └── 560048/ │ ├── approve-latest.json │ ├── run-1776985056998.json │ ├── run-1776985945169.json │ └── run-1776985969684.json ├── script/ │ ├── DeployAnchorStateRegistry.s.sol │ └── FixStartingAnchorRoot.s.sol └── validations/ ├── fix-starting-anchor-root-cb-signer.json └── fix-starting-anchor-root-sc-signer.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .codeflow.yml ================================================ secure: required_reviews: 2 requires_mfa: true ================================================ FILE: .github/workflows/validate-templates.yml ================================================ name: Validate Templates on: pull_request: push: branches: [main] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: validate-template: name: ${{ matrix.template }} runs-on: ubuntu-latest strategy: matrix: include: - template: template-generic setup_target: "setup-task" setup_args: "network=sepolia task=ci-test" task_dir_suffix: ci-test - template: template-funding setup_target: "setup-funding" setup_args: "network=sepolia" task_dir_suffix: funding - template: template-gas-increase setup_target: "setup-gas-increase" setup_args: "network=sepolia" task_dir_suffix: increase-gas-limit - template: template-gas-and-elasticity-increase setup_target: "setup-gas-and-elasticity-increase" setup_args: "network=sepolia" task_dir_suffix: increase-gas-and-elasticity-limit - template: template-safe-management setup_target: "setup-safe-management" setup_args: "network=sepolia" task_dir_suffix: safe-management - template: template-upgrade-fault-proofs setup_target: "setup-upgrade-fault-proofs" setup_args: "network=sepolia" task_dir_suffix: upgrade-fault-proofs - template: template-pause-bridge-base setup_target: "setup-bridge-pause" setup_args: "network=sepolia" task_dir_suffix: pause-bridge-base - template: template-pause-superchain-config setup_target: "setup-superchain-config-pause" setup_args: "network=sepolia" task_dir_suffix: pause-superchain-config - template: template-set-bridge-partner-threshold setup_target: "setup-bridge-partner-threshold" setup_args: "network=sepolia" task_dir_suffix: pause-bridge-base - template: template-switch-to-permissioned-game setup_target: "setup-switch-to-permissioned-game" setup_args: "network=sepolia" task_dir_suffix: switch-to-permissioned-game fail-fast: false steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@a90bcbc6539c36a85cdfeb73f7e2f433735f215b # v2.15.0 with: egress-policy: audit - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 # ── Foundry ────────────────────────────────────────────────────── - name: Install Foundry uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de # v1.4.0 with: version: stable # ── Setup & Dependencies ──────────────────────────────────────── - name: Create sample task from template id: setup run: | make ${{ matrix.setup_target }} ${{ matrix.setup_args }} TASK_DIR="sepolia/$(date +'%Y-%m-%d')-${{ matrix.task_dir_suffix }}" echo "task_dir=$TASK_DIR" >> "$GITHUB_OUTPUT" - name: Install dependencies working-directory: ${{ steps.setup.outputs.task_dir }} run: make deps # ── Validation ─────────────────────────────────────────────────── - name: Check Solidity formatting working-directory: ${{ steps.setup.outputs.task_dir }} run: | echo "==> forge fmt --check script/ (${{ matrix.template }})" if ! forge fmt --check script/; then echo "" echo "::error::Formatting check failed for ${{ matrix.template }}. Run 'forge fmt script/' in the template directory to fix." exit 1 fi - name: Build (forge build) working-directory: ${{ steps.setup.outputs.task_dir }} run: | echo "==> forge build (${{ matrix.template }})" if ! forge build; then echo "" echo "::error::Compilation failed for ${{ matrix.template }}. Check imports, types, and dependency versions." exit 1 fi ================================================ FILE: .gitignore ================================================ # Executable cli binary bin/ cache/ out/ lib/ # Localhost and run-latest deploy scripts **/records/**/**/run-latest.json localhost/*/records/ **/records/**/**/dry-run/ # Test binary, built with `go test -c` *.test # Output of the go coverage tool, specifically when used with LiteIDE *.out out/ /.idea/ yarn-error.log .env.local .gitmodules .DS_Store signer-tool/ ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2023-2026 Base Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: Makefile ================================================ FOUNDRY_COMMIT ?= 3b1129b5bc43ba22a9bcf4e4323c5a9df0023140 PROJECT_DIR = $(network)/$(shell date +'%Y-%m-%d')-$(task) GAS_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-limit GAS_AND_ELASTICITY_INCREASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-increase-gas-and-elasticity-limit FAULT_PROOF_UPGRADE_DIR = $(network)/$(shell date +'%Y-%m-%d')-upgrade-fault-proofs SAFE_MANAGEMENT_DIR = $(network)/$(shell date +'%Y-%m-%d')-safe-management FUNDING_DIR = $(network)/$(shell date +'%Y-%m-%d')-funding SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base PAUSE_BRIDGE_BASE_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-bridge-base SWITCH_TO_PERMISSIONED_GAME_DIR=$(network)/$(shell date +'%Y-%m-%d')-switch-to-permissioned-game PAUSE_SUPERCHAIN_CONFIG_DIR = $(network)/$(shell date +'%Y-%m-%d')-pause-superchain-config TEMPLATE_GENERIC = setup-templates/template-generic TEMPLATE_GAS_INCREASE = setup-templates/template-gas-increase TEMPLATE_GAS_AND_ELASTICITY_INCREASE = setup-templates/template-gas-and-elasticity-increase TEMPLATE_UPGRADE_FAULT_PROOFS = setup-templates/template-upgrade-fault-proofs TEMPLATE_SAFE_MANAGEMENT = setup-templates/template-safe-management TEMPLATE_FUNDING = setup-templates/template-funding TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD = setup-templates/template-set-bridge-partner-threshold TEMPLATE_PAUSE_BRIDGE_BASE = setup-templates/template-pause-bridge-base TEMPLATE_SWITCH_TO_PERMISSIONED_GAME = setup-templates/template-switch-to-permissioned-game TEMPLATE_PAUSE_SUPERCHAIN_CONFIG = setup-templates/template-pause-superchain-config ifndef $(GOPATH) GOPATH=$(shell go env GOPATH) export GOPATH endif .PHONY: install-foundry install-foundry: curl -L https://foundry.paradigm.xyz | bash ~/.foundry/bin/foundryup --commit $(FOUNDRY_COMMIT) ## # Project Setup ## # Run `make setup-task network= task=` setup-task: rm -rf $(TEMPLATE_GENERIC)/cache $(TEMPLATE_GENERIC)/lib $(TEMPLATE_GENERIC)/out cp -r $(TEMPLATE_GENERIC) $(PROJECT_DIR) mkdir -p $(network)/signatures/$(notdir $(PROJECT_DIR)) # Run `make setup-gas-increase network=` setup-gas-increase: rm -rf $(TEMPLATE_GAS_INCREASE)/cache $(TEMPLATE_GAS_INCREASE)/lib $(TEMPLATE_GAS_INCREASE)/out cp -r $(TEMPLATE_GAS_INCREASE) $(GAS_INCREASE_DIR) mkdir -p $(network)/signatures/$(notdir $(GAS_INCREASE_DIR)) # Run `make setup-gas-increase network=` setup-gas-and-elasticity-increase: rm -rf $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/cache $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/lib $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE)/out cp -r $(TEMPLATE_GAS_AND_ELASTICITY_INCREASE) $(GAS_AND_ELASTICITY_INCREASE_DIR) mkdir -p $(network)/signatures/$(notdir $(GAS_AND_ELASTICITY_INCREASE_DIR)) # Run `make setup-upgrade-fault-proofs network=` setup-upgrade-fault-proofs: cp -r $(TEMPLATE_UPGRADE_FAULT_PROOFS) $(FAULT_PROOF_UPGRADE_DIR) mkdir -p $(network)/signatures/$(notdir $(FAULT_PROOF_UPGRADE_DIR)) # Run `make setup-safe-management network=` setup-safe-management: rm -rf $(TEMPLATE_SAFE_MANAGEMENT)/cache $(TEMPLATE_SAFE_MANAGEMENT)/lib $(TEMPLATE_SAFE_MANAGEMENT)/out cp -r $(TEMPLATE_SAFE_MANAGEMENT) $(SAFE_MANAGEMENT_DIR) mkdir -p $(network)/signatures/$(notdir $(SAFE_MANAGEMENT_DIR)) # Run `make setup-funding network=` setup-funding: rm -rf $(TEMPLATE_FUNDING)/cache $(TEMPLATE_FUNDING)/lib $(TEMPLATE_FUNDING)/out cp -r $(TEMPLATE_FUNDING) $(FUNDING_DIR) mkdir -p $(network)/signatures/$(notdir $(FUNDING_DIR)) # Run `make setup-bridge-partner-threshold network=` setup-bridge-partner-threshold: rm -rf $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/cache $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/lib $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD)/out cp -r $(TEMPLATE_SET_BASE_BRIDGE_PARTNER_THRESHOLD) $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR) mkdir -p $(network)/signatures/$(notdir $(SET_BASE_BRIDGE_PARTNER_THRESHOLD_DIR)) # Run `make setup-bridge-pause network=` setup-bridge-pause: rm -rf $(TEMPLATE_PAUSE_BRIDGE_BASE)/cache $(TEMPLATE_PAUSE_BRIDGE_BASE)/lib $(TEMPLATE_PAUSE_BRIDGE_BASE)/out cp -r $(TEMPLATE_PAUSE_BRIDGE_BASE) $(PAUSE_BRIDGE_BASE_DIR) mkdir -p $(network)/signatures/$(notdir $(PAUSE_BRIDGE_BASE_DIR)) setup-switch-to-permissioned-game: rm -rf $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/cache $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/lib $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME)/out cp -r $(TEMPLATE_SWITCH_TO_PERMISSIONED_GAME) $(SWITCH_TO_PERMISSIONED_GAME_DIR) mkdir -p $(network)/signatures/$(notdir $(SWITCH_TO_PERMISSIONED_GAME_DIR)) # Run `make setup-superchain-config-pause network=` setup-superchain-config-pause: rm -rf $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/cache $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/lib $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG)/out cp -r $(TEMPLATE_PAUSE_SUPERCHAIN_CONFIG) $(PAUSE_SUPERCHAIN_CONFIG_DIR) mkdir -p $(network)/signatures/$(notdir $(PAUSE_SUPERCHAIN_CONFIG_DIR)) ## # Solidity Setup ## # Pinned tag for openzeppelin-contracts-upgradeable, installed via clone-oz-upgradeable. OZ_UPGRADEABLE_TAG=v4.7.3 .PHONY: deps deps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit .PHONY: install-eip712sign install-eip712sign: go install github.com/base/eip712sign@v0.0.11 .PHONY: clean-lib clean-lib: rm -rf lib .PHONY: forge-deps forge-deps: forge install --no-git github.com/foundry-rs/forge-std@0844d7e1fc5e60d77b68e469bff60265f236c398 \ github.com/OpenZeppelin/openzeppelin-contracts@v4.9.3 \ github.com/rari-capital/solmate@8f9b23f8838670afda0fd8983f2c41e8037ae6bc \ github.com/Saw-mon-and-Natalie/clones-with-immutable-args@105efee1b9127ed7f6fedf139e1fc796ce8791f2 \ github.com/Vectorized/solady@502cc1ea718e6fa73b380635ee0868b0740595f0 \ github.com/ethereum-optimism/lib-keccak@3b1e7bbb4cc23e9228097cfebe42aedaf3b8f2b9 # Clone openzeppelin-contracts-upgradeable at the pinned tag without submodules. # This replaces `forge install --no-git` for this dependency because forge's # internal `git clone --recursive` populates the transitive lib/openzeppelin-contracts # submodule from master before checking out the tag. Git does not remove the # already-populated submodule directory on checkout, leaving an orphaned, # non-deterministic directory that changes day-to-day as master receives new commits. # Using --no-recurse-submodules avoids this entirely and ensures byte-identical # output across runs. .PHONY: clone-oz-upgradeable clone-oz-upgradeable: rm -rf lib/openzeppelin-contracts-upgradeable git clone --no-recurse-submodules --depth 1 --branch $(OZ_UPGRADEABLE_TAG) \ https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git \ lib/openzeppelin-contracts-upgradeable rm -rf lib/openzeppelin-contracts-upgradeable/.git .PHONY: checkout-base-contracts-commit checkout-base-contracts-commit: [ -n "$(BASE_CONTRACTS_COMMIT)" ] || (echo "BASE_CONTRACTS_COMMIT must be set in .env" && exit 1) forge install --no-git github.com/base/contracts@$(BASE_CONTRACTS_COMMIT) ## # Task Signer Tool ## SIGNER_TOOL_COMMIT=db50e4234a5475a3f109e61a83fd047924916b41 SIGNER_TOOL_PATH=signer-tool .PHONY: checkout-signer-tool checkout-signer-tool: [ -n "$(SIGNER_TOOL_COMMIT)" ] || (echo "SIGNER_TOOL_COMMIT must be set in .env" && exit 1) rm -rf $(SIGNER_TOOL_PATH) mkdir -p $(SIGNER_TOOL_PATH) cd $(SIGNER_TOOL_PATH); \ git init; \ git remote add origin https://github.com/base/task-signing-tool.git; \ git fetch --depth=1 origin $(SIGNER_TOOL_COMMIT); \ git reset --hard FETCH_HEAD # Checkout and install signer-tool dependencies (used as a prerequisite by gen-validation targets) .PHONY: deps-signer-tool deps-signer-tool: checkout-signer-tool cd $(SIGNER_TOOL_PATH) && npm ci .PHONY: sign-task sign-task: checkout-signer-tool cd $(SIGNER_TOOL_PATH); \ npm ci; \ npm run dev # Task origin signature variables (auto-derived, overridable). # These targets are designed to be invoked from task subdirectories # (e.g. sepolia/2026-02-19-superchain-separation/) that include this Makefile. TASK_NAME ?= $(notdir $(CURDIR)) SIGNATURE_DIR ?= $(CURDIR)/../signatures/$(TASK_NAME) .PHONY: sign-as-task-creator sign-as-task-creator: deps-signer-tool cd $(SIGNER_TOOL_PATH) && \ npx tsx scripts/genTaskOriginSig.ts sign \ --task-folder $(CURDIR) \ --signature-path $(SIGNATURE_DIR) .PHONY: sign-as-base-facilitator sign-as-base-facilitator: deps-signer-tool cd $(SIGNER_TOOL_PATH) && \ npx tsx scripts/genTaskOriginSig.ts sign \ --task-folder $(CURDIR) \ --signature-path $(SIGNATURE_DIR) \ --facilitator base .PHONY: sign-as-sc-facilitator sign-as-sc-facilitator: deps-signer-tool cd $(SIGNER_TOOL_PATH) && \ npx tsx scripts/genTaskOriginSig.ts sign \ --task-folder $(CURDIR) \ --signature-path $(SIGNATURE_DIR) \ --facilitator security-council ## # Solidity Testing ## .PHONY: solidity-test solidity-test: forge test --ffi -vvv ================================================ FILE: Multisig.mk ================================================ # Multisig.mk — Global macros for multisig approve / execute workflows. # # Every task template should `include ../../Multisig.mk` and define at minimum: # RPC_URL — the RPC endpoint (typically $(L1_RPC_URL) or $(L2_RPC_URL)) # SCRIPT_NAME — the Forge script class name or .sol file path # # The two macros below (MULTISIG_APPROVE, MULTISIG_EXECUTE) are the canonical # way to invoke multisig operations. Signing is handled externally by the # task-signing-tool. # # ---------- Common fragments ---------- LEDGER_HD_PATH = "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" empty := space := $(empty) $(empty) comma := , # Join a whitespace-separated list with ", " and normalize whitespace comma_join = $(subst $(space),$(comma) ,$(strip $(foreach w,$(1),$(w)))) # Validation helper for required variables require_vars = $(foreach _var,$(2),$(if $(strip $($(_var))),,$(error $(1): required variable $(_var) is not defined))) # ---------- Procedures ---------- # MULTISIG_APPROVE: $(1)=address list (space-separated), $(2)=signatures (e.g., 0x or $(SIGNATURES)) define MULTISIG_APPROVE $(call require_vars,MULTISIG_APPROVE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "approve(address[],bytes)" "[$(call comma_join,$(1))]" $(2) \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv endef # MULTISIG_EXECUTE: $(1)=signatures for run(bytes) (e.g., 0x or $(SIGNATURES)) define MULTISIG_EXECUTE $(call require_vars,MULTISIG_EXECUTE,LEDGER_ACCOUNT RPC_URL SCRIPT_NAME) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(1) \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv endef # ---------- Validation file generation ---------- # GEN_VALIDATION: Generate a validation JSON file for multisig signing. # $(1)=script_name, $(2)=safe_addr (comma-separated, or empty for []), # $(3)=sender, $(4)=output_file, $(5)=env_vars (optional prefix) define GEN_VALIDATION $(call require_vars,GEN_VALIDATION,RPC_URL LEDGER_ACCOUNT) \ cd $(SIGNER_TOOL_PATH) && \ npx tsx scripts/genValidationFile.ts \ --rpc-url $(RPC_URL) \ --workdir $(CURDIR) \ --forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig "sign(address[])" "[$(2)]" --sender $(3)' \ --ledger-id $(LEDGER_ACCOUNT) \ --out $(CURDIR)/validations/$(4) endef # ---------- Helpers ---------- # GET_NONCE: Fetch the current nonce of a Safe contract. # $(1)=safe_address define GET_NONCE $(shell cast call $(1) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) endef # ADDR_UPPER: Convert an address to uppercase (for env var construction). # Used to build per-Safe nonce override env vars passed to forge scripts, # e.g. SAFE_NONCE_$(call ADDR_UPPER,$(SAFE_ADDR))=$(NONCE_VALUE) # See mainnet/2026-02-19-superchain-separation for real-world usage. # $(1)=address define ADDR_UPPER $(shell echo "$(1)" | tr '[:lower:]' '[:upper:]') endef ================================================ FILE: README.md ================================================ ![Base](logo.png) # contract-deployments This repo contains execution code and artifacts related to Base contract deployments, upgrades, and calls. For actual contract implementations, see [base/contracts](https://github.com/base/contracts). This repo is structured with each network having a high-level directory which contains subdirectories of any "tasks" (contract deployments/calls) that have happened for that network. Supported networks are `mainnet`, `sepolia`, `sepolia-alpha`, and `zeronet`. [![GitHub contributors](https://img.shields.io/github/contributors/base/contract-deployments)](https://github.com/base/contract-deployments/graphs/contributors) [![GitHub commit activity](https://img.shields.io/github/commit-activity/w/base/contract-deployments)](https://github.com/base/contract-deployments/graphs/contributors) [![GitHub Stars](https://img.shields.io/github/stars/base/contract-deployments.svg)](https://github.com/base/contract-deployments/stargazers) ![GitHub repo size](https://img.shields.io/github/repo-size/base/contract-deployments) [![GitHub](https://img.shields.io/github/license/base/contract-deployments?color=blue)](https://github.com/base/contract-deployments/blob/main/LICENSE) [![Website base.org](https://img.shields.io/website-up-down-green-red/https/base.org.svg)](https://base.org) [![Blog](https://img.shields.io/badge/blog-up-green)](https://base.mirror.xyz/) [![Docs](https://img.shields.io/badge/docs-up-green)](https://docs.base.org/) [![Discord](https://img.shields.io/discord/1067165013397213286?label=discord)](https://base.org/discord) [![Twitter BuildOnBase](https://img.shields.io/twitter/follow/BuildOnBase?style=social)](https://x.com/BuildOnBase) [![GitHub pull requests by-label](https://img.shields.io/github/issues-pr-raw/base/contract-deployments)](https://github.com/base/contract-deployments/pulls) [![GitHub Issues](https://img.shields.io/github/issues-raw/base/contract-deployments.svg)](https://github.com/base/contract-deployments/issues) ## Setup First, install forge if you don't have it already: - Run `make install-foundry` to install [`Foundry`](https://github.com/foundry-rs/foundry/commit/3b1129b5bc43ba22a9bcf4e4323c5a9df0023140). To execute a new task, run one of the following commands (depending on the type of change you're making): - For a generic task: `make setup-task network= task=` - For gas increase tasks: `make setup-gas-increase network=` - For combined gas, elasticity, and DA footprint gas scalar tasks: `make setup-gas-and-elasticity-increase network=` - For fault proof upgrade: `make setup-upgrade-fault-proofs network=` - For safe management tasks: `make setup-safe-management network=` - For funding tasks: `make setup-funding network=` - For updating the partner threshold in Base Bridge: `make setup-bridge-partner-threshold network=` - For pausing / un-pausing Base Bridge: `make setup-bridge-pause network=` - For switching to a permissioned game and retiring dispute games: `make setup-switch-to-permissioned-game network=` - For pausing SuperchainConfig: `make setup-superchain-config-pause network=` Each `setup-*` command also creates a matching `/signatures//` directory for [task origin signing](#task-origin-signing). The parent `signatures/` directory is created automatically via `mkdir -p` for networks that do not yet have one. Next, `cd` into the directory that was created for you and follow the steps listed below for the relevant template. Please note, for some older tasks (that have not yet been adapted to use the signer tool) you will need to manually create validation file(s) for your task as they are bespoke to each task and therefore not created automatically as a part of the templates. We use one validation Markdown file per multisig involved in the task, so if there's only one multisig involved in your task, then you can simply create a `VALIDATION.md` file at the root of your task containing the validation instructions, while if there are multiple multisigs involved in the task, then create a `validations/` sub-directory at the root of your task containing the corresponding validation Markdown files. If you need examples to work from, you can browse through similar past tasks in this repo and adapt them to your specific task. Also, please note that we have tooling to generate these files (like the `task-signer-tool`) which removes the manual aspect of creating these validation files, we will soon update these instructions to reflect how this process can be automated. ## Network configuration Each network directory (`mainnet/`, `sepolia/`, `sepolia-alpha/`, `zeronet/`) contains a `.env` file that defines all contract addresses and network metadata for that chain. These variables are automatically available to every task via the `include ../.env` directive in each task's Makefile, so there is no need to manually load addresses in individual tasks or templates. The network `.env` files contain: - **Network metadata** — `NETWORK`, `L1_RPC_URL`, `L2_RPC_URL`, `L1_CHAIN_ID`, `L2_CHAIN_ID`, `LEDGER_ACCOUNT` - **Admin addresses** — multisig addresses, proposer, challenger, batch sender, etc. - **L1 contract addresses** — proxy admin, bridges, dispute game factories, system config, etc. - **L2 contract addresses** — fee vaults, cross-domain messenger, standard bridge, etc. All address variables are prefixed with `export` so they are available to child shell processes (Forge scripts, shell commands, etc.). Foundry scripts can access them via `vm.envAddress("VARIABLE_NAME")`. > **Note:** If you need to add or update a contract address, edit the corresponding `{network}/.env` file directly. Do not create per-task address definitions unless they are truly task-specific. ## Directory structure Each task will have a directory structure similar to the following: - **records/** Foundry will autogenerate files here from running commands - **script/** place to store any one-off Foundry scripts - **src/** place to store any one-off smart contracts (long-lived contracts should go in [base/contracts](https://github.com/base/contracts)) - **.env** place to store task-specific environment variables (contract addresses are inherited from the network-level `.env`) ## CI — Template Validation A GitHub Actions workflow automatically validates all 10 setup-templates on every pull request and on pushes to `main`. **What CI checks for each template:** 1. **Solidity formatting** — `forge fmt --check script/` ensures formatting consistency. 2. **Compilation** — `forge build` verifies that imports resolve, types are correct, and all dependencies are present. Templates are validated in parallel using a matrix strategy, so failures are isolated per-template with clear error messages identifying the template and failure type. **How it works:** - Foundry stable is installed via the `foundry-rs/foundry-toolchain` GitHub Action. - For each template, the corresponding `make setup-*` target creates a task directory from the template. - `make deps` installs all dependencies (including base-contracts at the commit pinned in the template's `.env`). **What CI does NOT do:** - Does not run `forge script` (requires RPC URLs, env vars, and hardware wallets). - Does not run `forge test` (no test files exist in templates). - Does not run signing or execution targets (they depend on network state and hardware wallets). > See [`.github/workflows/validate-templates.yml`](.github/workflows/validate-templates.yml) for the full workflow definition. ## Multisig macro convention All task templates use global macros defined in [`Multisig.mk`](Multisig.mk) for multisig operations: | Macro | Purpose | Key arguments | | ------------------ | -------------------------------------------------------------- | -------------------------------------------------------------- | | `MULTISIG_APPROVE` | Approve a transaction (nested safe hierarchy) | `(address_list, signatures)` | | `MULTISIG_EXECUTE` | Execute an approved transaction on-chain | `(signatures)` | | `GEN_VALIDATION` | Generate a validation JSON file for signers via the signer-tool | `(script_name, safe_addr, sender, output_file, env_vars)` | Two helper macros are also available for tasks that need nonce offset calculations or address manipulation: | Macro | Purpose | Key arguments | | ------------ | ------------------------------------------------------- | ---------------- | | `GET_NONCE` | Fetch the current nonce of a Safe contract on-chain | `(safe_address)` | | `ADDR_UPPER` | Convert an address to uppercase (for env var construction) | `(address)` | Signing is handled externally by the [task-signing-tool](https://github.com/base/task-signing-tool). Every template Makefile should include `Multisig.mk` and define at least two variables for the macros to work: ```makefile include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) # or $(L2_RPC_URL) SCRIPT_NAME = MyScript # class name or .sol file path ``` Templates that generate validation files should use `GEN_VALIDATION` with the `deps-signer-tool` prerequisite (which checks out and installs the signer-tool): ```makefile gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,) ``` Templates should use these macros rather than inline `forge script` / `eip712sign` / `bun run` invocations. The known exceptions are the incident-response pause templates, which pre-sign 20 future nonces in a loop using inline `eip712sign`; only their `execute-*` targets use `MULTISIG_EXECUTE`. ## Task origin signing The root Makefile provides three targets for generating cryptographic attestations (sigstore bundles) that prove who created and facilitated a task. These are inherited by all task Makefiles via `include ../../Makefile`. | Target | Purpose | | ------------------------------ | ------------------------------------------------ | | `make sign-as-task-creator` | Attest authorship of the task (run after setup) | | `make sign-as-base-facilitator`| Attest Base team facilitation | | `make sign-as-sc-facilitator` | Attest Security Council facilitation | Signatures are stored in `/signatures//`, where `` is auto-derived from the task directory name. This directory is created automatically when you run any `setup-*` target (in both the root and Solana Makefiles), so it is ready for the signing tool when you invoke one of the targets below. Two variables control this behavior and can be overridden in a task's Makefile if the defaults are not appropriate: | Variable | Default | Description | | --------------- | ------------------------------------------------- | ---------------------------------- | | `TASK_NAME` | `$(notdir $(CURDIR))` (directory basename) | Name used to locate signature dir | | `SIGNATURE_DIR` | `$(CURDIR)/../signatures/$(TASK_NAME)` | Directory where signatures are stored | All three targets depend on `deps-signer-tool`, which checks out and installs the [task-signing-tool](https://github.com/base/task-signing-tool) automatically. ## Using the incident response template This template contains scripts that will help us respond to incidents efficiently. To use the template during an incident: 1. Fill in the `.env` file with dependency commit numbers and any variables that need to be defined for the script you're running. 1. Delete the other scripts that are not being used so that you don't run into build issues. 1. Make sure the code compiles and check in the code. 1. Have each signer pull the branch, and run the relevant signing command from the Makefile. To add new incident response scripts: 1. Any incident response-related scripts should be included in this template (should be generic, not specific to network), with specific TODOs wherever addresses or other details need to be filled in. 1. Add the relevant make commands that would need to be run for the script to the template Makefile 1. Add relevant mainnet addresses in comments to increase efficiency responding to an incident. ## Using the generic template This template can be used to do contract calls, upgrades, or one-off deployments. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file 1. Run `make deps` 1. Put scripts in the `script` directory (see examples that are part of the template, for example, there is a file `BasicScript.s.sol`). See note below if running a task that requires a multisig to sign. 1. Call scripts from the Makefile (see examples in the template Makefile that's copied over). ## Using the gas limit increase template This template is increasing the throughput on Base Chain. 1. Ensure you have followed the instructions above in `setup` 1. Go to the folder that was created using the `make setup-gas-increase network=` step 1. Fill in all TODOs (search for "TODO" in the folder) in the `.env` and `README` files. Tip: you can run `make deps` followed by `make sign-upgrade` to produce a Tenderly simulation which will help fill in several of the TODOs in the README (and also `make sign-rollback`). 1. Check in the task when it's ready to sign and collect signatures from signers 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the combined gas limit, elasticity, and DA footprint gas scalar template This template is used to update the gas limit, elasticity, and DA footprint gas scalar, or roll back the changes (if needed). 1. Ensure you have followed the instructions above in `setup`, including running `make setup-gas-and-elasticity-increase network=` and then go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) in the `.env` file. 1. Run `make deps`. 1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `SENDER`), using the value for your target network. 1. Ensure the `SENDER` variable in the `.env` file is set to a signer of `OWNER_SAFE`. 1. Set the `FROM_*` and `TO_*` values for gas limit and elasticity in the `.env` file. 1. Calculate the DA footprint gas scalar with `make da-scalar TARGET_BLOB_COUNT=` and set the `FROM_DA_FOOTPRINT_GAS_SCALAR` and `TO_DA_FOOTPRINT_GAS_SCALAR` values in the `.env` file. 1. Build the contracts with `forge build`. 1. Generate the validation file for signers with `make gen-validation`. 1. Generate the rollback validation file for signers with `make gen-validation-rollback`. 1. Double check the `cmd` field at the top of both of the generated validation files and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file. 1. Ensure that all of the fields marked as `TODO` in the tasks's `README.md` have been properly filled out. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the fault proof upgrade template This template is used to upgrade the fault proof contracts. This is commonly done in conjunction with a hard fork. 1. Ensure you have followed the instructions above in `setup` 1. Go to the folder that was created using the `make setup-upgrade-fault-proofs network=` step 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file 1. Run `make deps` 1. Add the new absolute prestate to the `.env` file. This can be found in the op-program prestates [standard-prestates.toml](https://github.com/ethereum-optimism/superchain-registry/blob/main/validation/standard/standard-prestates.toml) file. 1. Network-specific contract addresses are loaded automatically from the network `.env` file. Fill in any remaining task-specific variables in the task's `.env` file. 1. Build the contracts with `forge build` 1. Remove the unneeded validations from `VALIDATION.md` and update the relevant validations accordingly 1. Check in the task when it's ready to sign and collect signatures from signers 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the safe management template This template is used to perform ownership management on a Gnosis Safe, like the incident multisig, specifically it can be used to change the owners of the multisig. 1. Ensure you have followed the instructions above in `setup`, including running `make setup-safe-management network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Enter the directory that was generated for the task (in the first step) and then run `make deps`. 1. Specify the `OWNER_SAFE`, which is the safe multisig where an owner will be replaced and the `SENDER` which should be the address of a current signer of the multisig. 1. Fill in the `OwnerDiff.json` inside the task's directory with the addresses to add to, and remove from, the multisig in their respective fields. 1. Ensure that the `EXISTING_OWNERS_LENGTH` constant value inside the `script/UpdateSigners.s.sol` script is set appropriately, in particular that it equals the exact number of current members of the Incident Multisig Safe (prior to running the task). 1. Build the contracts with `forge build`. 1. Generate the validation file for signers with `make gen-validation`. 1. Double check the `cmd` field at the top of the generated validation file at `validations/base-signer.json` and ensure that the value passed to the `--sender` flag matches the `SENDER` env var already defined in the `.env` file. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the funding template This template is used to fund addresses from a Gnosis Safe. 1. Ensure you have followed the instructions above in `setup`. 1. Run `make setup-funding network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Run `make deps`. 1. Specify the `SAFE`, which is the safe that will fund the addresses in the `.env` file. 1. Specify the `recipients` and `funds` arrays (in 1e18 units) in the `funding.json` file. 1. Build the contracts with `forge build`. 1. Simulate the task with `make sign` and update the generic validations in `VALIDATION.md` with the real values. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the Base Bridge set partner threshold template This template is used to update the partner threshold in [Base Bridge](https://github.com/base/bridge), affecting the amount of required partner signatures to approve bridge messages. 1. Ensure you have followed the instructions above in `setup`. 1. Run `make setup-bridge-partner-threshold network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Run `make deps`. 1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network. 1. Set the `NEW_THRESHOLD` variable in the `.env` file. 1. Ensure the `--sender` flag in the `make gen-validation` command in the `Makefile` file is set to a signer for `OWNER_SAFE` in `.env`. 1. Build the contracts with `forge build`. 1. Generate the validation file for signers with `make gen-validation`. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the pause Base Bridge template This template is used to pause or un-pause [Base Bridge](https://github.com/base/bridge). 1. Ensure you have followed the instructions above in `setup`. 1. Run `make setup-bridge-pause network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Run `make deps`. 1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `L2_BRIDGE`), using the value for your target network. 1. Set the `IS_PAUSED` variable to `true` or `false` in the `.env` file depending on if you intend to pause or unpause the bridge. 1. Ensure the `SENDER` variable in the Makefile is set to a signer for `OWNER_SAFE`. 1. Build the contracts with `forge build`. 1. Generate the validation file for signers with `make gen-validation`. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the Switch to Permissioned Game template This template is used to switch Base to a Permissioned Game. 1. Ensure you have followed the instructions above in `setup`. 1. Run `make setup-switch-to-permissioned-game network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Run `make deps`. 1. Fill in any task-specific variables in the `.env` file that have per-network comments (e.g., `OWNER_SAFE`, `OP_SECURITY_COUNCIL_SAFE`, `SENDER`), using the value for your target network. 1. Build the contracts with `forge build`. 1. Generate the validation file for signers with `make gen-validation`. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ## Using the pause SuperchainConfig template This template is used to pause or un-pause the L1 SuperchainConfig contract. 1. Ensure you have followed the instructions above in `setup`. 1. Run `make setup-superchain-config-pause network=` and go to the folder that was created by this command. 1. Specify the commit of [Base contracts code](https://github.com/base/contracts) you intend to use in the `.env` file. 1. Run `make deps`. 1. Fill in any task-specific variables in the `.env` file that have per-network comments, using the value for your target network. 1. Build the contracts with `forge build`. 1. Sign the pause transaction with `make sign-pause` or generate the validation file for un-pausing with `make gen-validation-unpause`. 1. Check in the task when it's ready to sign and request the facilitators to collect signatures from signers. 1. Once executed, check in the records files and mark the task `EXECUTED` in the README. ================================================ FILE: SECURITY.md ================================================ # Security ## Bug bounty program In line with our strategy of being the safest way for users to access crypto: + Coinbase is extending our [best-in-industry][1] million-dollar [HackerOne bug bounty program][2] to cover the Base network, the Base bridge contracts, and Base infrastructure. + Coinbase's bug bounty program runs alongside Optimism's existing [Immunefi Bedrock bounty program][4] to support the open source [Bedrock][5] OP Stack framework. ## Reporting vulnerabilities All potential vulnerability reports can be submitted via the [HackerOne][6] platform. The HackerOne platform allows us to have a centralized and single reporting source for us to deliver optimized SLA's and results. All reports submitted to the platform are triaged around the clock by our team of Coinbase engineers with domain knowledge, assuring the best quality of review. For more information on reporting vulnerabilities and our HackerOne bug bounty program, view our [security program policies][7]. [1]: https://www.coinbase.com/blog/celebrating-10-years-of-our-bug-bounty-program [2]: https://hackerone.com/coinbase?type=team [3]: https://stack.optimism.io/ [4]: https://immunefi.com/bounty/optimism/ [5]: https://stack.optimism.io/docs/releases/bedrock/ [6]: https://hackerone.com/coinbase [7]: https://hackerone.com/coinbase?view_policy=true ================================================ FILE: mainnet/2023-06-14-deploy/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: deploy deploy: ./inputs/construct-config.sh && \ forge script --rpc-url $(L1_RPC_URL) RunDeployBedrock jq --sort-keys . unsorted.json > deployed/addresses.json cp deployed/addresses.json ../addresses.json rm unsorted.json inputs/foundry-config.json ================================================ FILE: mainnet/2023-06-14-deploy/deployed/addresses.json ================================================ { "AddressManager": "0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2", "L1CrossDomainMessengerProxy": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa", "L1ERC721BridgeProxy": "0x608d94945A64503E642E6370Ec598e519a2C1E53", "L1StandardBridgeProxy": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35", "L2OutputOracleProxy": "0x56315b90c40730925ec5485cf004d835058518A0", "OptimismMintableERC20FactoryProxy": "0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84", "OptimismPortalProxy": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "ProxyAdmin": "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E", "SystemConfigProxy": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "SystemDictatorProxy": "0x1fE3fdd1F0193Dd657C0a9AAC37314D6B479E557" } ================================================ FILE: mainnet/2023-06-14-deploy/execute/RunDeployBedrock.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "forge-std/Script.sol"; import "forge-std/StdJson.sol"; import "@base-contracts/script/deploy/l1/DeployBedrock.s.sol"; contract RunDeployBedrock is Script { function run() public { DeployBedrock deployBedrock = new DeployBedrock(); deployBedrock.run(); } } ================================================ FILE: mainnet/2023-06-14-deploy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] script = 'execute' broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-14-deploy/inputs/construct-config.sh ================================================ #!/bin/bash DEPLOY_FIELDS='"baseFeeVaultRecipient","batchSenderAddress","controller","deployerAddress","finalSystemOwner","finalizationPeriodSeconds","gasPriceOracleOverhead","gasPriceOracleScalar","l1ChainID","l1FeeVaultRecipient","l2BlockTime","l2ChainID","l2OutputOracleChallenger","l2OutputOracleProposer","l2OutputOracleStartingBlockNumber","l2OutputOracleStartingTimestamp","l2OutputOracleSubmissionInterval","p2pSequencerAddress","portalGuardian","proxyAdminOwnerL2","sequencerFeeVaultRecipient"' DEPLOY_CONFIG_FILE="inputs/deploy-config.json" MISC_CONFIG_FILE="inputs/misc-config.json" FOUNDRY_CONFIG_FILE="inputs/foundry-config.json" # Convert field from hex to decimal VALUE=$(jq -r '.l2GenesisBlockGasLimit' "$DEPLOY_CONFIG_FILE") GAS_LIMIT=$(printf %d $VALUE) # Construct config file which will be the input in deploy script jq -s '.[0] * .[1]' "$DEPLOY_CONFIG_FILE" "$MISC_CONFIG_FILE" | \ jq "with_entries(select([.key] | inside([$DEPLOY_FIELDS])))" | \ jq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \ jq --sort-keys | \ jq '{"deployConfig": .}' > "$FOUNDRY_CONFIG_FILE" ================================================ FILE: mainnet/2023-06-14-deploy/inputs/deploy-config.json ================================================ { "numDeployConfirmations": 1, "finalSystemOwner": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "portalGuardian": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "controller": "0x6606d3c20cc94cc7aa1d430c0e83a5129976153a", "l1StartingBlockTag": "0x5c13d307623a926cd31415036c8b7fa14572f9dac64528e857a470511fc30771", "l2GenesisBlockExtraData": "YWxsIHlvdXIgYmFzZSBhcmUgYmVsb25nIHRvIHlvdS4=", "l1ChainID": 1, "l2ChainID": 8453, "l2BlockTime": 2, "maxSequencerDrift": 600, "sequencerWindowSize": 3600, "channelTimeout": 300, "p2pSequencerAddress": "0xAf6E19BE0F9cE7f8afd49a1824851023A8249e8a", "batchInboxAddress": "0xFf00000000000000000000000000000000008453", "batchSenderAddress": "0x5050F69a9786F081509234F1a7F4684b5E5b76C9", "l2OutputOracleSubmissionInterval": 1800, "l2OutputOracleStartingBlockNumber": 0, "l2OutputOracleStartingTimestamp": 1686789348, "l2OutputOracleProposer": "0x642229f238fb9dE03374Be34B0eD8D9De80752c5", "l2OutputOracleChallenger": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "finalizationPeriodSeconds": 604800, "proxyAdminOwner": "0x76A737DAC0c4eB926bd7d2D68b958A1ae6Ad6993", "baseFeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "l1FeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "sequencerFeeVaultRecipient": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "baseFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "l1FeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "sequencerFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "baseFeeVaultWithdrawalNetwork": 1, "l1FeeVaultWithdrawalNetwork": 1, "sequencerFeeVaultWithdrawalNetwork": 1, "gasPriceOracleOverhead": 188, "gasPriceOracleScalar": 684000, "l2GenesisBlockGasLimit": "0x1c9c380", "l2GenesisBlockBaseFeePerGas": "0x3b9aca00", "l2GenesisBlockCoinbase": "0x4200000000000000000000000000000000000011", "enableGovernance": false, "eip1559Denominator": 50, "eip1559Elasticity": 6, "l2GenesisRegolithTimeOffset": "0x0" } ================================================ FILE: mainnet/2023-06-14-deploy/inputs/misc-config.json ================================================ { "deployerAddress": "0x6606d3c20cc94cc7aa1d430c0e83a5129976153a" } ================================================ FILE: mainnet/2023-06-14-deploy/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-14-deploy-deterministic-proxy/Makefile ================================================ include ../../Makefile include ../.env include .env include .env.local ## # Foundry commands ## .PHONY: deploy-proxy deploy-proxy: forge script DeterministicProxyDeploy --rpc-url $(L2_RPC_URL) --sig "run(address,address,string)" $(DEPLOYER) $(ADMIN) $(SALT) \ --private-key $(SIGNER_PRIVATE_KEY) --broadcast ================================================ FILE: mainnet/2023-06-14-deploy-deterministic-proxy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-1686756835.json ================================================ { "transactions": [ { "hash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a", "transactionType": "CREATE2", "contractName": "Proxy", "contractAddress": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "function": null, "arguments": null, "rpc": "https://base-goerli.cbhq.net", "transaction": { "type": "0x02", "from": "0x21856935e5689490c72865f34cc665d0ff25664b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0xb4238", "value": "0x0", "data": "0xbf4491d8f9f2e3e841563ec19c29afb358f86d5bec100ce006569acd46b846d3608060405234801561001057600080fd5b5060405161094138038061094183398101604081905261002f916100b2565b6100388161003e565b506100e2565b60006100566000805160206109218339815191525490565b600080516020610921833981519152839055604080516001600160a01b038084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b6000602082840312156100c457600080fd5b81516001600160a01b03811681146100db57600080fd5b9392505050565b610830806100f16000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610300000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993", "nonce": "0x6b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a", "transactionIndex": "0x1", "blockHash": "0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e", "blockNumber": "0x583868", "from": "0x21856935e5689490c72865f34CC665D0FF25664b", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x8dde3", "gasUsed": "0x826ae", "contractAddress": null, "logs": [ { "address": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076a737dac0c4eb926bd7d2d68b958a1ae6ad6993", "blockHash": "0x93a3b7c84f3f9f292bf076cb24ab7185896f4a66c893caf1f50939d64de73e3e", "blockNumber": "0x583868", "transactionHash": "0x9b3bc49600a04a77f0960a7e58ea3e5e0582c3eb3cb6fd29b9aea772ca3f991a", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000010000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "path": "/Users/davidknott/Coinbase/base/contract-deployments/mainnet/2023-06-14-deploy-deterministic-proxy/records/DeterministicProxyDeploy.s.sol/84531/run-latest.json", "returns": {}, "timestamp": 1686756835, "chain": 84531, "multi": false, "commit": "f5b9bf2" } ================================================ FILE: mainnet/2023-06-14-deploy-deterministic-proxy/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-14-deploy-deterministic-proxy/script/DeterministicProxyDeploy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol"; /** * @title DeterministicProxyDeploy * @notice Script for setting deploying deterministic proxies. */ contract DeterministicProxyDeploy is Script { function run(address deployer, address admin, string calldata salt) external { console.log("Deployer: %s", deployer); console.log("Admin: %s", admin); console.log("salt: %s", salt); vm.startBroadcast(deployer); Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(admin); vm.stopBroadcast(); console.log("Proxy address: %s", address(proxy)); } } ================================================ FILE: mainnet/2023-06-14-test-tx/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: test test: forge script TestScript --rpc-url $(L1_RPC_URL) ================================================ FILE: mainnet/2023-06-14-test-tx/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-14-test-tx/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-14-test-tx/script/Test.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "src/Test.sol"; contract TestScript is Script { function run() public { vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117); Test test = new Test(); vm.broadcast(0x0996bb0F5d56BB72c85C50Bd92A950E9756dF117); test.increment(); } } ================================================ FILE: mainnet/2023-06-14-test-tx/src/Test.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; contract Test { uint256 public number; function setNumber(uint256 newNumber) public { number = newNumber; } function increment() public { number++; } } ================================================ FILE: mainnet/2023-06-15-unpause-portal/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: unpause-portal unpause-portal: forge script --rpc-url $(L1_RPC_URL) RunUnpausePortal --sender $(SENDER) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sig "run(address)" $(INCIDENT_MULTISIG) ================================================ FILE: mainnet/2023-06-15-unpause-portal/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686800969.json ================================================ { "transactions": [ { "hash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x11ccb", "value": "0x0", "data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "nonce": "0x1", "accessList": [] }, "additionalContracts": [] } ], "receipts": [ { "transactionHash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371", "transactionIndex": "0x16", "blockHash": "0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410", "blockNumber": "0x10ac3e6", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x38bda4", "gasUsed": "0xce30", "contractAddress": null, "logs": [ { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0x108ebacb907288da33f41bef2de58b6c26b7c4828de9ce56a1b1b92006a44410", "blockNumber": "0x10ac3e6", "transactionHash": "0x3306847757bd7c4c25e45c72b23e9a5e17d061bc7b9998b2ec752deae0703371", "transactionIndex": "0x16", "logIndex": "0x52", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000800000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000800008000000000000000000000000080000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0x48d190b05" } ], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json", "returns": {}, "timestamp": 1686800969, "chain": 1, "multi": false, "commit": "f826d66" } ================================================ FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686801711.json ================================================ { "transactions": [ { "hash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x11ccb", "value": "0x0", "data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac", "transactionIndex": "0x13", "blockHash": "0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a", "blockNumber": "0x10ac424", "from": "0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x13dd6d", "gasUsed": "0xce30", "contractAddress": null, "logs": [ { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18" ], "data": "0x", "blockHash": "0x3b6ee9386c81bbc3e673647663c0de837263e403b0d779a654e8fcb5b92b0c7a", "blockNumber": "0x10ac424", "transactionHash": "0x994fac4468406b1a1b13a84278a99a497a9bbc3716f5cc60b3f35562e6f8d9ac", "transactionIndex": "0x13", "logIndex": "0x15", "removed": false } ], "status": "0x1", "logsBloom": "0x00400000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0x4412869cc" } ], "libraries": [], "pending": [], "path": "/Users/michaeldehoog/src/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json", "returns": {}, "timestamp": 1686801711, "chain": 1, "multi": false, "commit": "f826d66" } ================================================ FILE: mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-1686802144.json ================================================ { "transactions": [ { "hash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x969ffd102fbf304d4e401999333fe9397dac653d", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x11ccb", "value": "0x0", "data": "0xd4d9bdcd46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x969ffd102fbf304d4e401999333fe9397dac653d", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x18506", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a180000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd", "transactionIndex": "0x11", "blockHash": "0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261", "blockNumber": "0x10ac446", "from": "0x969ffD102fbF304d4e401999333FE9397DaC653D", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x1e3ae9", "gasUsed": "0xce30", "contractAddress": null, "logs": [ { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f8", "0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d" ], "data": "0x", "blockHash": "0x69161d41d6fbaa911c1dfedae1ac9836b821c03c5eedc46707795d11d4d33261", "blockNumber": "0x10ac446", "transactionHash": "0xe7e8f2173546f69c7cf6e4f5e7ce196b2a901b30899b425f8be4b738f276f6fd", "transactionIndex": "0x11", "logIndex": "0x3a", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000040000000008000000400000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000004000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0x4320d2797" }, { "transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc", "transactionIndex": "0x10", "blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273", "blockNumber": "0x10ac447", "from": "0x969ffD102fbF304d4e401999333FE9397DaC653D", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x12ff6e", "gasUsed": "0x119a6", "contractAddress": null, "logs": [ { "address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "topics": [ "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa" ], "data": "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273", "blockNumber": "0x10ac447", "transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc", "transactionIndex": "0x10", "logIndex": "0x18", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x46d4e76ba5ee7ce00812736a4c1b49a37842384ab0e36c51d04e49fa169090f80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6f03c2363fd0313344194353f08fd308873a28f073fd6d3fc3d616cd8deca273", "blockNumber": "0x10ac447", "transactionHash": "0x2d34cf9e52ee11f6cc681a98d44e277e71dccf46b0491671051dce189f0122dc", "transactionIndex": "0x10", "logIndex": "0x19", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000000080000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000400", "type": "0x2", "effectiveGasPrice": "0x42b80e8c1" } ], "libraries": [], "pending": [], "path": "/Users/andrewflockhart/src/opensource/contract-deployments/mainnet/2023-06-15-unpause-portal/records/UnpausePortal.s.sol/1/run-latest.json", "returns": {}, "timestamp": 1686802144, "chain": 1, "multi": false, "commit": "f826d66" } ================================================ FILE: mainnet/2023-06-15-unpause-portal/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-15-unpause-portal/script/UnpausePortal.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "forge-std/Script.sol"; import "@base-contracts/script/calls/UnpausePortal.s.sol"; contract RunUnpausePortal is Script { function run(address _safe) public { UnpausePortal unpausePortal = new UnpausePortal(); unpausePortal.run(_safe); } } ================================================ FILE: mainnet/2023-06-15-validate-deploy/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: validate-deploy validate-deploy: forge script --rpc-url $(L1_RPC_URL) ValidateDeploy ================================================ FILE: mainnet/2023-06-15-validate-deploy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-15-validate-deploy/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-15-validate-deploy/script/ValidateDeploy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "forge-std/Script.sol"; import "@base-contracts/script/deploy/l1/CheckBedrockDeploy.s.sol"; contract ValidateDeploy is Script { function run() public { CheckBedrockDeploy checkBedrockDeploy = new CheckBedrockDeploy(); checkBedrockDeploy.setup(); checkBedrockDeploy.run(); } } ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: sign sign: chmod +x ./sign.sh && ./sign.sh .PHONY: run run: forge script --via-ir --rpc-url $(L1_RPC_URL) TransferSystemConfigOwner \ --sender $(SENDER) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --sig "run(bytes)" $(SIGNATURES) --broadcast ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-1687552190.json ================================================ { "transactions": [ { "hash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1e599", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3142cedf9b438319df9e829087bcd24a29d59b0579d58ba7b3b2b63acd4300bb73eecf54d338a8bc64e8e2a10207fffb6f17bcec589be52f1e74e9dcc53f240881c491f929936e170ded4a37cb21d257776f6852b0d3ea6b54a1b9de949d88ef37e63c5e9bc67a279c51c4c84b96bdcc84ecb99edf6a3a58caa8afc5f2cf516474a1b15494416f2221546887108a50742844226e74c990fccab0b7881b1115101ef410d702a584750cf4deace25375fa94ed5360ef6438ec3914f249d5028ede702621b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "accessList": [] }, "additionalContracts": [] } ], "receipts": [ { "transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e", "transactionIndex": "0x16", "blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a", "blockNumber": "0x10bb5ce", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "cumulativeGasUsed": "0x2ab71d", "gasUsed": "0x14c09", "contractAddress": null, "logs": [ { "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1", "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056" ], "data": "0x", "blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a", "blockNumber": "0x10bb5ce", "transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e", "transactionIndex": "0x16", "logIndex": "0x64", "removed": false }, { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x41137f1c029bce8204a3dd563cbe824b5b30a215bdcef2f1fbff8ec92e68f4fc0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2ae62c42c8fd33312e47dbf12e8c81b918f6791abd6529603a66699b671db13a", "blockNumber": "0x10bb5ce", "transactionHash": "0x642679522ea3b74d7a28f73c27cda0f669b5027a24e08bc908c0b1de2cd16c5e", "transactionIndex": "0x16", "logIndex": "0x65", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000010000000000000000008000000800000040000000000008020000000000101000000000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000040000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x4115a849a" } ], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-06-21-transfer-system-cfg-owner/records/TransferOwner.s.sol/1/run-latest.json", "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1687552190, "chain": 1, "multi": false, "commit": "b381618" } ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/remappings.txt ================================================ @eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts @rari-capital/solmate/=lib/solmate/ @base-contracts/=lib/base-contracts ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/script/TransferOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol"; import { SystemConfig } from "@eth-optimism-bedrock/contracts/L1/SystemConfig.sol"; import { MultisigBuilder } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract TransferSystemConfigOwner is MultisigBuilder { address constant internal SYSTEM_CONFIG_ADDR = 0x73a79Fab69143498Ed3712e519A88a918e1f4072; address constant internal NEW_OWNER = 0x14536667Cd30e52C0b458BaACcB9faDA7046E056; address constant internal CB_OWNER_SAFE = 0x9855054731540A48b28990B63DcF4f33d8AE46A1; /** * @notice Follow up assertions to ensure that the script ran to completion. */ function _postCheck() internal override view { require(OwnableUpgradeable(SYSTEM_CONFIG_ADDR).owner() == NEW_OWNER, "Owner did not change"); } /** * @notice Returns the safe address to execute the transaction from */ function _ownerSafe() internal override view returns (address) { return CB_OWNER_SAFE; } /** * @notice Creates the calldata */ function _buildCalls() internal override pure returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: SYSTEM_CONFIG_ADDR, allowFailure: false, callData: abi.encodeCall( OwnableUpgradeable.transferOwnership, (NEW_OWNER) ) }); return calls; } } ================================================ FILE: mainnet/2023-06-21-transfer-system-cfg-owner/sign.sh ================================================ #!/bin/bash set -e source ../.env source .env payload=$(forge script --via-ir --rpc-url ${L1_RPC_URL} TransferSystemConfigOwner --sig "sign()" | tee /dev/stderr | grep -A1 vvvvvvvv | grep -v vvvvvvvv) cd lib/base-contracts echo "${payload}" | go run ./cmd/sign --ledger --hd-path "m/44'/60'/${LEDGER_ACCOUNT}'/0/0" ================================================ FILE: mainnet/2023-07-11-test-l2-safe/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Foundry commands ## .PHONY: deploy-test deploy-test: forge script --rpc-url $(L2_RPC_URL) DeployTestProxy \ --sig "run(address, address)" $(DEPLOYER) $(L2_SAFE) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ## # MultisigBuilder commands ## .PHONY: sign sign: cd lib/base-contracts && \ go run ./cmd/sign --workdir ../.. --ledger -- forge script --via-ir --rpc-url $(L2_RPC_URL) TestL2Safe --sig "sign()" .PHONY: run run: forge script --via-ir --rpc-url $(L2_RPC_URL) \ TestL2Safe --sig "run(bytes)" $(SIGNATURES) --sender $(SENDER) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2023-07-11-test-l2-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-1689807430.json ================================================ { "transactions": [ { "hash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2", "transactionType": "CREATE", "contractName": "ProxyAdmin", "contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "function": null, "arguments": [ "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F" ], "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x1ee52c", "value": "0x0", "data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "nonce": "0x0", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "function": null, "arguments": [ "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698" ], "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xa12fb", "value": "0x0", "data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f003300000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698", "nonce": "0x1", "accessList": [] }, "additionalContracts": [] }, { "hash": "0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba", "transactionType": "CREATE", "contractName": "GasPriceOracle", "contractAddress": "0x0a9F0F5B38951955ff68263510AD45Af71468D55", "function": null, "arguments": null, "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xb54b4", "value": "0x0", "data": "0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033", "nonce": "0x2", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf", "transactionType": "CREATE", "contractName": "GasPriceOracle", "contractAddress": "0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B", "function": null, "arguments": null, "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xb54b4", "value": "0x0", "data": "0x60e08060405234610040576001608052600060a052600060c0526109739081610046823960805181610135015260a0518161015f015260c051816101ac0152f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c9182630c18c1621461032c5782632e0f2625146102f4578263313ce567146102f457826349948e0e146102b8578263519b4bd31461027f57826354fd4d50146101005782636ef25c3a146100f5578263de26c4a1146100dc578263f45e65d81461009857505063fe173b9714610090575b600080fd5b61008b6104cb565b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d16105f4565b9051908152f35b5080fd5b346100d8576020906100d16100f03661040f565b61070b565b50505061008b6104cb565b903461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57506101597f0000000000000000000000000000000000000000000000000000000000000000610800565b906101837f0000000000000000000000000000000000000000000000000000000000000000610800565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6101d07f0000000000000000000000000000000000000000000000000000000000000000610800565b926102576022865180966020998a6101f18185019788815193849201610496565b8301907f2e0000000000000000000000000000000000000000000000000000000000000091828d82015261022f8d8351938491602185019101610496565b01906021820152610248825180938d8785019101610496565b01036002810187520185610365565b6102738551968795818752519283809288015287870190610496565b01168101030190f35b80fd5b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610649565b346100d857602090620f42406102ec6102e46102d66100f03661040f565b6102de610649565b90610505565b6102de6105f4565b049051908152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020905160068152f35b346100d857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d8576020906100d1610565565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103a657604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116103a657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261008b5760043567ffffffffffffffff811161008b578160238201121561008b57806004013590610465826103d5565b926104736040519485610365565b8284526024838301011161008b5781600092602460209301838601378301015290565b918091926000905b8282106104b65750116104af575050565b6000910152565b9150806020918301518186015201829161049e565b503461008b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008b576020604051488152f35b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821181151516610536570290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040517f8b239f730000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b906020823d82116105e0575b816105d360209383610365565b8101031261027c57505190565b3d91506105c6565b6040513d6000823e3d90fd5b6040517f9e8c49660000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b6040517f5cf249690000000000000000000000000000000000000000000000000000000081526020816004817342000000000000000000000000000000000000155afa9081156105e8576000916105ba575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105365760010190565b9081518110156106dc570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600090805182915b81831061075d57505050610725610565565b908119811161053657017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbf8111610536576104400190565b9091927fff0000000000000000000000000000000000000000000000000000000000000061078b85846106cb565b51166107cc577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb81116105365760046107c591019361069e565b9190610713565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef81116105365760106107c591019361069e565b80156108f25780816000925b6108de575061081a826103d5565b916108286040519384610365565b808352817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610856836103d5565b013660208601375b61086757505090565b60018110610536577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190600a90603082820680198211610536570160f81b7fff000000000000000000000000000000000000000000000000000000000000001660001a6108d584866106cb565b5304908161085e565b916108ea600a9161069e565b92048061080c565b506040516040810181811067ffffffffffffffff8211176103a657604052600181527f300000000000000000000000000000000000000000000000000000000000000060208201529056fea2646970667358221220423e3494542a9935d3dd426265981eff23ee66563b708723970c29eca792028664736f6c634300080f0033", "nonce": "0x3", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "function": "upgrade(address,address)", "arguments": [ "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "0x0a9F0F5B38951955ff68263510AD45Af71468D55" ], "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698", "gas": "0x13bad", "value": "0x0", "data": "0x99a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa870000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55", "nonce": "0x4", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "function": "transferOwnership(address)", "arguments": [ "0xd94E416cf2c7167608B2515B7e4102B41efff94f" ], "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x21eb1f4c0b15336b83ec574842c1fcfc9df6d698", "gas": "0x9ad8", "value": "0x0", "data": "0xf2fde38b000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f", "nonce": "0x5", "accessList": [] }, "additionalContracts": [] } ], "receipts": [ { "transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2", "transactionIndex": "0x1", "blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188", "blockNumber": "0x1706a0", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x18be08", "gasUsed": "0x17c3fb", "contractAddress": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "logs": [ { "address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188", "blockNumber": "0x1706a0", "transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0x5f5eb64d649db23786041200b8afc4f8ebb4050f4508fb5a151973ee7a378188", "blockNumber": "0x1706a0", "transactionHash": "0x822d55506eb5af76227a2db3a2f5e459d2acb35cc4a983617b190dcfd1d018f2", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0", "transactionIndex": "0x3", "blockHash": "0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c", "blockNumber": "0x1706a5", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x9292a", "gasUsed": "0x7bfd5", "contractAddress": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "logs": [ { "address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d698", "blockHash": "0xcf8fc146f6a54d89d3a8e54a9787c60b7d414b6a6707674f7865083d87fe278c", "blockNumber": "0x1706a5", "transactionHash": "0xc0434db4f363b1a8487b962c09e86f91d0b41d1829cba196dfc252b428ee2ac0", "transactionIndex": "0x3", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0x64491dc2d6222f24e7e64eabc033b48427837516ce071f478580c0a4f917c8ba", "transactionIndex": "0x1", "blockHash": "0x1187ae22e09b89111578e3c12a0e3021c03a5f3201b91c011066d4a53b01de92", "blockNumber": "0x1706a7", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x96e91", "gasUsed": "0x8b750", "contractAddress": "0x0a9F0F5B38951955ff68263510AD45Af71468D55", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xfde936c2d7931991c489377399d507da4031d4d1df42e852d616a61383e97daf", "transactionIndex": "0x1", "blockHash": "0x3bebe921b6c6b816942227fe40e5110c448d2fda44793d74c3819749e1cd4c76", "blockNumber": "0x1706a8", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x96e91", "gasUsed": "0x8b750", "contractAddress": "0x25afe4249e4410DB5F20c6421d96E0F02C0f4E3B", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413", "transactionIndex": "0x1", "blockHash": "0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab", "blockNumber": "0x1706ad", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "cumulativeGasUsed": "0x18f1a", "gasUsed": "0xd7d9", "contractAddress": null, "logs": [ { "address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000000a9f0f5b38951955ff68263510ad45af71468d55" ], "data": "0x", "blockHash": "0x8587560f96c5de1e581b908bef0a3f8eb04a5775a819769f61cf931ccfaeb7ab", "blockNumber": "0x1706ad", "transactionHash": "0xc7200f26d576867650850a2246de2e54f423a6d48ab89f0349e594e94c9de413", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000020000000000000000000000000100000000000000000000000000000000010000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34", "transactionIndex": "0x1", "blockHash": "0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c", "blockNumber": "0x1706b0", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "cumulativeGasUsed": "0x1275d", "gasUsed": "0x701c", "contractAddress": null, "logs": [ { "address": "0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0xd72906a17efd61f22eb642ad006f719c853a8e17bc1ff12c49cc12c7c9a62c2c", "blockNumber": "0x1706b0", "transactionHash": "0xaa1a94bea1643e7f9c889bc0b35ee081d7af1388314becfa171343b5ec19ee34", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000080080000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000200000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/DeployTestProxy.s.sol/8453/run-latest.json", "returns": {}, "timestamp": 1689807430, "chain": 8453, "multi": false, "commit": "0fa628c" } ================================================ FILE: mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-1689855846.json ================================================ { "transactions": [ { "hash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "rpc": "https://base-mainnet.cbhq.net", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x27f56", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "accessList": [] }, "additionalContracts": [] } ], "receipts": [ { "transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81", "transactionIndex": "0x1", "blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c", "blockNumber": "0x176540", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x28620", "gasUsed": "0x1cedf", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000021eb1f4c0b15336b83ec574842c1fcfc9df6d69800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000cff6eba9dd666c6ae51ec35a3999a9715e5aaa87000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bac938ef494c80e6855b16a6a9d2c46550f07b0c169bb07ced7e0e8e8a2161446caea17596af341eba8a5457c65022119d02b7dbe2c3f87972dcbf96b0f47fd31cccdd869fb6d98aed3761c124ec13c503e433e42308ad450cce9e31dc0c5315e916dc0ddd10d958e4127093ffd1fd2e3f73544bc77bcf0fa3a4851cda099a9bb21ccb9074ae44edf2c2037092dc4625f0c7e492b118344580e67b8e3190612b1ce541e76f3a54a2b7419f0b09b3ccc0ee90fd6667145c0c7b476b5f1dbcec21cea61b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c", "blockNumber": "0x176540", "transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000004bc95c786dc50b42cc573458cc39ba82d98c09" ], "data": "0x", "blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c", "blockNumber": "0x176540", "transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbdceb5cc27348442e4edc1b32489e3f7caca4fe7a502a186de1dc1a4337ac6050000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x23d4e026976b0bf91fe9db3cefbb227ccf59deaca81d77605293b3cdf7e1e61c", "blockNumber": "0x176540", "transactionHash": "0x683052176787193038fcb49ee4593837792c43ff2ad4d9f0592d75cb52250f81", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000002400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000400080200000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000020020000000000020000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-11-test-l2-safe/records/TestL2Safe.s.sol/8453/run-latest.json", "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1689855846, "chain": 8453, "multi": false, "commit": "97ebacb" } ================================================ FILE: mainnet/2023-07-11-test-l2-safe/script/DeployTestProxy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@eth-optimism-bedrock/contracts/l2/GasPriceOracle.sol"; contract DeployTestProxy is Script { function run(address deployer, address safeToTest) public { // Deploy proxy admin contract vm.broadcast(deployer); ProxyAdmin proxyAdmin = new ProxyAdmin({ _owner: deployer }); require(proxyAdmin.owner() == deployer, "DeployTestProxy: proxyAdmin owner is incorrect"); // Deploy an example proxy contract vm.broadcast(deployer); Proxy proxy = new Proxy({ _admin: address(proxyAdmin) }); vm.prank(address(0)); require(proxy.admin() == address(proxyAdmin), "DeployTestProxy: admin is incorrect"); // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade vm.broadcast(deployer); GasPriceOracle implementation = new GasPriceOracle(); vm.broadcast(deployer); GasPriceOracle implementation2 = new GasPriceOracle(); // Set implementation of proxy contract to first implementation vm.broadcast(deployer); proxyAdmin.upgrade({ _proxy: payable(proxy), _implementation: address(implementation) }); require( proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation), "DeployTestProxy: implementation did not get set" ); // Set safe we are testing to be the proxy admin owner vm.broadcast(deployer); proxyAdmin.transferOwnership(safeToTest); require(proxyAdmin.owner() == safeToTest, "DeployTestProxy: proxyAdmin owner did not transfer correctly"); console.log("Deployed Addresses"); console.log("ProxyAdmin: ", address(proxyAdmin)); console.log("Proxy: ", address(proxy)); console.log("Implementation: ", address(implementation)); console.log("Implementation2: ", address(implementation2)); } } ================================================ FILE: mainnet/2023-07-11-test-l2-safe/script/TestL2Safe.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract TestL2Safe is MultisigBuilder { address constant internal PROXY_ADMIN_CONTRACT = 0x21EB1F4C0b15336b83Ec574842C1fcfC9DF6d698; address constant internal PROXY_CONTRACT = 0xCFf6EbA9DD666C6AE51Ec35a3999A9715e5aAa87; address constant internal OLD_IMPLEMENTATION = 0x0a9F0F5B38951955ff68263510AD45Af71468D55; address constant internal NEW_IMPLEMENTATION = 0x004BC95c786dc50b42cC573458cC39ba82d98C09; address constant internal L2_SAFE = 0xd94E416cf2c7167608B2515B7e4102B41efff94f; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); // Check contract was upgraded require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION, "TestL2Safe: implementation did not get set" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION, "TestL2Safe: implementation did not get set" ); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); // Upgrade a contract implementation calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return L2_SAFE; } } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deploy-test deploy-test: forge script --rpc-url $(L1_RPC_URL) DeployTestProxy \ --sig "run(address, address)" $(DEPLOYER) $(NESTED_L1_SAFE_ADDR) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --slow --broadcast ## # Commands for signers to run to test the nested safe ## .PHONY: sign-op sign-op: deps $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \ --sig "sign(address)" $(OP_SAFE_ADDR) .PHONY: sign-cb sign-cb: deps $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L1_RPC_URL) TestL1NestedSafe \ --sig "sign(address)" $(CB_SAFE_ADDR) ## # Commands for faciliators to run to test the nested safe ## .PHONY: run run: deps approve-op approve-cb execute .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \ --sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-cb approve-cb: forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \ --sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast execute: forge script --rpc-url $(L1_RPC_URL) TestL1NestedSafe \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1689870341.json ================================================ { "transactions": [ { "hash": "0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920", "transactionType": "CREATE", "contractName": "ProxyAdmin", "contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151", "function": null, "arguments": [ "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x1ee52c", "value": "0x0", "data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "nonce": "0x5", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xB49D362028A668f5f29338361453D56BEB76d9F5", "function": null, "arguments": [ "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xa12fb", "value": "0x0", "data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "nonce": "0x6", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0x7", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0x8", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151", "function": "upgrade(address,address)", "arguments": [ "0xB49D362028A668f5f29338361453D56BEB76d9F5", "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "gas": "0x13bad", "value": "0x0", "data": "0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "nonce": "0x9", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151", "function": "transferOwnership(address)", "arguments": [ "0x9B3245a57C339FC711921894c012A4FA53F5F343" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "gas": "0x9ad8", "value": "0x0", "data": "0xf2fde38b0000000000000000000000009b3245a57c339fc711921894c012a4fa53f5f343", "nonce": "0xa", "accessList": [] }, "additionalContracts": [] } ], "receipts": [], "libraries": [], "pending": [ "0xa8add070454091833554a71bacbbd28819c8fae2dee8bf2262285025545ee920" ], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json", "returns": {}, "timestamp": 1689870341, "chain": 1, "multi": false, "commit": "f353845" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690069785.json ================================================ { "transactions": [ { "hash": "0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xB49D362028A668f5f29338361453D56BEB76d9F5", "function": null, "arguments": [ "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xa12fb", "value": "0x0", "data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000008735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "nonce": "0x6", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0x7", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0x8", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "gas": "0x13bad", "value": "0x0", "data": "0x99a88ec4000000000000000000000000b49d362028a668f5f29338361453d56beb76d9f50000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "nonce": "0x9", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x8735F6e34c3C97B2e1a1a9C9BbBf0D9b290c4151", "function": null, "arguments": null, "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x8735f6e34c3c97b2e1a1a9c9bbbf0d9b290c4151", "gas": "0x9ad8", "value": "0x0", "data": "0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c", "nonce": "0xa", "accessList": [] }, "additionalContracts": [] } ], "receipts": [], "libraries": [], "pending": [ "0x40f6df638e6cfc0b9f1493642eed13e0ea484a31814aebfd43a49fa6cd7fe97e" ], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-latest.json", "returns": {}, "timestamp": 1690069785, "chain": 1, "multi": false, "commit": "fcfde61" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690244404.json ================================================ { "transactions": [ { "hash": "0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828", "transactionType": "CREATE", "contractName": "ProxyAdmin", "contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "function": null, "arguments": [ "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F" ], "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x1ee52c", "value": "0x0", "data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea2646970667358221220b3646a53e64b8e84122cb5237e7e2d6572647b5d23280046916084ba4d9521cf64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "nonce": "0xb", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "function": null, "arguments": [ "0x22dE20d08660628d0f089aE45140DAEB7adbfc43" ], "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xa12fb", "value": "0x0", "data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220169de5e14e84582f28acc78463b54e7f698b66aaf78a5a74b42529a220e5154064736f6c634300080f003300000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc43", "nonce": "0xc", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xe491b927a156e6389a18d700c0302b15f80c4d30bfa281931fe4116f02b5b4ee", "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0x393022B868955F9b62755dc348CB345d276e56BD", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea2646970667358221220c8e0fcbf5afd571ed541c38933f9011dfb608ce209a00654b1845dd1b1ce61c364736f6c634300080f0033", "nonce": "0xd", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x44e8cfa7da9285fe32d0114c1da4e452b362584d83a2ee8b02ccdd7841778ab9", "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea2646970667358221220c8e0fcbf5afd571ed541c38933f9011dfb608ce209a00654b1845dd1b1ce61c364736f6c634300080f0033", "nonce": "0xe", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "function": "upgrade(address,address)", "arguments": [ "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "0x393022B868955F9b62755dc348CB345d276e56BD" ], "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x22de20d08660628d0f089ae45140daeb7adbfc43", "gas": "0x13bad", "value": "0x0", "data": "0x99a88ec40000000000000000000000000efc8b14871ace49fb9dea96d9dd0f2275cf1fb2000000000000000000000000393022b868955f9b62755dc348cb345d276e56bd", "nonce": "0xf", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "function": "transferOwnership(address)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c" ], "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x22de20d08660628d0f089ae45140daeb7adbfc43", "gas": "0x9ad8", "value": "0x0", "data": "0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c", "nonce": "0xf", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828", "transactionIndex": "0x43", "blockHash": "0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659", "blockNumber": "0x10f185b", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x925770", "gasUsed": "0x17c5b9", "contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "logs": [ { "address": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659", "blockNumber": "0x10f185b", "transactionHash": "0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828", "transactionIndex": "0x43", "logIndex": "0xcb", "removed": false }, { "address": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0xc2c7f6889826b5817c8dfc836ed02fbcf3837b5fc6a0c97ad4b04840df09a659", "blockNumber": "0x10f185b", "transactionHash": "0x0cf02d29a6cdf3ab0d0c64106c55a21c52ffea784bb0f7d069199919f9567828", "transactionIndex": "0x43", "logIndex": "0xcc", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000001000000000000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000100002000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x5b464b839" }, { "transactionHash": "0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20", "transactionIndex": "0x19", "blockHash": "0x88dc07c9848ac8fa9b2984d72bf8d22540a94cc352b1b3b3ac25353bf633a6a8", "blockNumber": "0x10f185c", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x39e5a3", "gasUsed": "0x7c061", "contractAddress": "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "logs": [ { "address": "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc43", "blockHash": "0x88dc07c9848ac8fa9b2984d72bf8d22540a94cc352b1b3b3ac25353bf633a6a8", "blockNumber": "0x10f185c", "transactionHash": "0xd699641ea41eca97ae3d8bfdf709e8703f0f61a6d23f30fb62f9fabb0756bb20", "transactionIndex": "0x19", "logIndex": "0x68", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000010000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x6373969be" }, { "transactionHash": "0xe491b927a156e6389a18d700c0302b15f80c4d30bfa281931fe4116f02b5b4ee", "transactionIndex": "0xe", "blockHash": "0xf8fb54ee035fb91ae48a25f523ab9aa1aca17119399413c60b850336b7f5cf0b", "blockNumber": "0x10f185d", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x1b24f7", "gasUsed": "0x210e3", "contractAddress": "0x393022B868955F9b62755dc348CB345d276e56BD", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x61759ca8f" }, { "transactionHash": "0x44e8cfa7da9285fe32d0114c1da4e452b362584d83a2ee8b02ccdd7841778ab9", "transactionIndex": "0x2a", "blockHash": "0xf6846d2ccdde489bef9cc6cc2e195aa20230bb337323c9d6b060557b079b3919", "blockNumber": "0x10f185f", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x41e694", "gasUsed": "0x210e3", "contractAddress": "0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x662301d7c" }, { "transactionHash": "0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe", "transactionIndex": "0x11", "blockHash": "0x1121460371e3a0785cca02ab30a1bc22378c8cb6cba6b1ac800a3257c3038252", "blockNumber": "0x10f1861", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "cumulativeGasUsed": "0x1bb77d", "gasUsed": "0xd7d9", "contractAddress": null, "logs": [ { "address": "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000393022b868955f9b62755dc348cb345d276e56bd" ], "data": "0x", "blockHash": "0x1121460371e3a0785cca02ab30a1bc22378c8cb6cba6b1ac800a3257c3038252", "blockNumber": "0x10f1861", "transactionHash": "0xf3bd2ff06c7ce1774cc17f32c9dcb14f9d3b42dd47e50e217609f213226219fe", "transactionIndex": "0x11", "logIndex": "0x40", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000080000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000200", "type": "0x2", "effectiveGasPrice": "0x631187499" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1690244404, "chain": 1, "multi": false, "commit": "d5b0e13" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/DeployTestProxy.s.sol/1/run-1690245053.json ================================================ { "transactions": [ { "hash": "0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035", "transactionType": "CALL", "contractName": null, "contractAddress": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x22de20d08660628d0f089ae45140daeb7adbfc43", "gas": "0x9ad8", "value": "0x0", "data": "0xf2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c", "nonce": "0x10", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035", "transactionIndex": "0x2c", "blockHash": "0xeb859eb9177775ec29972bf035ff3b62d498bd42ba8d93d963e1c98b5123b39f", "blockNumber": "0x10f1896", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "cumulativeGasUsed": "0x805cca", "gasUsed": "0x701c", "contractAddress": null, "logs": [ { "address": "0x22dE20d08660628d0f089aE45140DAEB7adbfc43", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c" ], "data": "0x", "blockHash": "0xeb859eb9177775ec29972bf035ff3b62d498bd42ba8d93d963e1c98b5123b39f", "blockNumber": "0x10f1896", "transactionHash": "0xf9caf546327eba313e80555c1182b22162bee9ff147e8a7532ecb89d12306035", "transactionIndex": "0x2c", "logIndex": "0x128", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000001000000000000800000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800008000000000000000000000000000100002000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x6816f895f" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1690245053, "chain": 1, "multi": false, "commit": "d5b0e13" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353255.json ================================================ { "transactions": [ { "hash": "0xa8894a76cb72ef4c37cdc8826b5627a4765f7de4c2e2d71ebf58dce1b8750cdd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "gas": "0x27ee3", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014500000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d014f3c5f33aa9cd1dc29ce29618d07ae666d15000000000000000000000000000000000000000000000000000000000000000001f22dad4f44d42f3da41a9c0d7b3450fdb266741081f6d06c00598d674e8b1468656af7a3bed6fa1b187b2e2cd97ad555fe4b5c20859a10289e51c9af585c14f41bb778bc1a1fe37b096bfe1805e16630883a1681d5faab4da1f8d99dd78f3f94b23a1e7f0f0344a1894adab9bd57e9856afc1390ef45aa38a144bc9a5aa100548e1b11abd9c45060ecba8a8e83d751be997d1ba9d60639d123126d182198c3ffadd53373d665ddb62b59e97a40413b58fb1de72f1af3201eae931826ebe34cae70191c000000000000000000000000000000000000000000000000000000", "nonce": "0x13" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691353255, "chain": 1, "multi": false, "commit": "e8311b7" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/approve-1691353718.json ================================================ { "transactions": [ { "hash": "0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x22500", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f9de6615100507b026d8d5d40c709f2a11a8f53f1b75f2e096b36a10c7be65da7778f3181952d60322d146997dfe08f2dc0518a2e4c656c871ee62a82022d5cc1b5d75412c13913e5d2129889496aee8918b7621bf42940a76981d1f53f4c383c259af2da6e6c4c42df7af48a7c0041c1332c6c99f888c79b961e16076bd62c2b21b4bc4efd866b6ee740e95b82649290524bd987a52e1fc75e278a0be5d7d0d476a5d5b36389f0a8f9870d5f7375bd3bccd9fc50c1cfd73d899a5f1609eb524a5dc1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x14" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15", "transactionIndex": "0x6f", "blockHash": "0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453", "blockNumber": "0x1107efb", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "cumulativeGasUsed": "0xdab297", "gasUsed": "0x18d78", "contractAddress": null, "logs": [ { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453", "blockNumber": "0x1107efb", "transactionHash": "0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15", "transactionIndex": "0x6f", "logIndex": "0x1b0", "removed": false }, { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf0dda5b9a6e1011c7e6e1028a64d5225350d65724b281870b7f2ec2c3b61af960000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6b3f6c1819c2f0ea485c8ce2044d88880f3e8c638067f8575240ad77d4324453", "blockNumber": "0x1107efb", "transactionHash": "0x18854ee5440147455d65d7f6da40f15abc3775ebda37081a99f0af0245b24d15", "transactionIndex": "0x6f", "logIndex": "0x1b1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000002000000000000000000000000000000000000000000000000000004000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x0", "effectiveGasPrice": "0x35bcbcde2" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691353718, "chain": 1, "multi": false, "commit": "e8311b7" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/records/TestL1NestedSafe.s.sol/1/run-1691353817.json ================================================ { "transactions": [ { "hash": "0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x20952", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000022de20d08660628d0f089ae45140daeb7adbfc4300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000000efc8b14871ace49fb9dea96d9dd0f2275cf1fb2000000000000000000000000c886155a80ea5a48b2a4821388b20d75cfebaa45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x15" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750", "transactionIndex": "0x1d4", "blockHash": "0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767", "blockNumber": "0x1107f03", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "cumulativeGasUsed": "0x18ea82a", "gasUsed": "0x1796e", "contractAddress": null, "logs": [ { "address": "0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000c886155a80ea5a48b2a4821388b20d75cfebaa45" ], "data": "0x", "blockHash": "0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767", "blockNumber": "0x1107f03", "transactionHash": "0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750", "transactionIndex": "0x1d4", "logIndex": "0x28f", "removed": false }, { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1037dde67880dcaef16786b8278fabdaf34281ab4e6d4c6569d3183d4abfec3b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x229ba86ba653a4d1daa472adaa36f05666269719b9a37b55324d6237e08cd767", "blockNumber": "0x1107f03", "transactionHash": "0xb0d5eb05338c8ca7f2cedcc3181dadebd30a1dff2806ac93f169fe477de67750", "transactionIndex": "0x1d4", "logIndex": "0x290", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000080000000400000000000000000000000040000000010000000000000000000000004000000000000000000000000100000000000001000000000000000000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000", "type": "0x0", "effectiveGasPrice": "0x33bda724d" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691353817, "chain": 1, "multi": false, "commit": "e8311b7" } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/script/DeployTestProxy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@base-contracts/src/Test.sol"; contract DeployTestProxy is Script { function run(address deployer, address safeToTest) public { // Deploy proxy admin contract vm.broadcast(deployer); ProxyAdmin proxyAdmin = new ProxyAdmin({ _owner: deployer }); require(proxyAdmin.owner() == deployer, "DeployTestProxy: proxyAdmin owner is incorrect"); // Deploy an example proxy contract vm.broadcast(deployer); Proxy proxy = new Proxy({ _admin: address(proxyAdmin) }); vm.prank(address(0)); require(proxy.admin() == address(proxyAdmin), "DeployTestProxy: admin is incorrect"); // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade vm.broadcast(deployer); Test implementation = new Test(); vm.broadcast(deployer); Test implementation2 = new Test(); // Set implementation of proxy contract to first implementation vm.broadcast(deployer); proxyAdmin.upgrade({ _proxy: payable(proxy), _implementation: address(implementation) }); require( proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation), "DeployTestProxy: implementation did not get set" ); // Set safe we are testing to be the proxy admin owner vm.broadcast(deployer); proxyAdmin.transferOwnership(safeToTest); require(proxyAdmin.owner() == safeToTest, "DeployTestProxy: proxyAdmin owner did not transfer correctly"); console.log("DeployTestProxy: Deployed Addresses"); console.log("ProxyAdmin: ", address(proxyAdmin)); console.log("Proxy: ", address(proxy)); console.log("Implementation: ", address(implementation)); console.log("Implementation2: ", address(implementation2)); } } ================================================ FILE: mainnet/2023-07-17-test-l1-nested-safe/script/TestL1NestedSafe.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract TestL1NestedSafe is NestedMultisigBuilder { // ProxyAdminContract owned by the Nested L1 Safe address constant internal PROXY_ADMIN_CONTRACT = 0x22dE20d08660628d0f089aE45140DAEB7adbfc43; // An example proxy contract which originally points to the old implementation address constant internal PROXY_CONTRACT = 0x0eFc8B14871AcE49fB9dea96D9DD0f2275Cf1FB2; // Existing implementation contract for the proxy address constant internal OLD_IMPLEMENTATION = 0x393022B868955F9b62755dc348CB345d276e56BD; // Implementation contract we want to upgrade to address constant internal NEW_IMPLEMENTATION = 0xC886155A80Ea5a48B2A4821388b20D75CFEBAA45; // Safe we're testing, which is the owner of the Proxy contract address constant internal NESTED_L1_SAFE = 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); // Check contract was upgraded require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION, "TestL1NestedSafe: implementation did not get set" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION, "TestL1NestedSafe: implementation did not get set" ); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); // Upgrade contract implementation calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return NESTED_L1_SAFE; } } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Foundry commands ## .PHONY: deploy-challenger deploy-challenger: forge script -vvvv --rpc-url $(L1_RPC_URL) DeployChallenger \ --sig "run(address,address,address,address)" $(DEPLOYER) $(OP_SAFE) $(CB_SAFE) $(L2_OUTPUT_ORACLE_PROXY) ## # Upgrade L2OutputOracle to use the new Challenger 1 of 2 multisig ## .PHONY: upgrade-l2oo upgrade-l2oo: deps $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeL2OutputOracle --sig "sign()" .PHONY: upgrade-l2oo-run upgrade-l2oo-run: deps forge script --rpc-url $(L1_RPC_URL) \ UpgradeL2OutputOracle --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) \ --broadcast ## # Testing commands for OP ## .PHONY: test-challenger test-challenger: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L1_RPC_URL) DeleteL2OutputsOP --sig "sign()" .PHONY: test-challenger-run test-challenger-run: forge script --via-ir --rpc-url $(L1_RPC_URL) \ DeleteL2OutputsOP --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) \ --broadcast ## # Testing commands for CB ## .PHONY: test-challenger-cb test-challenger-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L1_RPC_URL) DeleteL2OutputsCB --sig "sign()" .PHONY: test-challenger-cb-run test-challenger-cb-run: forge script --via-ir --rpc-url $(L1_RPC_URL) \ DeleteL2OutputsCB --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsCB.s.sol/1/run-1690499220.json ================================================ { "transactions": [ { "hash": "0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x20041", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000018482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d65601782400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008409c5eabe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000040300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38fae0560c536879a8c179a01c96542d2bf30e0bb6d1d19c956d59d9b9115279f4a2ac12b1bd3664c3d9bc86313c7bdbcb4673e76798d05587e8bd721d0aa5c821b475a8202dc5ad3eb2186882a454ad2dde35e9608a466aa2d6267c793d31b241861244345375f9803b45231684ff9edcbe9320e9aebf1a8a061acf401dece39ee1cf8cc6f8ceb4d00115333dd310f0d12ab14fc280f9e6012ec918f364e8e9ee6dd77b672cc86104cac6f7ff3d82bc9a5644db3ac4c9f065424f7ebc69f40ade0081c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x12", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34", "transactionIndex": "0x1a", "blockHash": "0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2", "blockNumber": "0x10f6ab4", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x3bbfa1", "gasUsed": "0x172de", "contractAddress": null, "logs": [ { "address": "0x56315b90c40730925ec5485cf004d835058518A0", "topics": [ "0x4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b6", "0x0000000000000000000000000000000000000000000000000000000000000406", "0x0000000000000000000000000000000000000000000000000000000000000403" ], "data": "0x", "blockHash": "0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2", "blockNumber": "0x10f6ab4", "transactionHash": "0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34", "transactionIndex": "0x1a", "logIndex": "0x9d", "removed": false }, { "address": "0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824", "topics": [ "0xcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f", "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056" ], "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002489c44cbb0000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2", "blockNumber": "0x10f6ab4", "transactionHash": "0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34", "transactionIndex": "0x1a", "logIndex": "0x9e", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2d4445d5cad711ec3d2df79772bc11f11dd63584dd3ec88c336582525bde66570000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc1d34348722098d78e246576902c6ce55ffea613c9b625249d938848a34866d2", "blockNumber": "0x10f6ab4", "transactionHash": "0x6eea8a16853a52479be6d86bbfb6a188432965b2158523b4b5f3086e6139fa34", "transactionIndex": "0x1a", "logIndex": "0x9f", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040040080000002020000000000000000000000000000000000001000001000080000000000000000000000000000000000000000000000000100008000000000010000000000000500000000000010000000000000000000800000000000000001000000000000000000000000000000000000000000000000000000000000000800000000000000800000000000000000004000000000000000000000020000000008000000000000000000000000000000000000000000030000000000000000000000000000000010000000000000000000000000000000020000000000000400000", "type": "0x2", "effectiveGasPrice": "0x85299cdab" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1690499220, "chain": 1, "multi": false, "commit": "5ac6c42" } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/records/DeleteL2OutputsOP.s.sol/1/run-1691703002.json ================================================ { "transactions": [ { "hash": "0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "gas": "0x24bb4", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000018482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d65601782400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008409c5eabe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000054f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014594a09029d41f7b855fef06a9fa80e6bf8ab1809c3e49f86597e0b51a1bd52f6f6d5cc10ba8f3b09c7e2643051e17a9d351935f0c84714603787dd69030e53e7d1cec16c533b371cc13029ce2d53e48eb9ed1753c8f9d83440195faf2ef9359054b58e9de5bc04d2d3fd2d7336a7136869c7aea6c02a6cfc004df2aeda03ada68ac1c97df44d5136d3e53c22e66bd0e2a10a283601e6432dc721abe7e42c5d21c30535c00dd0f0f8f9931b18281fae108f2e66b2ab6d107319be4ce5f260c9770180b1bf60f0e4fe321e1988a058404e9cad560f31a3e15006f666d817abf05592fb472619cfb388503774298a9872a8b71ebd33aed357533c8994bc969ddc6697d3dad1c9ced8557dd6afd1688e96aec3ea102f39d7f748a7e427b9a2654b69f3e817976011878b881204b51377dc393f218efb2845f5b8c1a0cc64387dfae3e451fafab1b000000000000000000000000000000000000000000000000000000", "nonce": "0x17", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab", "transactionIndex": "0x12", "blockHash": "0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98", "blockNumber": "0x110efca", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "cumulativeGasUsed": "0x295404", "gasUsed": "0x1a97e", "contractAddress": null, "logs": [ { "address": "0x56315b90c40730925ec5485cf004d835058518A0", "topics": [ "0x4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b6", "0x0000000000000000000000000000000000000000000000000000000000000554", "0x000000000000000000000000000000000000000000000000000000000000054f" ], "data": "0x", "blockHash": "0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98", "blockNumber": "0x110efca", "transactionHash": "0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab", "transactionIndex": "0x12", "logIndex": "0x24", "removed": false }, { "address": "0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824", "topics": [ "0xcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f", "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a" ], "data": "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002489c44cbb000000000000000000000000000000000000000000000000000000000000054f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98", "blockNumber": "0x110efca", "transactionHash": "0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab", "transactionIndex": "0x12", "logIndex": "0x25", "removed": false }, { "address": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xdb542075129e493902d94cf84b9ed3f6d0322c14df5898faa8acbb2abcb8e1730000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0ca6533f2d780f2932d76c853a278830146191b821c4c714a9397829f42d9e98", "blockNumber": "0x110efca", "transactionHash": "0x53827bc628182c8bb7ba33bb9ab38afc6e5d452a7c9295dcd789026472ff42ab", "transactionIndex": "0x12", "logIndex": "0x26", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400080000000000008000000000000000000000000000000040040080002000000000000000000000000000000000000000001000001000080000000000000000000000000004000000000000000000000100080000000000010000000000000000000000000000000000000001000000800000000000000001000000000000000000000000000000000000000000000000040000000000000800000000020000000000000000000000004000000000000000000000000000000008000000000000000800000000000000000000000000010000000000000000000000000000000000000000000000800000000400000000000000000000000400000", "type": "0x2", "effectiveGasPrice": "0x4f3e652ed" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691703002, "chain": 1, "multi": false, "commit": "3cc0987" } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/records/DeployChallenger.s.sol/run-1689808110.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CREATE", "contractName": "Challenger1of2", "contractAddress": "0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824", "function": null, "arguments": [ "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "0x56315b90c40730925ec5485cf004d835058518A0" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x3885226c26c467b342220132ec9d0b311b2dd43c", "gas": "0x8dd05", "value": "0x0", "data": "0x60e060405234801561001057600080fd5b5060405161096038038061096083398101604081905261002f916101e9565b6001600160a01b0383166100a25760405162461bcd60e51b815260206004820152602f60248201527f4368616c6c656e676572316f66323a206f705369676e65722063616e6e6f742060448201526e6265207a65726f206164647265737360881b60648201526084015b60405180910390fd5b6001600160a01b0382166101135760405162461bcd60e51b815260206004820152603260248201527f4368616c6c656e676572316f66323a206f746865725369676e65722063616e6e6044820152716f74206265207a65726f206164647265737360701b6064820152608401610099565b61012f816001600160a01b03166101be60201b6102a91760201c565b6101a15760405162461bcd60e51b815260206004820152603660248201527f4368616c6c656e676572316f66323a206c324f75747075744f7261636c65507260448201527f6f7879206d757374206265206120636f6e7472616374000000000000000000006064820152608401610099565b6001600160a01b0392831660805290821660a0521660c05261022c565b6001600160a01b03163b151590565b80516001600160a01b03811681146101e457600080fd5b919050565b6000806000606084860312156101fe57600080fd5b610207846101cd565b9250610215602085016101cd565b9150610223604085016101cd565b90509250925092565b60805160a05160c0516106f361026d60003960008181606b015261021501526000818160bb015261011c01526000818160e2015261015b01526106f36000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309c5eabe1461005157806340f2b79d14610066578063b822d6d9146100b6578063f7bc369b146100dd575b600080fd5b61006461005f3660046104f6565b610104565b005b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b61008d7f000000000000000000000000000000000000000000000000000000000000000081565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016148061017d57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61020e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4368616c6c656e676572316f66323a206d75737420626520616e20617070726f60448201527f766564207369676e657220746f2065786563757465000000000000000000000060648201526084015b60405180910390fd5b60006102537f00000000000000000000000000000000000000000000000000000000000000008360405180606001604052806021815260200161069d602191396102c5565b90503373ffffffffffffffffffffffffffffffffffffffff167fcb847280fc429a1fa2adb0778d17d774edd25630d2f18643b2261da6499b0b0f838360405161029d92919061063f565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60606102d484846000856102de565b90505b9392505050565b606082471015610370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610205565b73ffffffffffffffffffffffffffffffffffffffff85163b6103ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610205565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610417919061066d565b60006040518083038185875af1925050503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b5091509150610469828286610474565b979650505050505050565b606083156104835750816102d7565b8251156104935782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102059190610689565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561050857600080fd5b813567ffffffffffffffff8082111561052057600080fd5b818401915084601f83011261053457600080fd5b813581811115610546576105466104c7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561058c5761058c6104c7565b816040528281528760208487010111156105a557600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b838110156105e05781810151838201526020016105c8565b838111156105ef576000848401525b50505050565b6000815180845261060d8160208601602086016105c5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061065260408301856105f5565b828103602084015261066481856105f5565b95945050505050565b6000825161067f8184602087016105c5565b9190910192915050565b6020815260006102d760208301846105f556fe4368616c6c656e676572316f66323a206661696c656420746f2065786563757465a26469706673582212203050fd4bff59df9dc9061449786283d671a5b5d9d504df4f5298a6dbe0605f4964736f6c634300080f00330000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000056315b90c40730925ec5485cf004d835058518a0", "nonce": "0x0", "accessList": [] }, "additionalContracts": [] }, { "hash": null, "transactionType": "CREATE", "contractName": "L2OutputOracle", "contractAddress": "0x712D2596Bb1227D0a790efE1e9761a23Ad0EE121", "function": null, "arguments": [ "1800", "2", "0", "0", "0x642229f238fb9dE03374Be34B0eD8D9De80752c5", "0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824", "604800" ], "rpc": "https://nodes-proxy-development.cbhq.net/geth/mainnet-full-lighthouse", "transaction": { "type": "0x02", "from": "0x3885226c26c467b342220132ec9d0b311b2dd43c", "gas": "0x1acdba", "value": "0x0", "data": "0x6101806040523480156200001257600080fd5b5060405162001b2b38038062001b2b833981016040819052620000359162000356565b6001608052600360a052600060c05285620000bd5760405162461bcd60e51b815260206004820152603460248201527f4c324f75747075744f7261636c653a204c3220626c6f636b2074696d65206d7560448201527f73742062652067726561746572207468616e203000000000000000000000000060648201526084015b60405180910390fd5b60008711620001355760405162461bcd60e51b815260206004820152603a60248201527f4c324f75747075744f7261636c653a207375626d697373696f6e20696e74657260448201527f76616c206d7573742062652067726561746572207468616e20300000000000006064820152608401620000b4565b60e08790526101008690526001600160a01b038084166101405282166101205261016081905262000167858562000174565b50505050505050620003be565b600054610100900460ff1615808015620001955750600054600160ff909116105b80620001c55750620001b2306200032a60201b620012691760201c565b158015620001c5575060005460ff166001145b6200022a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000b4565b6000805460ff1916600117905580156200024e576000805461ff0019166101001790555b42821115620002d45760405162461bcd60e51b8152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201526374696d6560e01b608482015260a401620000b4565b60028290556001839055801562000325576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b80516001600160a01b03811681146200035157600080fd5b919050565b600080600080600080600060e0888a0312156200037257600080fd5b87519650602088015195506040880151945060608801519350620003996080890162000339565b9250620003a960a0890162000339565b915060c0880151905092959891949750929550565b60805160a05160c05160e051610100516101205161014051610160516116e4620004476000396000818161041501526108f601526000818161036c0152610a66015260008181610236015261079001526000818161015a0152610f9d0152600081816101b60152610feb01526000610503015260006104da015260006104b101526116e46000f3fe6080604052600436106101435760003560e01c806388786272116100c0578063cf8e5cf011610074578063dcec334811610059578063dcec3348146103ce578063e4a30116146103e3578063f4daa2911461040357600080fd5b8063cf8e5cf01461038e578063d1de856c146103ae57600080fd5b80639aaab648116100a55780639aaab648146102eb578063a25ae557146102fe578063bffa7f0f1461035a57600080fd5b806388786272146102b357806389c44cbb146102c957600080fd5b806369f16eec116101175780636b4d98dd116100fc5780636b4d98dd1461022457806370872aa51461027d5780637f0064201461029357600080fd5b806369f16eec146101fa5780636abcf5631461020f57600080fd5b80622134cc146101485780634599c7881461018f578063529933df146101a457806354fd4d50146101d8575b600080fd5b34801561015457600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561019b57600080fd5b5061017c610437565b3480156101b057600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e457600080fd5b506101ed6104aa565b60405161018691906113f2565b34801561020657600080fd5b5061017c61054d565b34801561021b57600080fd5b5060035461017c565b34801561023057600080fd5b506102587f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b34801561028957600080fd5b5061017c60015481565b34801561029f57600080fd5b5061017c6102ae366004611443565b61055f565b3480156102bf57600080fd5b5061017c60025481565b3480156102d557600080fd5b506102e96102e4366004611443565b610778565b005b6102e96102f936600461145c565b610a4e565b34801561030a57600080fd5b5061031e610319366004611443565b610ecd565b60408051825181526020808401516fffffffffffffffffffffffffffffffff908116918301919091529282015190921690820152606001610186565b34801561036657600080fd5b506102587f000000000000000000000000000000000000000000000000000000000000000081565b34801561039a57600080fd5b5061031e6103a9366004611443565b610f61565b3480156103ba57600080fd5b5061017c6103c9366004611443565b610f99565b3480156103da57600080fd5b5061017c610fe7565b3480156103ef57600080fd5b506102e96103fe36600461148e565b61101c565b34801561040f57600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000081565b600354600090156104a15760038054610452906001906114df565b81548110610462576104626114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16919050565b6001545b905090565b60606104d57f0000000000000000000000000000000000000000000000000000000000000000611285565b6104fe7f0000000000000000000000000000000000000000000000000000000000000000611285565b6105277f0000000000000000000000000000000000000000000000000000000000000000611285565b60405160200161053993929190611525565b604051602081830303815290604052905090565b6003546000906104a5906001906114df565b6000610569610437565b821115610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f7420666f72206120626c6f636b207468617420686173206e6f74206265656e2060648201527f70726f706f736564000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6003546106d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f74206173206e6f206f7574707574732068617665206265656e2070726f706f7360648201527f6564207965740000000000000000000000000000000000000000000000000000608482015260a40161061a565b6003546000905b8082101561077157600060026106f5838561159b565b6106ff91906115e2565b90508460038281548110610715576107156114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1610156107675761076081600161159b565b925061076b565b8091505b506106df565b5092915050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324f75747075744f7261636c653a206f6e6c7920746865206368616c6c656e60448201527f67657220616464726573732063616e2064656c657465206f7574707574730000606482015260840161061a565b60035481106108f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f747075747320616674657220746865206c6174657374206f757470757420696e60648201527f6465780000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b7f000000000000000000000000000000000000000000000000000000000000000060038281548110610928576109286114f6565b6000918252602090912060016002909202010154610958906fffffffffffffffffffffffffffffffff16426114df565b10610a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f74707574732074686174206861766520616c7265616479206265656e2066696e60648201527f616c697a65640000000000000000000000000000000000000000000000000000608482015260a40161061a565b6000610a1660035490565b90508160035581817f4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b660405160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4c324f75747075744f7261636c653a206f6e6c79207468652070726f706f736560448201527f7220616464726573732063616e2070726f706f7365206e6577206f757470757460648201527f7300000000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b610b41610fe7565b8314610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f7420626520657175616c20746f206e65787420657870656374656420626c6f6360648201527f6b206e756d626572000000000000000000000000000000000000000000000000608482015260a40161061a565b42610bff84610f99565b10610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a2063616e6e6f742070726f706f7365204c60448201527f32206f757470757420696e207468652066757475726500000000000000000000606482015260840161061a565b83610d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4c324f75747075744f7261636c653a204c32206f75747075742070726f706f7360448201527f616c2063616e6e6f7420626520746865207a65726f2068617368000000000000606482015260840161061a565b8115610dd55781814014610dd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4c324f75747075744f7261636c653a20626c6f636b206861736820646f65732060448201527f6e6f74206d61746368207468652068617368206174207468652065787065637460648201527f6564206865696768740000000000000000000000000000000000000000000000608482015260a40161061a565b82610ddf60035490565b857fa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e242604051610e1191815260200190565b60405180910390a45050604080516060810182529283526fffffffffffffffffffffffffffffffff4281166020850190815292811691840191825260038054600181018255600091909152935160029094027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810194909455915190518216700100000000000000000000000000000000029116177fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c90910155565b604080516060810182526000808252602082018190529181019190915260038281548110610efd57610efd6114f6565b600091825260209182902060408051606081018252600290930290910180548352600101546fffffffffffffffffffffffffffffffff8082169484019490945270010000000000000000000000000000000090049092169181019190915292915050565b60408051606081018252600080825260208201819052918101919091526003610f898361055f565b81548110610efd57610efd6114f6565b60007f000000000000000000000000000000000000000000000000000000000000000060015483610fca91906114df565b610fd491906115f6565b600254610fe1919061159b565b92915050565b60007f0000000000000000000000000000000000000000000000000000000000000000611012610437565b6104a5919061159b565b600054610100900460ff161580801561103c5750600054600160ff909116105b806110565750303b158015611056575060005460ff166001145b6110e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161061a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561114057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b428211156111f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201527f74696d6500000000000000000000000000000000000000000000000000000000608482015260a40161061a565b60028290556001839055801561126457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6060816000036112c857505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156112f257806112dc81611633565b91506112eb9050600a836115e2565b91506112cc565b60008167ffffffffffffffff81111561130d5761130d61166b565b6040519080825280601f01601f191660200182016040528015611337576020820181803683370190505b5090505b84156113ba5761134c6001836114df565b9150611359600a8661169a565b61136490603061159b565b60f81b818381518110611379576113796114f6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506113b3600a866115e2565b945061133b565b949350505050565b60005b838110156113dd5781810151838201526020016113c5565b838111156113ec576000848401525b50505050565b60208152600082518060208401526114118160408501602087016113c2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60006020828403121561145557600080fd5b5035919050565b6000806000806080858703121561147257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156114a157600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156114f1576114f16114b0565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600084516115378184602089016113c2565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611573816001850160208a016113c2565b6001920191820152835161158e8160028401602088016113c2565b0160020195945050505050565b600082198211156115ae576115ae6114b0565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826115f1576115f16115b3565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561162e5761162e6114b0565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611664576116646114b0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000826116a9576116a96115b3565b50069056fea264697066735822122031bcd6d293dce43bb2aa0c060a708cc7e35290d9a378c1cb32ba6c46a0929ad964736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d6560178240000000000000000000000000000000000000000000000000000000000093a80", "nonce": "0x1", "accessList": [] }, "additionalContracts": [] } ], "receipts": [], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-19-challenger-1-of-2/records/DeployChallenger.s.sol/1/dry-run/run-latest.json", "returns": {}, "timestamp": 1689808110, "chain": 1, "multi": false, "commit": "0da6b10" } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/records/UpgradeL2OO.s.sol/1/run-1690314255.json ================================================ { "transactions": [ { "hash": "0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1e369", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000056315b90c40730925ec5485cf004d835058518a0000000000000000000000000f2460d3433475c8008ceffe8283f07eb1447e39a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36fd660d3de27f36ee1bf8b8adefa97cfee7bd39b7bfc8a1fee7a55d8a7c9d99716701f07395350b5c8846589c518c100f8d932ba403c1fee1306d63f2055640a1c75b2bdebf424bd9f07390b735ed836d5a7823f6b77bebd571f0ff33ad7e24eab32989ad1f9e9bc0cb682ab7c51b2ea4842dc9589cbde42c1f9ed03a8ad338a3f1bcb237cf4a78c5c8ababe7c46e3510225b73b5198c7ef1cecf06f637b95c365aa2b74aea272edbf5629b6557a902cfd1d83d16f9e88d0da7f69614f7342963dcf1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x11", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059", "transactionIndex": "0x10", "blockHash": "0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea", "blockNumber": "0x10f2eed", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "cumulativeGasUsed": "0x158273", "gasUsed": "0x15dfc", "contractAddress": null, "logs": [ { "address": "0x56315b90c40730925ec5485cf004d835058518A0", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000f2460d3433475c8008ceffe8283f07eb1447e39a" ], "data": "0x", "blockHash": "0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea", "blockNumber": "0x10f2eed", "transactionHash": "0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059", "transactionIndex": "0x10", "logIndex": "0x2e", "removed": false }, { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x31073568dc209f87e855852601a16a9e95615f2d6c8f6da57b283f3bc14b73e90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8692814a174721df42d746e38ed696c604ff888a60bfb5d8a8a311243d0682ea", "blockNumber": "0x10f2eed", "transactionHash": "0xb9c57e888d31644af161cd5766236250977ef94ecff01d26e47ec10255777059", "transactionIndex": "0x10", "logIndex": "0x2f", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000010000000400000000008000000000000040040000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000004000000000000000000400000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x7b9b59953" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1690314255, "chain": 1, "multi": false, "commit": "9584107" } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsCB.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol"; import "@base-contracts/src/Challenger1of2.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; contract DeleteL2OutputsCB is MultisigBuilder { address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0; address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824; address constant internal SAFE = 0x14536667Cd30e52C0b458BaACcB9faDA7046E056; function _postCheck() internal override view { // perform post execution checks } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY); bytes memory deleteL2OutputData = abi.encodeCall( L2OutputOracle.deleteL2Outputs, (1027) ); calls[0] = IMulticall3.Call3({ target: CHALLENGER, allowFailure: false, callData: abi.encodeCall( Challenger1of2.execute, (deleteL2OutputData) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SAFE; } } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/script/DeleteL2OutputsOP.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol"; import "@base-contracts/src/Challenger1of2.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; contract DeleteL2OutputsOP is MultisigBuilder { address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0; address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824; address constant internal SAFE = 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A; function _postCheck() internal override view { // perform post execution checks } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY); bytes memory deleteL2OutputData = abi.encodeCall( L2OutputOracle.deleteL2Outputs, (1359) ); calls[0] = IMulticall3.Call3({ target: CHALLENGER, allowFailure: false, callData: abi.encodeCall( Challenger1of2.execute, (deleteL2OutputData) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SAFE; } } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/script/DeployChallenger.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import { Challenger1of2 } from "@base-contracts/src/Challenger1of2.sol"; import "@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol"; contract DeployChallenger is Script { function run(address deployer, address signer1, address signer2, address l2OutputOracleProxy) public { vm.broadcast(deployer); Challenger1of2 challenger = new Challenger1of2(signer1, signer2, l2OutputOracleProxy); require(challenger.OP_SIGNER() == signer1, "DeployChallenger: OP_SIGNER not set correctly"); require(challenger.OTHER_SIGNER() == signer2, "DeployChallenger: OTHER_SIGNER not set correctly"); require(challenger.L2_OUTPUT_ORACLE_PROXY() == l2OutputOracleProxy, "DeployChallenger: L2_OUTPUT_ORACLE_PROXY not set correctly"); require(l2OutputOracleProxy != address(0), "DeployChallenger: l2OutputOracleProxy is zero address"); L2OutputOracle existingL2OO = L2OutputOracle(l2OutputOracleProxy); uint256 oldSubmissionInterval = existingL2OO.SUBMISSION_INTERVAL(); uint256 oldL2BlockTime = existingL2OO.L2_BLOCK_TIME(); address oldProposer = existingL2OO.PROPOSER(); uint256 oldFinalizationPeriodSeconds = existingL2OO.FINALIZATION_PERIOD_SECONDS(); // Deploy L2OutputOracle new implementation with new challenger vm.broadcast(deployer); L2OutputOracle l2OutputOracleImpl = new L2OutputOracle({ _submissionInterval: oldSubmissionInterval, _l2BlockTime: oldL2BlockTime, _startingBlockNumber: 0, _startingTimestamp: 0, _proposer: oldProposer, _challenger: address(challenger), _finalizationPeriodSeconds: oldFinalizationPeriodSeconds }); require(l2OutputOracleImpl.CHALLENGER() == address(challenger), "DeployChallenger: l2OutputOracle challenger is incorrect"); require(l2OutputOracleImpl.SUBMISSION_INTERVAL() == oldSubmissionInterval, "DeployChallenger: l2OutputOracle submissionInterval is incorrect"); require(l2OutputOracleImpl.L2_BLOCK_TIME() == oldL2BlockTime, "DeployChallenger: l2OutputOracle l2BlockTime is incorrect"); require(l2OutputOracleImpl.startingBlockNumber() == 0, "DeployChallenger: l2OutputOracle startingBlockNumber is incorrect"); require(l2OutputOracleImpl.startingTimestamp() == 0, "DeployChallenger: l2OutputOracle startingTimestamp is incorrect"); require(l2OutputOracleImpl.PROPOSER() == oldProposer, "DeployChallenger: l2OutputOracle proposer is incorrect"); require(l2OutputOracleImpl.FINALIZATION_PERIOD_SECONDS() == oldFinalizationPeriodSeconds, "DeployChallenger: l2OutputOracle finalizationPeriodSeconds is incorrect"); } } ================================================ FILE: mainnet/2023-07-19-challenger-1-of-2/script/UpgradeL2OO.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/contracts/L1/L2OutputOracle.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpgradeL2OutputOracle is MultisigBuilder { address constant internal PROXY_ADMIN_CONTRACT = 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E; address constant internal PROXY_ADMIN_OWNER = 0x9855054731540A48b28990B63DcF4f33d8AE46A1; // Current L1 contract owner address constant internal L2_OUTPUT_ORACLE_PROXY = 0x56315b90c40730925ec5485cf004d835058518A0; address constant internal NEW_IMPLEMENTATION = 0xf2460D3433475C8008ceFfe8283F07EB1447E39a; address constant internal CHALLENGER = 0x6F8C5bA3F59ea3E76300E3BEcDC231D656017824; address constant internal SAFE = 0x9855054731540A48b28990B63DcF4f33d8AE46A1; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); require( proxyAdmin.getProxyImplementation(L2_OUTPUT_ORACLE_PROXY).codehash == NEW_IMPLEMENTATION.codehash, "UpgradeL2OutputOracle: L2OutpuOracle not upgraded" ); L2OutputOracle l2OutputOracle = L2OutputOracle(L2_OUTPUT_ORACLE_PROXY); require(l2OutputOracle.CHALLENGER() == CHALLENGER, "UpgradeL2OutputOracle: Challenger was not set properly"); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { L2OutputOracle l2OutputOracle = L2OutputOracle(NEW_IMPLEMENTATION); require(l2OutputOracle.CHALLENGER() == CHALLENGER, "UpgradeL2OutputOracle: Challenger is incorrect"); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(L2_OUTPUT_ORACLE_PROXY), NEW_IMPLEMENTATION) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SAFE; } } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deploy-test deploy-test: forge script --rpc-url $(L2_RPC_URL) DeployTestProxy \ --sig "run(address, address)" $(DEPLOYER) $(NESTED_L2_SAFE_ADDR) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ## # Commands for signers to run to test the nested safe ## .PHONY: sign-op sign-op: deps $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L2_RPC_URL) TestNestedL2Safe \ --sig "sign(address)" $(OP_SAFE_ADDR) .PHONY: sign-cb sign-cb: deps $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L2_RPC_URL) TestNestedL2Safe \ --sig "sign(address)" $(CB_SAFE_ADDR) ## # Commands for faciliators to run to test the nested safe ## .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \ --sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \ --sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast execute: forge script --rpc-url $(L2_RPC_URL) TestNestedL2Safe \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --sender $(SENDER) --broadcast ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via_ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/records/DeployTestProxy.s.sol/8453/run-1689883950.json ================================================ { "transactions": [ { "hash": "0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1", "transactionType": "CREATE", "contractName": "ProxyAdmin", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "function": null, "arguments": [ "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F" ], "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x1ee52c", "value": "0x0", "data": "0x60803461007257601f62001bbd38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072576100629061005d3361008d565b61008d565b604051611ae39081620000da8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b600080546001600160a01b039283166001600160a01b03198216811783556040519093909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a356fe6040608081526004908136101561001557600080fd5b600091823560e01c9081630652b57a1461124a57816307c8f7b0146111be578163204e1c7a14611165578163238181ae146110ea5781633ab76e9f146110975781636bd9f51614610ffa578163715018a614610f5b5781637eff275e14610d4e578163860f7cda14610b465781638d52d4a014610aa55781638da5cb5b14610a545781639623609d146105cc57816399a88ec4146103b3578382639b2ea4bd146102c657508163b794726214610281578163f2fde38b14610143575063f3b7dead146100e057600080fd5b3461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376101326112ce565b61192f565b915191168152f35b5080fd5b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d5761017c6112ce565b6101846115bc565b73ffffffffffffffffffffffffffffffffffffffff8091169182156101fa575060005492827fffffffffffffffffffffffff00000000000000000000000000000000000000008516176000555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600084a3f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209060ff60035460a01c1690519015158152f35b91503461013f57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57803567ffffffffffffffff811161027d57610314903690830161159e565b9061031d6112f6565b6103256115bc565b73ffffffffffffffffffffffffffffffffffffffff60035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af180156103a25761039257505051f35b61039b9061136c565b61013f5751f35b50505051903d90823e3d90fd5b8480fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f576103eb6112ce565b926103f46112f6565b6103fc6115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff84862054169560038710156105a0578686979695961560001461048a5750803b156103af57849283602492885196879586947f3659cfe600000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b929392600181036105095750803b156103af578492836044927f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc94895197889687957f9b0b0fda0000000000000000000000000000000000000000000000000000000087528601521660248401525af180156103a25761039257505051f35b919450919291906002036105745790859392918452600260205261052e8585206113f0565b9260035416803b156103af5761037f938580948851968795869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b6024866001857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866021867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d576106006112ce565b6106086112f6565b6044359267ffffffffffffffff91828511610a505736602386011215610a505761063c602495369087818601359101611567565b936106456115bc565b73ffffffffffffffffffffffffffffffffffffffff809116918289526020956001875260ff898b2054166003811015610a25578a959493929190610756576106c6908a80519a8b97889687967f4f1ef286000000000000000000000000000000000000000000000000000000008852169086015284015260448301906114ea565b039134905af1801561074c576106dd575b50505051f35b3d8086853e6106ec81856113af565b8301928281850312610748578051918211610748570182601f820112156103af578051916107198361152d565b93610726865195866113af565b8385528184840101116107485780610740940191016114b5565b3880806106d7565b8580fd5b84513d87823e3d90fd5b939796955093506107656115bc565b8189526001855260ff888a20541660038110156109fa57899493929190806108b45750813b156103af578851937f3659cfe600000000000000000000000000000000000000000000000000000000855216878401528383878183855af19283156108aa578493610892575b505b84825192019034905af13d1561088d573d6107ec8161152d565b906107f9875192836113af565b815286833d92013e5b1561080d5750505051f35b90602e9160849451937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c65640000000000000000000000000000000000006064820152fd5b610802565b61089e9093919361136c565b61027d578291386107d0565b88513d86823e3d90fd5b600181036109495750813b156103af578851937f9b0b0fda0000000000000000000000000000000000000000000000000000000085527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc898601521686840152838360448183855af19283156108aa578493610931575b506107d2565b61093d9093919361136c565b61027d5782913861092b565b6002919293949550146000146109cf579088939291818552600286526109708986206113f0565b906003541693843b15610748576109b8948692838b8d51988995869485937f9b2ea4bd000000000000000000000000000000000000000000000000000000008552840161163b565b03925af19283156108aa57849361093157506107d2565b85896001897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b868a60218a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b888b6021887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610add6112ce565b602435906003821015610b425773ffffffffffffffffffffffffffffffffffffffff90610b086115bc565b16835260016020528183209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617905551f35b8380fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610b7e6112ce565b9267ffffffffffffffff6024358181116103af57610bb473ffffffffffffffffffffffffffffffffffffffff913690850161159e565b95610bbd6115bc565b168452602060028152838520928651928311610d225750610bde8354611319565b601f8111610cdf575b5080601f8311600114610c40575084958293949592610c35575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617905551f35b015190508580610c01565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08316968487528287209287905b898210610cc75750508360019596979810610c90575b505050811b01905551f35b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080610c85565b80600185968294968601518155019501930190610c6f565b838652818620601f840160051c810191838510610d18575b601f0160051c01905b818110610d0d5750610be7565b868155600101610d00565b9091508190610cf7565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83833461013f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610d866112ce565b92610d8f6112f6565b610d976115bc565b73ffffffffffffffffffffffffffffffffffffffff80951694858552600160205260ff848620541660038110156105a05780610e2057508585969594953b156103af57849283602492885196879586947f8f28397000000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b60018103610e7b57508585969594953b156103af57849283602492885196879586947f13af403500000000000000000000000000000000000000000000000000000000865216908401525af180156103a25761039257505051f35b9395509192600203610ef1578160035416803b156103af5784929183602492885196879586947ff2fde38b00000000000000000000000000000000000000000000000000000000865216908401525af18015610ee757610eda57509051f35b610ee39061136c565b9051f35b83513d84823e3d90fd5b610f578386519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601e60208201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060408201520190565b0390fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f57610f936115bc565b8173ffffffffffffffffffffffffffffffffffffffff8154927fffffffffffffffffffffffff0000000000000000000000000000000000000000841683555192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b83833461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5773ffffffffffffffffffffffffffffffffffffffff6110486112ce565b168252600160205260ff8183205416905191600382101561106b57602083838152f35b806021857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5761114e816111619373ffffffffffffffffffffffffffffffffffffffff6111406112ce565b1681526002602052206113f0565b90519182916020835260208301906114ea565b0390f35b50503461013f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013f5760209073ffffffffffffffffffffffffffffffffffffffff6101376111b96112ce565b61169b565b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573580151580910361027d576112026115bc565b7fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000006003549260a01b1691161760035551f35b90503461027d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027d573573ffffffffffffffffffffffffffffffffffffffff811680910361027d576112a26115bc565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000600354161760035551f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036112f157565b90600182811c92168015611362575b602083101461133357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611328565b67ffffffffffffffff811161138057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138057604052565b906040519182600082549261140484611319565b9081845260019485811690816000146114735750600114611430575b505061142e925003836113af565b565b9093915060005260209081600020936000915b81831061145b57505061142e93508201013880611420565b85548884018501529485019487945091830191611443565b905061142e9550602093507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611420565b918091926000905b8282106114d55750116114ce575050565b6000910152565b915080602091830151818601520182916114bd565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611526815180928187528780880191016114b5565b0116010190565b67ffffffffffffffff811161138057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926115738261152d565b9161158160405193846113af565b8294818452818301116112f1578281602093846000960137010152565b9080601f830112156112f1578160206115b993359101611567565b90565b73ffffffffffffffffffffffffffffffffffffffff6000541633036115dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff6116686020929594956040855260408501906114ea565b9416910152565b908160209103126112f1575173ffffffffffffffffffffffffffffffffffffffff811681036112f15790565b600073ffffffffffffffffffffffffffffffffffffffff80921680825260019160209183835260409460ff86842054166003811015611902578061174e5750506004935082908551948580927f5c60da1b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6115b99250803d1061173d575b61173581836113af565b81019061166f565b503d61172b565b51903d90823e3d90fd5b80860361179a5750506004935082908551948580927faaf10f420000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b6002036118a45790839160035416908352600282528583209086519586927fbf40fac100000000000000000000000000000000000000000000000000000000845284600485015285918154916117ef83611319565b92836024880152868382169182600014611862575050600114611829575b50505082809103915afa93841561174457509261171e57505090565b87528587208793505b82841061184957505050820160440182803861180d565b80546044858c01015288968a9650909301928101611832565b90955060449350859492507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101913861180d565b85517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b600073ffffffffffffffffffffffffffffffffffffffff809216908181526020916001835260409360ff8584205416600381101561190257806119b15750509082600493928551948580927ff851a4400000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b600181036119fe5750509082600493928551948580927f893d20e80000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b909150600203611a4f57908260049392600354168551948580927f8da5cb5b0000000000000000000000000000000000000000000000000000000082525afa93841561174457509261171e57505090565b83517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f7879207479706500006044820152606490fdfea26469706673582212206ce3996d0020ca145f7585b749245fa3ea49757895d59304087276c7fae1e40f64736f6c634300080f00330000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "nonce": "0x7", "accessList": [] }, "additionalContracts": [] }, { "hash": "0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "function": null, "arguments": [ "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2" ], "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0xa12fb", "value": "0x0", "data": "0x6080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220cda8c84ad0f53d583bdbfd81c99ffd0cc3a0dbb096a3ac63c6e408997f19a56d64736f6c634300080f00330000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "nonce": "0x8", "accessList": [] }, "additionalContracts": [] }, { "hash": "0x0f1a5beb35ba69614ae4c630163aa382b3bab5de928c41b6eac328751487b7e1", "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7", "function": null, "arguments": null, "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0x9", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xce2e11de4ad009d48b9808e03675fbb13c9b5dd6f315157d71592444acabac55", "transactionType": "CREATE", "contractName": "Test", "contractAddress": "0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D", "function": null, "arguments": null, "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "gas": "0x2af6b", "value": "0x0", "data": "0x608080604052346100165761017d908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081633fb5c1cb1461010f5781638381f58a146100d3575063d09de08a1461004257600080fd5b346100d057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146100a3576001018155604051f35b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b80fd5b90503461010b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b57602091548152f35b5080fd5b90503461010b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010b576004358255f3fea26469706673582212203aca407a88fb8972c737d9f028180c06c0092ccf80f40d83e1811d19ff2bf6bc64736f6c634300080f0033", "nonce": "0xa", "accessList": [] }, "additionalContracts": [] }, { "hash": "0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "function": "upgrade(address,address)", "arguments": [ "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7" ], "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x4a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "gas": "0x13bad", "value": "0x0", "data": "0x99a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d1100000000000000000000000037abe6b9174403c0baa9909d0d02aa50e6c06fa7", "nonce": "0xb", "accessList": [] }, "additionalContracts": [] }, { "hash": "0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "function": "transferOwnership(address)", "arguments": [ "0x2304CB33d95999dC29f4CeF1e35065e670a70050" ], "rpc": "https://developer-access-mainnet.base.org", "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x4a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "gas": "0x9ac9", "value": "0x0", "data": "0xf2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050", "nonce": "0xc", "accessList": [] }, "additionalContracts": [] } ], "receipts": [ { "transactionHash": "0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1", "transactionIndex": "0x1", "blockHash": "0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77", "blockNumber": "0x179c19", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x187b30", "gasUsed": "0x17c3fb", "contractAddress": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "logs": [ { "address": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77", "blockNumber": "0x179c19", "transactionHash": "0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f" ], "data": "0x", "blockHash": "0x5932be196ddc45ee5b3d235d905ad8025586b01a947fb5bc542281a2099b3b77", "blockNumber": "0x179c19", "transactionHash": "0x8331009ddb5ce69868002134222fc0f8dd21e4bab01cb416ac5996e7bfe1c9a1", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020800008000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a", "transactionIndex": "0x1", "blockHash": "0x38c5223f885ae61df1d015d6befe786110a625ce52b82d99e970c4b961b15b41", "blockNumber": "0x179c1a", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x8770a", "gasUsed": "0x7bfd5", "contractAddress": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "logs": [ { "address": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a2", "blockHash": "0x38c5223f885ae61df1d015d6befe786110a625ce52b82d99e970c4b961b15b41", "blockNumber": "0x179c1a", "transactionHash": "0x7ea0284a062b7f9f52cc2810dbb9d64c0575f7fc11d3cf1d23ae9466a283254a", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0x0f1a5beb35ba69614ae4c630163aa382b3bab5de928c41b6eac328751487b7e1", "transactionIndex": "0x1", "blockHash": "0xbe91bb99292fd4095aef346c5db130d60dafc32c386c8275b8c0fcc175a57d92", "blockNumber": "0x179c1c", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x30ad6", "gasUsed": "0x210c9", "contractAddress": "0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xce2e11de4ad009d48b9808e03675fbb13c9b5dd6f315157d71592444acabac55", "transactionIndex": "0x1", "blockHash": "0xd7fcb4e5d7c9efe9844dd91aa491794c50e223d6a38b51a70d51b8c1a6ea0319", "blockNumber": "0x179c1d", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": null, "cumulativeGasUsed": "0x2c80a", "gasUsed": "0x210c9", "contractAddress": "0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070", "transactionIndex": "0x1", "blockHash": "0x1d3c7132cbd556d9b34b8442403188ce5686c801093d68e666883fba4e0d5acd", "blockNumber": "0x179c21", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "cumulativeGasUsed": "0x19d1e", "gasUsed": "0xd7d9", "contractAddress": null, "logs": [ { "address": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000037abe6b9174403c0baa9909d0d02aa50e6c06fa7" ], "data": "0x", "blockHash": "0x1d3c7132cbd556d9b34b8442403188ce5686c801093d68e666883fba4e0d5acd", "blockNumber": "0x179c21", "transactionHash": "0x843ee1ea3053c90ed26e2a6bbe951f2db20168b2940fefbab9fda3d7664bf070", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000002000000000000000000000000000000000200000000000000000000000000000000000000000400000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" }, { "transactionHash": "0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7", "transactionIndex": "0x1", "blockHash": "0xefd0d544d4d48b2ac2a77508791fa0971a8e091127d327845fee58a87130b37e", "blockNumber": "0x179c24", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "cumulativeGasUsed": "0x12751", "gasUsed": "0x7010", "contractAddress": null, "logs": [ { "address": "0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050" ], "data": "0x", "blockHash": "0xefd0d544d4d48b2ac2a77508791fa0971a8e091127d327845fee58a87130b37e", "blockNumber": "0x179c24", "transactionHash": "0xc831df8b01e39e758858f4de69c67005fdc1a7bbdd16025a99eb413397c660c7", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000020080000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "path": "/Users/anikaraghuvanshi/Documents/protocols/base-deployments/mainnet/2023-07-19-test-l2-nested-safe/records/DeployTestProxy.s.sol/8453/run-latest.json", "returns": {}, "timestamp": 1689883950, "chain": 8453, "multi": false, "commit": "3ab76f8" } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008217.json ================================================ { "transactions": [ { "hash": "0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73", "transactionType": "CALL", "contractName": null, "contractAddress": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "gas": "0x340da", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145ca58ff3fa9fb58de737b8878dc04cc4fd03a502d267bfd4f34adb868576bef77124710e9022b1e3951d73106e1eccbcb78ce4af98cf5fb0acafbda251904c8651b0d8bdd277a51f442b8c483337b27ffbf9246cdecf4965484fcdb75159620d5f22344e332d033f0585beb40b641dec406baccd067d4a951fbe4f2b2da2cab57c21c003e6e2fc71dafc9884fd7c521e3878139221883e56fd54fad242faa4d936c6a74e1ed3f4211feb341be4f6235f8caf8fb551b5c2aa481d93a9c0991863c795b1b23b5257fe52711df5739cc3d9faabd6002a4bcfd540ef2fe1ce75a64eed1438c4f8213cebd91421314b2f15c71d7165bbb52925fee3a61f794836e1ed20d1a9c1bed003af0c706ee69d224c46ea12ccc13a7dc0a7f351689f3648573bf665fef84095389ee767f46efe881b8a30a14e4e885253e625e1745b7bf162fcdfe47dc4f1c000000000000000000000000000000000000000000000000000000", "nonce": "0xe", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73", "transactionIndex": "0x1", "blockHash": "0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de", "blockNumber": "0x202ffa", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "cumulativeGasUsed": "0x2f0ba", "gasUsed": "0x23979", "contractAddress": null, "logs": [ { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145ca58ff3fa9fb58de737b8878dc04cc4fd03a502d267bfd4f34adb868576bef77124710e9022b1e3951d73106e1eccbcb78ce4af98cf5fb0acafbda251904c8651b0d8bdd277a51f442b8c483337b27ffbf9246cdecf4965484fcdb75159620d5f22344e332d033f0585beb40b641dec406baccd067d4a951fbe4f2b2da2cab57c21c003e6e2fc71dafc9884fd7c521e3878139221883e56fd54fad242faa4d936c6a74e1ed3f4211feb341be4f6235f8caf8fb551b5c2aa481d93a9c0991863c795b1b23b5257fe52711df5739cc3d9faabd6002a4bcfd540ef2fe1ce75a64eed1438c4f8213cebd91421314b2f15c71d7165bbb52925fee3a61f794836e1ed20d1a9c1bed003af0c706ee69d224c46ea12ccc13a7dc0a7f351689f3648573bf665fef84095389ee767f46efe881b8a30a14e4e885253e625e1745b7bf162fcdfe47dc4f1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005", "blockHash": "0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de", "blockNumber": "0x202ffa", "transactionHash": "0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65" ], "data": "0x", "blockHash": "0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de", "blockNumber": "0x202ffa", "transactionHash": "0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf242744b7156522129bb3ae507a7989beb8f5156249a237002072c3ff20778240000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd8bafd3c72bf1e7a801e54488ed367baab6b55da6a96093ff7d5acd8795cb8de", "blockNumber": "0x202ffa", "transactionHash": "0xd4f905a1f4960008a3179b8e851e58c882cd77fb247ad6cfe78d16243c83ec73", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000800000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000800000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691008217, "chain": 8453, "multi": false, "commit": "c80a4e0" } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/approve-1691008879.json ================================================ { "transactions": [ { "hash": "0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x262fa", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34e42c34f521a87da4d7e342eef1879ff013730a17cd67978675f7ecfeecb7fab5c3f29358eacb165b5528d2b1369e147b414927b7d3813a9cc020d532b1ae7691c71f0fec855e5fca2026a2be4bda7e9355b07693a54925645c52e4db35db3c15f4dcac31ee7c2ceb2a79b1c13a43b910ec40f8a0fad612b1d296b7fd72a67d1fb1ba212502c970f0df88ce47e2c7e8fdf92735c5dae494fca58351cee3d160a0daf32f40e8d3296c973800823fcbef74d9afd2b2915952528c37a2b59d78da3fcf31b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xf", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac", "transactionIndex": "0x1", "blockHash": "0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b", "blockNumber": "0x203144", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x27198", "gasUsed": "0x1ba57", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcde3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34e42c34f521a87da4d7e342eef1879ff013730a17cd67978675f7ecfeecb7fab5c3f29358eacb165b5528d2b1369e147b414927b7d3813a9cc020d532b1ae7691c71f0fec855e5fca2026a2be4bda7e9355b07693a54925645c52e4db35db3c15f4dcac31ee7c2ceb2a79b1c13a43b910ec40f8a0fad612b1d296b7fd72a67d1fb1ba212502c970f0df88ce47e2c7e8fdf92735c5dae494fca58351cee3d160a0daf32f40e8d3296c973800823fcbef74d9afd2b2915952528c37a2b59d78da3fcf31b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b", "blockNumber": "0x203144", "transactionHash": "0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d7", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b", "blockNumber": "0x203144", "transactionHash": "0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x09a306e2d0420b80f50587f6e1608d7dfc48bfe61d9250166b14822a558e5ed90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc7675d1cc336b3fa42d4320116057530e947efaedc173fb9429d498813b45c6b", "blockNumber": "0x203144", "transactionHash": "0x8b8684b0c2468cba82232892c1206f7e764966146d189c97b4e9e2f62306fcac", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000080800000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000800000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000800000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691008879, "chain": 8453, "multi": false, "commit": "c80a4e0" } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/records/TestNestedL2Safe.s.sol/8453/run-1691009077.json ================================================ { "transactions": [ { "hash": "0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "gas": "0x26772", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d11000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x10", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04", "transactionIndex": "0x1", "blockHash": "0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb", "blockNumber": "0x2031a8", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "cumulativeGasUsed": "0x25c13", "gasUsed": "0x1a4d2", "contractAddress": null, "logs": [ { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004a466e4a2b5106bd7f2d3b39d35ded2acdf491a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000eacccf3894ef189a29a557f1b533932bf1ad8d11000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb", "blockNumber": "0x2031a8", "transactionHash": "0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0xEACccF3894Ef189A29a557F1B533932bf1ad8d11", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000f71368e2d4664febe17b120dcb9e53289e0b9d1d" ], "data": "0x", "blockHash": "0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb", "blockNumber": "0x2031a8", "transactionHash": "0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe3cd8c929e96e6d955c0772c3aeefc3c01286956af96719e7b6d8e8f3ead41d70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd1e84d41968ca4ce93c4d88328ec2e1d3da610fc1c916b0ce811536126bfffdb", "blockNumber": "0x2031a8", "transactionHash": "0x26d0b3a007b9ee526240c776dc5ecdc028fb4c7324a1ec2424ef677dac249a04", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000001000000000000400000000000000000000000040000000010000000000000100000000000000000000000000000000100000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000100000000000400200000000000000024000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691009077, "chain": 8453, "multi": false, "commit": "c80a4e0" } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/script/DeployTestProxy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@base-contracts/src/Test.sol"; contract DeployTestProxy is Script { function run(address deployer, address safeToTest) public { // Deploy proxy admin contract vm.broadcast(deployer); ProxyAdmin proxyAdmin = new ProxyAdmin({ _owner: deployer }); require(proxyAdmin.owner() == deployer, "DeployTestProxy: proxyAdmin owner is incorrect"); // Deploy an example proxy contract vm.broadcast(deployer); Proxy proxy = new Proxy({ _admin: address(proxyAdmin) }); vm.prank(address(0)); require(proxy.admin() == address(proxyAdmin), "DeployTestProxy: admin is incorrect"); // Deploy 2 implementations - 1 will be set initially, 1 will be used in test upgrade vm.broadcast(deployer); Test implementation = new Test(); vm.broadcast(deployer); Test implementation2 = new Test(); // Set implementation of proxy contract to first implementation vm.broadcast(deployer); proxyAdmin.upgrade({ _proxy: payable(proxy), _implementation: address(implementation) }); require( proxyAdmin.getProxyImplementation(address(proxy)) == address(implementation), "DeployTestProxy: implementation did not get set" ); // Set safe we are testing to be the proxy admin owner vm.broadcast(deployer); proxyAdmin.transferOwnership(safeToTest); require(proxyAdmin.owner() == safeToTest, "DeployTestProxy: proxyAdmin owner did not transfer correctly"); console.log("Deployed Addresses"); console.log("ProxyAdmin: ", address(proxyAdmin)); console.log("Proxy: ", address(proxy)); console.log("Implementation: ", address(implementation)); console.log("Implementation2: ", address(implementation2)); } } ================================================ FILE: mainnet/2023-07-19-test-l2-nested-safe/script/TestNestedL2Safe.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract TestNestedL2Safe is NestedMultisigBuilder { // ProxyAdminContract owned by the Nested L2 Safe address constant internal PROXY_ADMIN_CONTRACT = 0x4A466E4a2b5106bD7f2d3B39d35ded2ACDF491a2; // An example proxy contract which originally points to the old implementation address constant internal PROXY_CONTRACT = 0xEACccF3894Ef189A29a557F1B533932bf1ad8d11; // Existing implementation contract for the proxy address constant internal OLD_IMPLEMENTATION = 0x37AbE6b9174403C0BAA9909D0D02aa50e6C06FA7; // Implementation contract we want to upgrade to address constant internal NEW_IMPLEMENTATION = 0xf71368e2D4664feBe17b120dcB9e53289e0b9D1D; // Safe we're testing, which is the owner of the Proxy contract address constant internal NESTED_L2_SAFE = 0x2304CB33d95999dC29f4CeF1e35065e670a70050; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); // Check contract was upgraded require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == NEW_IMPLEMENTATION, "TestNestedL2Safe: implementation did not get set" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); require( proxyAdmin.getProxyImplementation(PROXY_CONTRACT) == OLD_IMPLEMENTATION, "TestNestedL2Safe: implementation did not get set" ); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); // Upgrade a contract implementation calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(PROXY_CONTRACT), NEW_IMPLEMENTATION) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return NESTED_L2_SAFE; } } ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Commands for transferring ownership of L1 and L2 contracts to corresponding nested multisigs # with CB and OP as signers ## .PHONY: sign-l1 sign-l1: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) TransferOwnerL1 --sig "sign()" .PHONY: sign-l2 sign-l2: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) TransferOwnerL2 --sig "sign()" .PHONY: run-l1 run-l1: forge script --rpc-url $(L1_RPC_URL) \ TransferOwnerL1 --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) -vvvv --broadcast .PHONY: run-l2 run-l2: forge script --rpc-url $(L2_RPC_URL) \ TransferOwnerL2 --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) -vvvv --broadcast .PHONY: run-local-l1 run-local-l1: forge script --rpc-url $(LOCAL_URL) \ TransferOwnerL1 --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) -vvvv --broadcast .PHONY: run-local-l2 run-local-l2: forge script --rpc-url $(LOCAL_URL) \ TransferOwnerL2 --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) -vvvv --broadcast # L1 SIGNATURES: # 6ca1ad47d86598e4c356fd05cb0b53d54077fed5a3c0b0e3384d0ad294fbdbcc0c216cc2262a33c4b1f1cac533bfaacb000bc5958708cb85ba09e966918761481c # 1cb7e2feab12ecf133c8a0978a6cd9322d0f9c5e1ba9e99fa1e32a4b07692b011b50b0a7ca2bd785c88dd61e2726d4d415543d336311243ec65dcbd208107fa21c # 65375e8e94c25600fd96df681a4d0b95f5fe761f973057ffab82a9e99edd5c6637f0bd489510ea56b882f97bd37cb725dbf5e11b673c65a59d2089789cc27c9d1c # 5de7066993f2b44fe5e948eafdcf343136bc8568bff989e3c5847ea7c9369f8275b5f0fcb7423c35dcecc01361859f9f9d9f47f61873e0d0b8bd5007f2329aee1b # L2 SIGNATURES: # d8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661c # e671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b # 8b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071b # 281ebc7c95ca7f3f7572275638f0c4c9766a71cbb32b9602260246340c354af02e127b85e216d4144d39fb4f191df6d38e440a13805a1999df149a8fce33fad61c ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL1.s.sol/1/run-1691523415.json ================================================ { "transactions": [ { "hash": "0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1afab", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c365375e8e94c25600fd96df681a4d0b95f5fe761f973057ffab82a9e99edd5c6637f0bd489510ea56b882f97bd37cb725dbf5e11b673c65a59d2089789cc27c9d1c6ca1ad47d86598e4c356fd05cb0b53d54077fed5a3c0b0e3384d0ad294fbdbcc0c216cc2262a33c4b1f1cac533bfaacb000bc5958708cb85ba09e966918761481c1cb7e2feab12ecf133c8a0978a6cd9322d0f9c5e1ba9e99fa1e32a4b07692b011b50b0a7ca2bd785c88dd61e2726d4d415543d336311243ec65dcbd208107fa21c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x16", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96", "transactionIndex": "0x27", "blockHash": "0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042", "blockNumber": "0x110b5c6", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "cumulativeGasUsed": "0x6fc89c", "gasUsed": "0x13886", "contractAddress": null, "logs": [ { "address": "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1", "0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c" ], "data": "0x", "blockHash": "0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042", "blockNumber": "0x110b5c6", "transactionHash": "0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96", "transactionIndex": "0x27", "logIndex": "0xa6", "removed": false }, { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5fcef29eb014ece53a93d99312fd30a7d2959aeb0dfff50535902ae80750af350000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa61993fa02a0a59006a7773c1156ca4a0455dbb57b546533c8c74c0d98bf6042", "blockNumber": "0x110b5c6", "transactionHash": "0x655d851a6318c97851af75a9f7008ec439fbb2c6fa56adadc6aced045bdccb96", "transactionIndex": "0x27", "logIndex": "0xa7", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000010000000000000000008000000800000040000010000000000000000000101000010000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000000040000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000010000000000000000000000000000000000008000000000000000000004000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0x7605c6da2" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691523415, "chain": 1, "multi": false, "commit": "e731ff3" } ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/records/TransferOwnerL2.s.sol/8453/run-1691524273.json ================================================ { "transactions": [ { "hash": "0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x2077f", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071bd8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661ce671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x11", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77", "transactionIndex": "0x1", "blockHash": "0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf", "blockNumber": "0x241fe6", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x27229", "gasUsed": "0x1781c", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38b79ade36ecfd1063c127057d1e7832bce1bf2d7b40d28c35c6f3cf7056ce0bb0a836ba458f1db1ebd246b7f9894a96d8f548a6af4f65b1dcc5cc5192993b4071bd8991b12c271e8435510eb9e65868653319dd8ce1d2182606cbd0b4095e1623277b4602ce3533dbb17f5b2cf06c5e503bcc264c4aa2711df27ecaed1ca1e63661ce671d199f47e3bc12d721988266fb5fd3285a0df670f92f936d9c354227fa4756d09e4d4d9be6ffee91cc3b0736425d656200a90b8d7142956412b15e03e62261b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf", "blockNumber": "0x241fe6", "transactionHash": "0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x4200000000000000000000000000000000000018", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f", "0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050" ], "data": "0x", "blockHash": "0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf", "blockNumber": "0x241fe6", "transactionHash": "0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x774dd0ca8bd50d90cd2c1d4500b294768ce211a5cb5174af9c00fa549f0eb3f70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb59709f30075a3ebfcabe366a145e08ad24c6ef0229b597e074c1cb4037900cf", "blockNumber": "0x241fe6", "transactionHash": "0x719155702451385469e37c49b3321e6038ad512f8504400b7de4d07a4239cd77", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000080000000800000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040400000000000000000000000000000000000000000000000000000008000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000400000000000400000004000000000000000200000000000000000004000000020080000000000000220000000200000000000000000000020000000000020000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2dfe6a7" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1691524273, "chain": 8453, "multi": false, "commit": "e731ff3" } ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL1.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract TransferOwnerL1 is MultisigBuilder { address constant internal PROXY_CONTRACT = 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E; address constant internal OLD_OWNER = 0x9855054731540A48b28990B63DcF4f33d8AE46A1; address constant internal NEW_OWNER = 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT); require(proxyAdmin.owner() == NEW_OWNER, "ProxyAdmin owner did not get updated"); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: PROXY_CONTRACT, allowFailure: false, callData: abi.encodeCall( OwnableUpgradeable.transferOwnership, (NEW_OWNER) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return OLD_OWNER; } } ================================================ FILE: mainnet/2023-07-26-transfer-owner-nested-safes/script/TransferOwnerL2.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/MultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract TransferOwnerL2 is MultisigBuilder { address constant internal PROXY_CONTRACT = 0x4200000000000000000000000000000000000018; address constant internal OLD_OWNER = 0xd94E416cf2c7167608B2515B7e4102B41efff94f; address constant internal NEW_OWNER = 0x2304CB33d95999dC29f4CeF1e35065e670a70050; function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT); require(proxyAdmin.owner() == NEW_OWNER, "ProxyAdmin owner did not get updated"); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: PROXY_CONTRACT, allowFailure: false, callData: abi.encodeCall( OwnableUpgradeable.transferOwnership, (NEW_OWNER) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return OLD_OWNER; } } ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Commands for signers to run to test the nested safe ## .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \ --sig "sign(address)" $(OP_SAFE_ADDR) .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \ --sig "sign(address)" $(CB_SAFE_ADDR) ## # Commands for faciliators to run to test the nested safe ## .PHONY: approve-op approve-op: forge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \ --sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast .PHONY: approve-cb approve-cb: forge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \ --sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast execute: forge script --rpc-url $(OP_L2_RPC_URL) TestNestedL2Safe \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --sender $(SENDER) --broadcast ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via_ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981334.json ================================================ { "transactions": [ { "hash": "0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "gas": "0x2bf4e", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3db4add45930e2b18221802ed2ce16bc45c45e4e509fb7c75560a09a94d0a4cca020e68c1c6ddca688a39bb87de7ed25adfc0fbc29735bae3fdb97da6f22698751b5be62f366776190bcb8615be49f9bd0e130c0db23550ebe717eab01e1b3a8b072d7f8e7f1c278580c1c00e1d6fabad37e17cdfbf448a24ca0d2fbbb3c9c932f71ba5dfc890efe14006c2d92477ef6b6fcb23831579ab01e16d23ae1227f23e9470441ad37880b5f18b11c3ef6e02c4cfea70fdfe83bea6bab85849bbaaeebd11b11c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec", "transactionIndex": "0x1", "blockHash": "0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438", "blockNumber": "0x67a7f4c", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "cumulativeGasUsed": "0x2b470", "gasUsed": "0x1fd2f", "contractAddress": null, "logs": [ { "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3db4add45930e2b18221802ed2ce16bc45c45e4e509fb7c75560a09a94d0a4cca020e68c1c6ddca688a39bb87de7ed25adfc0fbc29735bae3fdb97da6f22698751b5be62f366776190bcb8615be49f9bd0e130c0db23550ebe717eab01e1b3a8b072d7f8e7f1c278580c1c00e1d6fabad37e17cdfbf448a24ca0d2fbbb3c9c932f71ba5dfc890efe14006c2d92477ef6b6fcb23831579ab01e16d23ae1227f23e9470441ad37880b5f18b11c3ef6e02c4cfea70fdfe83bea6bab85849bbaaeebd11b11c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438", "blockNumber": "0x67a7f4c", "transactionHash": "0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6" ], "data": "0x", "blockHash": "0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438", "blockNumber": "0x67a7f4c", "transactionHash": "0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9168f47f5a3c5e91a37cc9c57555699ac807b6f7c8cc0c8944716819e78571d00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e1eacd86bf85587c3c2deb13e16c9baabb913473ce9691be66843b372cb8438", "blockNumber": "0x67a7f4c", "transactionHash": "0x3c6048e644c83e90275654a711319ab836cbb27d163a33ee652249d39311a6ec", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x01000000400000000000000000000000000000200000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000100000000000040000000000000000010000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000001000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000000001000000000000000000000000100000000000000004", "type": "0x2", "effectiveGasPrice": "0xb2d05e3a" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1692981334, "chain": 10, "multi": false, "commit": "88118c9" } ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981492.json ================================================ { "transactions": [ { "hash": "0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "gas": "0x262fa", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32f67baf12d3c0f2232146f423800e516fbd9ef38fc014e51e6408e5f9440f7b35e63452969d76b23a995af81aa46dca50f26838b9bce6f90d68dcdf6ab0e7c071cfb50e7e7a05a07f0fe648749a0fb9efe5b5d1060c34164aa4fed6d01fbba0882386270f4c29a383471a2726931582e46cbfd636ed2a13832bdf631d3a9bf693e1b5661d6d46db9c8bc24802ab58b3f3f5db47aa86a85d694df3d796fba7fbbbd202e5ce3364c8d0eb2b52d2dc40a63d12c0b58ae88af36f17a1944d9113ae220901b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724", "transactionIndex": "0x1", "blockHash": "0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e", "blockNumber": "0x67a7f9b", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "cumulativeGasUsed": "0x27198", "gasUsed": "0x1ba57", "contractAddress": null, "logs": [ { "address": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32f67baf12d3c0f2232146f423800e516fbd9ef38fc014e51e6408e5f9440f7b35e63452969d76b23a995af81aa46dca50f26838b9bce6f90d68dcdf6ab0e7c071cfb50e7e7a05a07f0fe648749a0fb9efe5b5d1060c34164aa4fed6d01fbba0882386270f4c29a383471a2726931582e46cbfd636ed2a13832bdf631d3a9bf693e1b5661d6d46db9c8bc24802ab58b3f3f5db47aa86a85d694df3d796fba7fbbbd202e5ce3364c8d0eb2b52d2dc40a63d12c0b58ae88af36f17a1944d9113ae220901b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000640000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e", "blockNumber": "0x67a7f9b", "transactionHash": "0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e4", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0" ], "data": "0x", "blockHash": "0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e", "blockNumber": "0x67a7f9b", "transactionHash": "0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x353b2a1c6d14523d93bac466fca06e2f7fb8f6137918eae41ae9c479049c00310000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xbbe89c90aa5c43057bb84deeb61d1144641504f525c1552179290f6f4bc1326e", "blockNumber": "0x67a7f9b", "transactionHash": "0xc9e02dfb85a447ced5fc23321520c453b9c98bd47ea17c353d03c071b50ec724", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00080080400000000000000000000000000000200000000000000000040800000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000100000000000040000000000000000010000000000000000400000000000000100800000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000200000000400000000000000000004000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e35" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1692981492, "chain": 10, "multi": false, "commit": "88118c9" } ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/records/TestNestedL2Safe.s.sol/10/run-1692981620.json ================================================ { "transactions": [ { "hash": "0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "gas": "0x234eb", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b00000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30", "transactionIndex": "0x1", "blockHash": "0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0", "blockNumber": "0x67a7fdb", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "cumulativeGasUsed": "0x25040", "gasUsed": "0x198ff", "contractAddress": null, "logs": [ { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b00000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0", "blockNumber": "0x67a7fdb", "transactionHash": "0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x4200000000000000000000000000000000000042", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "0x00000000000000000000000005301b36f071cefd01e564ec5ecce6864d12b0b0" ], "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000", "blockHash": "0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0", "blockNumber": "0x67a7fdb", "transactionHash": "0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x67c66df0e9d62c58cad922f6e070558232ede7524d9862ab58e3f79c27aea6e40000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x733bb65177dcbb715f21cfa9bb9e65d2d87ef53ebd4f22e135e686aa361ecfe0", "blockNumber": "0x67a7fdb", "transactionHash": "0xa338d314e57e6895077b9d9926989dd56a8d6c0fccc3c1847dc12dcb10ebdc30", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000800000040000000000000000020000008400000000000040001000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000008000000000002000000000000000000000000000000000000000000400000000000000200004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e35" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1692981620, "chain": 10, "multi": false, "commit": "88118c9" } ================================================ FILE: mainnet/2023-08-07-test-op-fee-nested-safe/script/TestNestedL2Safe.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract TestNestedL2Safe is NestedMultisigBuilder { address constant internal OP_TOKEN_ADDR = 0x4200000000000000000000000000000000000042; // OP Token Address IERC20 constant internal OP_TOKEN = IERC20(OP_TOKEN_ADDR); // 2-of-2 (CB + OP) fee vault address constant internal NESTED_L2_SAFE = 0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940; // Address to send OP test txn to address constant internal SEND_OP_TO = 0x05301B36f071CEfD01e564EC5eCCe6864d12b0B0; function _postCheck() internal override view { uint256 opBalance = OP_TOKEN.balanceOf(NESTED_L2_SAFE); require( opBalance == 0, "TestNestedL2Safe: script failed to transfer total balance" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { uint256 opBalance = OP_TOKEN.balanceOf(NESTED_L2_SAFE); require( opBalance > 0 && opBalance <= 10 ether, "TestNestedL2Safe: transfer a test amount of OP to the nested l2 safe" ); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: OP_TOKEN_ADDR, allowFailure: false, callData: abi.encodeCall( IERC20.transfer, (SEND_OP_TO, opBalance) ) }); return calls; } function _ownerSafe() internal override pure returns (address) { return NESTED_L2_SAFE; } } ================================================ FILE: mainnet/2023-08-15-support-eas/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Commands for signers to run to test the nested safe ## .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \ --sig "sign(address)" $(OP_SAFE_ADDR) .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \ --sig "sign(address)" $(CB_SAFE_ADDR) ## # Commands for faciliators to run to test the nested safe ## .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \ --sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \ --sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast execute: forge script --rpc-url $(L2_RPC_URL) UpgradeToEAS \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast ================================================ FILE: mainnet/2023-08-15-support-eas/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694183897.json ================================================ { "transactions": [ { "hash": "0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa", "transactionType": "CALL", "contractName": null, "contractAddress": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "gas": "0x2b651", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001456df3db450818dbad1450d08524e174438fa1d87fd359432a769f92f05ae5d5676e9ea49a77939574d6c35cad24f2c6eabff9cd50e0a95f5f1a2d307a208fd9d31b386f53c3158f4926ee0f807faa8c56b9b6e3822b867e47add99ff0942681997618eb8ad40c4fad9dd7ca2f590f2580f4a993bb54051910b294ca8db3beb82d021c285dcb7e01b3decbb1fceee7dd14cb683adaca69e558a9e628ae2cc8ea6a731a2e0bef3c771a455beef00b3e72152f77c35b175d355bd26bc5c71a781e5b7a071c4086edb211005d65067d12f76d593d52a0d5331dd16aa251fe3a19e668e05458530263757682ab4b1bf634b12b3a614eb92404e06a254a8ea399b0cad79bd0991bdfadd33bcb95ab44e411c2f477218093f1d1414c0511e3b5343009ccb3d611b644188d221190267ff0b4af24150d4feb291700aac4945f28260bd71905e053ae1c000000000000000000000000000000000000000000000000000000", "nonce": "0x16", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa", "transactionIndex": "0x1", "blockHash": "0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e", "blockNumber": "0x386a7a", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "cumulativeGasUsed": "0x2adee", "gasUsed": "0x1f6ad", "contractAddress": null, "logs": [ { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001456df3db450818dbad1450d08524e174438fa1d87fd359432a769f92f05ae5d5676e9ea49a77939574d6c35cad24f2c6eabff9cd50e0a95f5f1a2d307a208fd9d31b386f53c3158f4926ee0f807faa8c56b9b6e3822b867e47add99ff0942681997618eb8ad40c4fad9dd7ca2f590f2580f4a993bb54051910b294ca8db3beb82d021c285dcb7e01b3decbb1fceee7dd14cb683adaca69e558a9e628ae2cc8ea6a731a2e0bef3c771a455beef00b3e72152f77c35b175d355bd26bc5c71a781e5b7a071c4086edb211005d65067d12f76d593d52a0d5331dd16aa251fe3a19e668e05458530263757682ab4b1bf634b12b3a614eb92404e06a254a8ea399b0cad79bd0991bdfadd33bcb95ab44e411c2f477218093f1d1414c0511e3b5343009ccb3d611b644188d221190267ff0b4af24150d4feb291700aac4945f28260bd71905e053ae1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005", "blockHash": "0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e", "blockNumber": "0x386a7a", "transactionHash": "0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65" ], "data": "0x", "blockHash": "0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e", "blockNumber": "0x386a7a", "transactionHash": "0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x64882ac4ddd602403a7132eeea3750b6a9bcb3f09c5ef68afc6860721316e3f00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa732d5240a818750cb5df94fe30296f10f8016af26e5ecccd6950a2651f9c16e", "blockNumber": "0x386a7a", "transactionHash": "0x31f7e7bf3f6de2cc1b517cabff654f7a19ab707604016bdd0f9beeebd0a0c9fa", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000400000000000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000010000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000100000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb3ea7681" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1694183897, "chain": 8453, "multi": false, "commit": "1b8a7ce" } ================================================ FILE: mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184082.json ================================================ { "transactions": [ { "hash": "0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x262fa", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e760b662394d0719cf7433996dd3e8744d3973bdcb2ed32eaa2953ea421960546fd959c9092339cba91244522eb8af876c82d32ad7238c56d85421ddaaa7c2231b9b440c5cd8cf1760d5dcd4d6f435edb0bdd72fa5895ed55acf850896f7b12e466b91edfc1108011c0e3482e6e28774ffafdc19e0a58301dd33b5d684baa8d7b41cdd21dfd62dedb0e28cf97e765d3ff9dd5e621d5a20b58a0dedc44d8afc7483b64cec9f1b750e883641075c1dd7c8ffe30e03949b85bde3ae7dcc2dfe4df954451c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x17", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5", "transactionIndex": "0x4", "blockHash": "0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac", "blockNumber": "0x386ad6", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x6c6ca", "gasUsed": "0x1ba57", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e760b662394d0719cf7433996dd3e8744d3973bdcb2ed32eaa2953ea421960546fd959c9092339cba91244522eb8af876c82d32ad7238c56d85421ddaaa7c2231b9b440c5cd8cf1760d5dcd4d6f435edb0bdd72fa5895ed55acf850896f7b12e466b91edfc1108011c0e3482e6e28774ffafdc19e0a58301dd33b5d684baa8d7b41cdd21dfd62dedb0e28cf97e765d3ff9dd5e621d5a20b58a0dedc44d8afc7483b64cec9f1b750e883641075c1dd7c8ffe30e03949b85bde3ae7dcc2dfe4df954451c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000050000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac", "blockNumber": "0x386ad6", "transactionHash": "0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5", "transactionIndex": "0x4", "logIndex": "0x3", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc2487", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac", "blockNumber": "0x386ad6", "transactionHash": "0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5", "transactionIndex": "0x4", "logIndex": "0x4", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xc398a97c2af4dac6478ca58886bfb11c7ceb494c782602db242452820721b7db0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7e78d0b068437d05c1c53bbc9ca89f00e13eb3b6b946a4d53f466bfbe2c22fac", "blockNumber": "0x386ad6", "transactionHash": "0x57a4401e7ebd03f00febb1572904dbfad58b7269417b1def771e7e372b470ec5", "transactionIndex": "0x4", "logIndex": "0x5", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000400000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000010000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000100000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb3f90379" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1694184082, "chain": 8453, "multi": false, "commit": "1b8a7ce" } ================================================ FILE: mainnet/2023-08-15-support-eas/records/UpgradeToEAS.s.sol/8453/run-1694184181.json ================================================ { "transactions": [ { "hash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "gas": "0x353dd", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000002000000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f00000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000021000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x18", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionIndex": "0x1", "blockHash": "0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0", "blockNumber": "0x386b08", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "cumulativeGasUsed": "0x34086", "gasUsed": "0x24679", "contractAddress": null, "logs": [ { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000002000000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f00000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000021000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0", "blockNumber": "0x386b08", "transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x4200000000000000000000000000000000000020", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000075505a97bd334e7bd3c476893285569c4136fa0f" ], "data": "0x", "blockHash": "0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0", "blockNumber": "0x386b08", "transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x4200000000000000000000000000000000000021", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed" ], "data": "0x", "blockHash": "0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0", "blockNumber": "0x386b08", "transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x28672159278d03a97d8e0dde8b878dd46695b873cb7871638785b4cca1dc24870000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2e20144474d5f4f6f76477bc4c6f2b95d2a0a4b2ba5a0c28da81b2c9d36633e0", "blockNumber": "0x386b08", "transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000400000000000000000000000040000000010000000000000000000000000000000000000000000000040000000000000000000000000000000000000000002000000040000000000000000000000000000000008000000800000000000000000000000100000002000000000000000000000000000040000000000000000000080000000000000000000000000000100000000040400200000000000000004000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000000004000000000800000020000000000000800000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb3eed0a8" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1694184181, "chain": 8453, "multi": false, "commit": "1b8a7ce" } ================================================ FILE: mainnet/2023-08-15-support-eas/script/UpgradeToEAS.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/src/universal/ProxyAdmin.sol"; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@eth-optimism-bedrock/src/libraries/Predeploys.sol"; contract UpgradeToEAS is NestedMultisigBuilder { address internal PROXY_ADMIN_CONTRACT = Predeploys.PROXY_ADMIN; address internal PROXY_ADMIN_OWNER = vm.envAddress("L2_NESTED_SAFE"); address internal SCHEMA_REGISTRY_PROXY = Predeploys.SCHEMA_REGISTRY; address internal EAS_PROXY = Predeploys.EAS; address internal SCHEMA_REGISTRY_IMPLEMENTATION = vm.envAddress("REGISTRY_IMPL_ADDRESS"); address internal EAS_IMPLEMENTATION = vm.envAddress("EAS_IMPL_ADDRESS"); function _postCheck() internal override view { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN_CONTRACT); require(proxyAdmin.getProxyImplementation(SCHEMA_REGISTRY_PROXY).codehash == SCHEMA_REGISTRY_IMPLEMENTATION.codehash); require(proxyAdmin.getProxyImplementation(EAS_PROXY).codehash == EAS_IMPLEMENTATION.codehash); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2); calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(SCHEMA_REGISTRY_PROXY), SCHEMA_REGISTRY_IMPLEMENTATION) ) }); calls[1] = IMulticall3.Call3({ target: PROXY_ADMIN_CONTRACT, allowFailure: false, callData: abi.encodeCall( ProxyAdmin.upgrade, (payable(EAS_PROXY), EAS_IMPLEMENTATION) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return PROXY_ADMIN_OWNER; } } ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: deploy-new-implementations deploy-new-implementations: forge script DeployNewFeeVaultsL2 --rpc-url $(L2_RPC_URL) .PHONY: verify-intermediate-implementations verify-intermediate-implementations: @forge verify-contract ${SEQUENCER_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch @forge verify-contract ${L1_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch @forge verify-contract ${BASE_FEEVAULT_IMPL_INT} ./lib/base-contracts/src/fee-vault-fixes/FeeVault.sol:FeeVault --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --retries=1 --watch .PHONY: verify-final-implementations verify-final-implementations: # submitted via UI since we ran into Cloudflare issues @forge verify-contract ${SEQUENCER_FEEVAULT_IMPL_FINAL} SequencerFeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input > etherscanSequencer.json @forge verify-contract ${L1_FEEVAULT_IMPL_FINAL} L1FeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input > etherscanL1.json @forge verify-contract ${BASE_FEEVAULT_IMPL_FINAL} BaseFeeVault --optimizer-runs=999999 --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_VAULT_RECIPIENT} ${MIN_WITHDRAWAL_AMOUNT} 1) --show-standard-json-input > etherscanBase.json ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Commands for signers to run to test the nested safe ## .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \ --sig "sign(address)" $(OP_SAFE_ADDR) .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --via-ir --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \ --sig "sign(address)" $(CB_SAFE_ADDR) ## # Commands for faciliators to run to test the nested safe ## .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \ --sig "approve(address,bytes)" $(OP_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \ --sig "approve(address,bytes)" $(CB_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast execute: forge script --rpc-url $(L2_RPC_URL) FixFeeVaultsL2 \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --sender $(SENDER) --broadcast ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693342112.json ================================================ { "transactions": [ { "hash": "0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x262d9", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31edeba57c571fbfc2bebb524ce797a2042b1c611077a33989d6e757c5da6d4165b125bdc3280b45ae50610eca556ad22d02a03b7b915c0bc92632009a42e47c31bceca4dd8ea154aecafade784a2c6eddc30654558f884f7181ea5ba5e2d05937b5131331539826fa57faf00f869927e4adc04c6353b0d6e13711fee826cc0afbb1b18b46d6e4ce253c2be9d451136b8e359673b8943d6325d63f136c57bd25e0bad2ad08c78a631b7ca584048a0c6fbf75c4318edfde8337f61850fcac2c8a168201c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x12", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c", "transactionIndex": "0x2", "blockHash": "0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3", "blockNumber": "0x31fe5d", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x32ffe", "gasUsed": "0x1ba3f", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31edeba57c571fbfc2bebb524ce797a2042b1c611077a33989d6e757c5da6d4165b125bdc3280b45ae50610eca556ad22d02a03b7b915c0bc92632009a42e47c31bceca4dd8ea154aecafade784a2c6eddc30654558f884f7181ea5ba5e2d05937b5131331539826fa57faf00f869927e4adc04c6353b0d6e13711fee826cc0afbb1b18b46d6e4ce253c2be9d451136b8e359673b8943d6325d63f136c57bd25e0bad2ad08c78a631b7ca584048a0c6fbf75c4318edfde8337f61850fcac2c8a168201c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3", "blockNumber": "0x31fe5d", "transactionHash": "0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3", "blockNumber": "0x31fe5d", "transactionHash": "0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xc93c7e239d24711d4e1e85fa9b000afa83d92630c2ece58d3beb8408c397a8610000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc2ef15b49d55d6bff6593cdf2593a3449b373f3dc15bfa0169fb6830060750e3", "blockNumber": "0x31fe5d", "transactionHash": "0xc7b75ac23ff02c6f089079af1b17446f8f3d705740186cdd117f36ab7a1b175c", "transactionIndex": "0x2", "logIndex": "0x3", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000200000000000000080000000000000040020000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb979fcda" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1693342112, "chain": 8453, "multi": false, "commit": "8deb75d" } ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693585668.json ================================================ { "transactions": [ { "hash": "0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27", "transactionType": "CALL", "contractName": null, "contractAddress": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "gas": "0x2df3b", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f126600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145b786454833d20c1ffe239af00e1a34ce2e9ec7b6fd79c72c189c34a3c62828b511db35d5d546a5d769c94015f9d85a9aedc51c266c79fcbbc715b9a43cdc9f5f1b8ee763459b2a1521812468e9cec726b83ffda26a4363c892523f688a909ec47c4933ba6d010ff739027236b6af4c020a988665f47903e2b64034db49482960ad1c8eee085e76480595e28632728f6bcc69d3043ef3a41f2f65cde186402609b6735111c86c2209f7e04c3d7c4eec040c18d10db66e0f57b033e3f0057504dad44b1c3a66a14663bf39a0d652ccafc641a5e921847297b2f2b3f3172d0efed879a2e42e31d129fd8119e201ff783bc34163cf7a77139d1d29cb8a40266ca8a2126a9a1c422c1f48e35c6e2c52ecef35ac68dffff9a090ef0bd8efdb5da543f5a19b5935567b2d522755c4849caeeb59b30e94de175242c6673b666219c8226ab61556b91b000000000000000000000000000000000000000000000000000000", "nonce": "0x13", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27", "transactionIndex": "0x1", "blockHash": "0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee", "blockNumber": "0x33da0f", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "cumulativeGasUsed": "0x2adfa", "gasUsed": "0x1f6b9", "contractAddress": null, "logs": [ { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcddd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f126600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000145b786454833d20c1ffe239af00e1a34ce2e9ec7b6fd79c72c189c34a3c62828b511db35d5d546a5d769c94015f9d85a9aedc51c266c79fcbbc715b9a43cdc9f5f1b8ee763459b2a1521812468e9cec726b83ffda26a4363c892523f688a909ec47c4933ba6d010ff739027236b6af4c020a988665f47903e2b64034db49482960ad1c8eee085e76480595e28632728f6bcc69d3043ef3a41f2f65cde186402609b6735111c86c2209f7e04c3d7c4eec040c18d10db66e0f57b033e3f0057504dad44b1c3a66a14663bf39a0d652ccafc641a5e921847297b2f2b3f3172d0efed879a2e42e31d129fd8119e201ff783bc34163cf7a77139d1d29cb8a40266ca8a2126a9a1c422c1f48e35c6e2c52ecef35ac68dffff9a090ef0bd8efdb5da543f5a19b5935567b2d522755c4849caeeb59b30e94de175242c6673b666219c8226ab61556b91b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000005", "blockHash": "0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee", "blockNumber": "0x33da0f", "transactionHash": "0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f1266", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65" ], "data": "0x", "blockHash": "0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee", "blockNumber": "0x33da0f", "transactionHash": "0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x28EDB11394eb271212ED66c08f2b7893C04C5D65", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x0e3a554620e532941225007d142c7c78184bd44ca18203864cb657b36702dfd60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf4c2cd38f68446e86c42057840d03b7847f294d1f609c57cbb5528fc73527eee", "blockNumber": "0x33da0f", "transactionHash": "0x092c643590d69c41f9dd764176f7052f10ac074ebce7a1102827de5a28644a27", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000200000000000000000000000000000040020000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000300000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000", "type": "0x2", "effectiveGasPrice": "0xb9a210bf" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1693585668, "chain": 8453, "multi": false, "commit": "3f29786" } ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/records/FixFeeVaultsL2.s.sol/8453/run-1693589726.json ================================================ { "transactions": [ { "hash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "gas": "0x3d430", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000007c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001100000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d0000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000042000000000000000000000000000000000000190000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x14", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "cumulativeGasUsed": "0x37ce5", "gasUsed": "0x2c5a4", "contractAddress": null, "logs": [ { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a2000000000000000000000000000000000000000000000000000000000000007c482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001100000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc0000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d0000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000244482f98d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000042000000000000000000000000000000000000190000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x4200000000000000000000000000000000000011", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x4200000000000000000000000000000000000011", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000d53210ee20948ecff8b6b8180e29657e0ce8492d" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false }, { "address": "0x420000000000000000000000000000000000001A", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000d36f11023188134d0f4610ff0c6e01c1b11488f8" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false }, { "address": "0x420000000000000000000000000000000000001A", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000000c9034b92351cf8f067379a1ffa4fa35f5af9dcc" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x4", "removed": false }, { "address": "0x4200000000000000000000000000000000000019", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000b0b77878bbc76e29abe7584bda27ae3ce1a9059a" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x5", "removed": false }, { "address": "0x4200000000000000000000000000000000000019", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000004e207bdf8aece56de86821f5370b2b993d08c9e9" ], "data": "0x", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x6", "removed": false }, { "address": "0x2304CB33d95999dC29f4CeF1e35065e670a70050", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xdd750456c7810006b906ed75499fc5a6a75a5c3f5f6ead6bd44ef29c471f12660000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x43a163a1260691c7de5702735115a9f46543b57ef03f308f0130f22e99d85800", "blockNumber": "0x33e1fc", "transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528", "transactionIndex": "0x1", "logIndex": "0x7", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000402000120000000000000000400000000000000010000000040000000010000000000000000000000000000000000000000000000000000000000000000000000001000110000000000002000000040400000000000000000000000002000000000100000000000000000000000000000000000000000000080000002000000000000000000000000000800010000000000002000000000000000100000000000400200000000000000004000000000100000000002000000000000004001020000000000000000000020000000000000000000040010000000000000000010000000080500004000080000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb9a0c86c" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1693589726, "chain": 8453, "multi": false, "commit": "3f29786" } ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/script/DeployNewFeeVaultsL2.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import { FeeVault } from "@base-contracts/src/fee-vault-fixes/FeeVault.sol"; import { SequencerFeeVault as SequencerFeeVault_Final } from "@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol"; import { L1FeeVault as L1FeeVault_Final } from "@eth-optimism-bedrock/src/L2/L1FeeVault.sol"; import { FeeVault as OPFeeVault } from "@eth-optimism-bedrock/src/universal/FeeVault.sol"; import { BaseFeeVault as BaseFeeVault_Final } from "@eth-optimism-bedrock/src/L2/BaseFeeVault.sol"; /** * @notice Deploys two (2) implementation contracts per fault for a total of six (6) * 1. The first contract sets the totalProcessed amount to some "correct" amount * 2. The second contract is final intended implementation */ contract DeployNewFeeVaultsL2 is Script { address internal deployer = vm.envAddress("DEPLOYER"); function run() public { uint256 minWithdrawalAmount = vm.envUint("MIN_WITHDRAWAL_AMOUNT"); address feeVaultRecipient = vm.envAddress("FEE_VAULT_RECIPIENT"); // Intermediate implementation contracts vm.broadcast(deployer); FeeVault sfv = new FeeVault(); vm.broadcast(deployer); FeeVault l1fv = new FeeVault(); vm.broadcast(deployer); FeeVault bfv = new FeeVault(); // Final implementation contracts vm.broadcast(deployer); SequencerFeeVault_Final sfv_final = new SequencerFeeVault_Final( feeVaultRecipient, minWithdrawalAmount, OPFeeVault.WithdrawalNetwork.L2 ); vm.broadcast(deployer); L1FeeVault_Final l1fv_final = new L1FeeVault_Final( feeVaultRecipient, minWithdrawalAmount, OPFeeVault.WithdrawalNetwork.L2 ); vm.broadcast(deployer); BaseFeeVault_Final bfv_final = new BaseFeeVault_Final( feeVaultRecipient, minWithdrawalAmount, OPFeeVault.WithdrawalNetwork.L2 ); console.log("Sequencer Fee Vault (Intermediate): %s", address(sfv)); console.log("L1 Fee Vault (Intermediate): %s", address(l1fv)); console.log("Base Fee Vault (Intermediate): %s", address(bfv)); console.log("Sequencer Fee Vault (Final): %s", address(sfv_final)); console.log("L1 Fee Vault (Final): %s", address(l1fv_final)); console.log("Base Fee Vault (Final): %s", address(bfv_final)); } } ================================================ FILE: mainnet/2023-08-22-fee-vault-fix/script/FixFeeVaultsL2.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/src/libraries/Predeploys.sol"; import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol"; import "@eth-optimism-bedrock/src/universal/ProxyAdmin.sol"; import { SequencerFeeVault as SequencerFeeVault_Final } from "@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol"; import { L1FeeVault as L1FeeVault_Final } from "@eth-optimism-bedrock/src/L2/L1FeeVault.sol"; import { BaseFeeVault as BaseFeeVault_Final } from "@eth-optimism-bedrock/src/L2/BaseFeeVault.sol"; import { FeeVault } from "@base-contracts/src/fee-vault-fixes/FeeVault.sol"; import "../lib/base-contracts/script/universal/NestedMultisigBuilder.sol"; /** * @notice Upgrades the Fee Vaults through two implementation contracts: * 1. The first sets the totalProcessed amount to some "correct" amount * 2. The second sets the contract to the final intended implementation */ contract FixFeeVaultsL2 is NestedMultisigBuilder { ProxyAdmin PROXY_ADMIN = ProxyAdmin(Predeploys.PROXY_ADMIN); address payable internal SequencerFeeVault = payable(Predeploys.SEQUENCER_FEE_WALLET); address payable internal L1FeeVault = payable(Predeploys.L1_FEE_VAULT); address payable internal BaseFeeVault = payable(Predeploys.BASE_FEE_VAULT); address internal SequencerFeeVaultImpl_1 = vm.envAddress("SEQUENCER_FEEVAULT_IMPL_INT"); address internal L1FeeVaultImpl_1 = vm.envAddress("L1_FEEVAULT_IMPL_INT"); address internal BaseFeeVaultImpl_1 = vm.envAddress("BASE_FEEVAULT_IMPL_INT"); address payable internal SequencerFeeVaultImpl_Final = payable(vm.envAddress("SEQUENCER_FEEVAULT_IMPL_FINAL")); address payable internal L1FeeVaultImpl_Final = payable(vm.envAddress("L1_FEEVAULT_IMPL_FINAL")); address payable internal BaseFeeVaultImpl_Final = payable(vm.envAddress("BASE_FEEVAULT_IMPL_FINAL")); address internal L2_NESTED_SAFE = vm.envAddress("L2_NESTED_SAFE"); uint256 internal SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint("SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED"); uint256 internal L1_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint("L1_VAULT_TARGET_TOTAL_PROCESSED"); uint256 internal BASE_VAULT_TARGET_TOTAL_PROCESSED = vm.envUint("BASE_VAULT_TARGET_TOTAL_PROCESSED"); /** * @notice Builds the following calls for each vault: * 1. upgradeAndCall to intermediate implementation * 2. upgrade to final implementation (w/ init as necessary) */ function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](6); bytes memory setTotalProcessedSequencer = abi.encodeCall( FeeVault.setTotalProcessed, (SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED) ); bytes memory setTotalProcessedL1 = abi.encodeCall( FeeVault.setTotalProcessed, (L1_VAULT_TARGET_TOTAL_PROCESSED) ); bytes memory setTotalProcessedBase = abi.encodeCall( FeeVault.setTotalProcessed, (BASE_VAULT_TARGET_TOTAL_PROCESSED) ); /// // SEQUENCER FEE VAULT CALLS /// calls[0] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgradeAndCall, ( SequencerFeeVault, SequencerFeeVaultImpl_1, setTotalProcessedSequencer ) ) }); calls[1] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgrade, ( SequencerFeeVault, SequencerFeeVaultImpl_Final ) ) }); /// // L1 FEE VAULT CALLS /// calls[2] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgradeAndCall, ( L1FeeVault, L1FeeVaultImpl_1, setTotalProcessedL1 ) ) }); calls[3] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgrade, ( L1FeeVault, L1FeeVaultImpl_Final ) ) }); /// // BASE FEE VAULT CALLS /// calls[4] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgradeAndCall, ( BaseFeeVault, BaseFeeVaultImpl_1, setTotalProcessedBase ) ) }); calls[5] = IMulticall3.Call3({ target: Predeploys.PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall( PROXY_ADMIN.upgrade, ( BaseFeeVault, BaseFeeVaultImpl_Final ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return L2_NESTED_SAFE; } /** * @notice Checks for the following conditions: * 1. The new implementation codehash matches the intended * 2. The "totalProcessed" amount matches the target */ function _postCheck() internal override view { require( PROXY_ADMIN.getProxyImplementation(SequencerFeeVault).codehash == SequencerFeeVaultImpl_Final.codehash, "FixFeeVaultsL2: SequencerFeeVault not upgraded" ); require( SequencerFeeVault_Final(SequencerFeeVault).totalProcessed() == SEQUENCER_VAULT_TARGET_TOTAL_PROCESSED, "FixFeeVaultsL2: SequencerFeeVault incorrect total processed" ); require( PROXY_ADMIN.getProxyImplementation(L1FeeVault).codehash == L1FeeVaultImpl_Final.codehash, "FixFeeVaultsL2: L1FeeVault not upgraded" ); require( L1FeeVault_Final(L1FeeVault).totalProcessed() == L1_VAULT_TARGET_TOTAL_PROCESSED, "FixFeeVaultsL2: L1FeeVault incorrect total processed" ); require( PROXY_ADMIN.getProxyImplementation(BaseFeeVault).codehash == BaseFeeVaultImpl_Final.codehash, "FixFeeVaultsL2: BaseFeeVault not upgraded" ); require( BaseFeeVault_Final(BaseFeeVault).totalProcessed() == BASE_VAULT_TARGET_TOTAL_PROCESSED, "FixFeeVaultsL2: BaseFeeVault incorrect total processed" ); } } ================================================ FILE: mainnet/2023-08-28-deploy-revshare/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: fee-disburser-ownership-transfer fee-disburser-ownership-transfer: forge script FeeDisburserOwnershipTransfer --rpc-url $(L2_RPC_URL) .PHONY: deploy-balance-tracker deploy-balance-tracker: @forge script DeployBalanceTracker --rpc-url $(L1_RPC_URL) --sig "run()" .PHONY: deploy-fee-disburser deploy-fee-disburser: @forge script DeployFeeDisburser --rpc-url $(L2_RPC_URL) --sig "run()" .PHONY: verify-balance-tracker verify-balance-tracker: forge verify-contract ${BALANCE_TRACKER_PROXY} Proxy --constructor-args $(shell cast abi-encode "constructor(address)" ${BALANCE_TRACKER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${ETHERSCAN_API_KEY} --watch forge verify-contract ${BALANCE_TRACKER_IMPL} ./lib/base-contracts/src/revenue-share/BalanceTracker.sol:BalanceTracker --constructor-args $(shell cast abi-encode "constructor(address)" ${PROFIT_WALLET}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --watch .PHONY: verify-fee-disburser verify-fee-disburser: forge verify-contract ${FEE_DISBURSER_IMPL} ./lib/base-contracts/src/revenue-share/FeeDisburser.sol:FeeDisburser --constructor-args $(shell cast abi-encode "constructor(address,address,uint256)" ${OPTIMISM_WALLET} ${BALANCE_TRACKER_PROXY} ${FEE_DISBURSEMENT_INTERVAL}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch # forge verify-contract ${FEE_DISBURSER_PROXY} Proxy --constructor-args $(shell cast abi-encode "constructor(address)" ${FEE_DISBURSER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # MultisigBuilder commands # The following commands can be used for tasks that utilize the MultisigBuilder. # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. ## .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script UpgradeToFeeDisburser --via-ir --rpc-url $(L2_RPC_URL) --sig "sign()" .PHONY: execute execute: @forge script UpgradeToFeeDisburser --rpc-url $(L2_RPC_URL) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sender $(SENDER) --broadcast ================================================ FILE: mainnet/2023-08-28-deploy-revshare/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2023-08-28-deploy-revshare/records/UpgradeToFeeDisburser.s.sol/8453/run-1693609606.json ================================================ { "transactions": [ { "hash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x27511", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000045969d00739d518f0dde41920b67ce30395135a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d6d9497e3610815512d7dae0c0dc72101e58ee4562b7cd856e82bdb37279b2b5bf69f1a29d7d07b1aeb1aaee55ee7c26eab555ecc461b15766bb17495ee2ba21c5046942a48fd2639e0f4b80ec8615a0a848a49863d29354623c56c25369344744776077335ef8a0cdbbdcd9eb2c58954aa742926588de3c09675559f5bceccac1b3314cf2e482f0f01d3d6261cda7700825533b51501a9e414b7a35c71c32827b82a650c53ed1cd43fd407db95f0d0a41ac9d333b63d2a17e097569ccfd48ef4d81c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x15", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278", "transactionIndex": "0x1", "blockHash": "0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b", "blockNumber": "0x3408d0", "from": "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "to": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "cumulativeGasUsed": "0x26557", "gasUsed": "0x1ae22", "contractAddress": null, "logs": [ { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000045969d00739d518f0dde41920b67ce30395135a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d6d9497e3610815512d7dae0c0dc72101e58ee4562b7cd856e82bdb37279b2b5bf69f1a29d7d07b1aeb1aaee55ee7c26eab555ecc461b15766bb17495ee2ba21c5046942a48fd2639e0f4b80ec8615a0a848a49863d29354623c56c25369344744776077335ef8a0cdbbdcd9eb2c58954aa742926588de3c09675559f5bceccac1b3314cf2e482f0f01d3d6261cda7700825533b51501a9e414b7a35c71c32827b82a650c53ed1cd43fd407db95f0d0a41ac9d333b63d2a17e097569ccfd48ef4d81c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000040000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b", "blockNumber": "0x3408d0", "transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000045969d00739d518f0dde41920b67ce30395135a0" ], "data": "0x", "blockHash": "0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b", "blockNumber": "0x3408d0", "transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0xd94E416cf2c7167608B2515B7e4102B41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x6bdf56a2b0274bb026da9d8a89f05812cf88201698bcc24eee104e25bcc684f50000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xaf774db5fbd907294e95410bb6dd601e3d4a612ab650af46a6b3bc4cfdf25d2b", "blockNumber": "0x3408d0", "transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400100200000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000000000000000000020000000000000000000020000000000000000000000000000020000000000020000000000100000000000000000000800000004000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb4ff98cd" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1693609606, "chain": 8453, "multi": false, "commit": "29592ee" } ================================================ FILE: mainnet/2023-08-28-deploy-revshare/script/DeployBalanceTracker.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol"; import { BalanceTracker } from "@base-contracts/src/revenue-share/BalanceTracker.sol"; contract DeployBalanceTracker is Script { address payable[] systemAddresses; uint256[] targetBalances; function run() external { address deployer = vm.envAddress("BALANCE_TRACKER_DEPLOYER"); address payable profitWallet = payable(vm.envAddress("PROFIT_WALLET")); address payable outputProposer = payable(vm.envAddress("OUTPUT_PROPOSER")); address payable batchSender = payable(vm.envAddress("BATCH_SENDER")); uint256 outputProposerTargetBalance = vm.envUint("OUTPUT_PROPOSER_TARGET_BALANCE"); uint256 batchSenderTargetBalance = vm.envUint("BATCH_SENDER_TARGET_BALANCE"); address admin = vm.envAddress("BALANCE_TRACKER_ADMIN"); string memory salt = vm.envString("BALANCE_TRACKER_SALT"); console.log("Deployer: %s", deployer); console.log("Profit Wallet: %s", profitWallet); console.log("Batch Sender: %s", batchSender); console.log("Output Proposer: %s", outputProposer); console.log("Batch Sender Target Balance: %s", batchSenderTargetBalance); console.log("Output Proposer Target Balance: %s", outputProposerTargetBalance); console.log("Admin: %s", admin); console.log("Salt: %s", salt); vm.broadcast(deployer); BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet); require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, "DeployBalanceTracker: incorrect profit wallet"); systemAddresses.push(outputProposer); systemAddresses.push(batchSender); targetBalances.push(outputProposerTargetBalance); targetBalances.push(batchSenderTargetBalance); bytes memory initializeCall = abi.encodeCall( BalanceTracker.initialize, ( systemAddresses, targetBalances ) ); vm.broadcast(deployer); Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer); vm.prank(address(0)); require(proxy.admin() == deployer, "DeployBalanceTracker: incorrect proxy admin"); vm.broadcast(deployer); proxy.upgradeToAndCall(payable(address(balanceTrackerImpl)), initializeCall); BalanceTracker balanceTracker = BalanceTracker(payable(address(proxy))); require(balanceTracker.systemAddresses(0) == outputProposer, "DeployBalanceTracker: incorrect output proposer"); require(balanceTracker.systemAddresses(1) == batchSender, "DeployBalanceTracker: incorrect batch sender"); require(balanceTracker.targetBalances(0) == outputProposerTargetBalance, "DeployBalanceTracker: incorrect output proposer target balance"); require(balanceTracker.targetBalances(1) == batchSenderTargetBalance, "DeployBalanceTracker: incorrect batch sender target balance"); vm.broadcast(deployer); proxy.changeAdmin(admin); vm.prank(address(0)); require(proxy.admin() == admin, "DeployBalanceTracker: incorrect proxy admin"); console.log("Balance Tracker Impl address: %s", address(balanceTrackerImpl)); console.log("Balance Tracker Proxy address: %s", address(proxy)); } } ================================================ FILE: mainnet/2023-08-28-deploy-revshare/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol"; import { FeeDisburser } from "@base-contracts/src/revenue-share/FeeDisburser.sol"; contract DeployFeeDisburser is Script { function run() external { address deployer = vm.envAddress("FEE_DISBURSER_DEPLOYER"); address payable optimismWallet = payable(vm.envAddress("OPTIMISM_WALLET")); address balanceTracker = vm.envAddress("BALANCE_TRACKER_PROXY"); uint256 feeDisbursementInterval = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); address admin = vm.envAddress("FEE_DISBURSER_ADMIN"); string memory salt = vm.envString("FEE_DISBURSER_SALT"); console.log("Deployer: %s", deployer); console.log("Optimism Wallet: %s", optimismWallet); console.log("Balance Tracker: %s", balanceTracker); console.log("Fee Disbursement Interval: %s", feeDisbursementInterval); console.log("Admin: %s", admin); console.log("Salt: %s", salt); vm.broadcast(deployer); FeeDisburser feeDisburserImpl = new FeeDisburser( optimismWallet, balanceTracker, feeDisbursementInterval ); require(feeDisburserImpl.OPTIMISM_WALLET() == optimismWallet, "DeployFeeDisburser: incorrect optimism wallet"); require(feeDisburserImpl.L1_WALLET() == balanceTracker, "DeployFeeDisburser: incorrect l1 wallet"); require(feeDisburserImpl.FEE_DISBURSEMENT_INTERVAL() == feeDisbursementInterval, "DeployFeeDisburser: incorrect fee disbursement interval"); console.log("Fee Disburser Impl address: %s", address(feeDisburserImpl)); } } ================================================ FILE: mainnet/2023-08-28-deploy-revshare/script/FeeDisburserOwnershipTransfer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol"; contract FeeDisburserOwnershipTransfer is Script { address internal _proxyContract = vm.envAddress("FEE_DISBURSER_PROXY"); address internal _oldOwner = vm.envAddress("FEE_DISBURSER_EXISTING_OWNER"); address internal _newOwner = vm.envAddress("CB_SAFE_ADDR"); function run() public { Proxy feeDisburserProxyContract = Proxy(payable(_proxyContract)); vm.broadcast(_oldOwner); feeDisburserProxyContract.changeAdmin(_newOwner); vm.prank(address(0)); require( feeDisburserProxyContract.admin() == _newOwner, "FeeDisburserOwnershipTransfer: Proxy owner did not get updated" ); } } ================================================ FILE: mainnet/2023-08-28-deploy-revshare/script/UpgradeToFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { IMulticall3 } from "forge-std/interfaces/IMulticall3.sol"; import { Proxy } from "@eth-optimism-bedrock/contracts/universal/Proxy.sol"; import { MultisigBuilder } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { FeeDisburser } from "@base-contracts/src/revenue-share/FeeDisburser.sol"; /** * @notice Upgrades the FeeDisburser proxy contract */ contract UpgradeToFeeDisburser is MultisigBuilder { address payable internal FEE_DISBURSER_PROXY = payable(vm.envAddress("FEE_DISBURSER_PROXY")); address payable internal FEE_DISBURSER_IMPL = payable(vm.envAddress("FEE_DISBURSER_IMPL")); address internal OPTIMISM_WALLET = vm.envAddress("OPTIMISM_WALLET"); address internal CB_SAFE_ADDR = vm.envAddress("L2_CB_SAFE_ADDR"); /** * @notice Upgrades the FeeDisburser proxy to point to the FeeDisburser implementation contract */ function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); /// // FEE DISBURSER PROXY UPGRADE TO FEE DISBURSER IMPLEMENTATION CALL /// calls[0] = IMulticall3.Call3({ target: FEE_DISBURSER_PROXY, allowFailure: false, callData: abi.encodeCall( Proxy.upgradeTo, ( FEE_DISBURSER_IMPL ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return CB_SAFE_ADDR; } /** * @notice Checks that the FeeDisburser proxy is able to read an immutable variable on the FeeDisburser implementation contract. */ function _postCheck() internal override view { require( FeeDisburser(FEE_DISBURSER_PROXY).OPTIMISM_WALLET() == OPTIMISM_WALLET, "UpgradeToFeeDisburser: FeeDisburser incorrect Optimism Wallet" ); } } ================================================ FILE: mainnet/2024-02-21-setup-smart-escrow/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deploy-new-implementation deploy-new-implementation: forge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow .PHONY: verify-implementation verify-implementation: forge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \ --constructor-args $(shell cast abi-encode "constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \ --watch --chain-id $(OPTIMISM_CHAIN_ID) \ --compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \ --verifier-url https://api-optimistic.etherscan.io/api ================================================ FILE: mainnet/2024-02-21-setup-smart-escrow/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-02-21-setup-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1709074703.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CREATE", "contractName": "SmartEscrow", "contractAddress": "0x143F5773CFE5613ca94196d557c889134F47CB77", "function": null, "arguments": [ "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x635Fb974F09B269Bc750bF96338c29cF41430125", "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "1720674000", "1878462000", "7889400", "17895697000000000000000000", "4473924000000000000000000" ], "transaction": { "type": "0x02", "from": "0xbebe472f467888b197b90693b8852ad12a50b261", "gas": "0x38dcc7", "value": "0x0", "data": "0x61012034620004c857601f620034da38819003918201601f1916830191906001600160401b03831184841017620004cd57816101409285926040958652833981010312620004c8576200005282620004e3565b9060209262000063848201620004e3565b9362000071838301620004e3565b916200008060608201620004e3565b926200008f60808301620004e3565b9160a081015160c082015160e083015191610100996101208b8601519501519b60018060a01b038098169182156200048457600180546001600160d01b0316610d2f60d71b179055600254928984166200042b578a98979695949392918d828c9360018060a01b03198097161760025560009d8e808052808252838120838252825260ff848220541615620003ef575b505050501680158015620003e4575b8015620003d9575b8015620003ce575b620003bd574284106200039f57848410156200038257851562000371578e156200036057856200016f8587620004f8565b10620003485785620001828587620004f8565b0662000323579189620002529d9e9f96949262000206999896948360035416176003551690600454161760045560805260a05260c05260e05289527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f27480865285845288862085831690818852855260ff8a8820541615620002e9575b50506200051a565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc9081845283815286842092851692838552815260ff878520541615620002ae575b505050506200051a565b51612efd9182620005bd833960805182818161087c0152612508015260a0518281816102580152612538015260c051828181610b860152612606015260e051828181610ff60152612682015251818181610c38015261262f0152f35b8184528381528684209083855252858320600160ff19825416179055600080516020620034ba83398151915233938751a43880808062000248565b8187528685528987208188528552898720600160ff198254161790553391600080516020620034ba833981519152888c51a43880620001fe565b5050506064935089519263dd76dcd560e01b8452600484015260248301526044820152fd5b8c51630bfa645d60e21b815260048101879052602490fd5b8c51630ea157a960e21b8152600490fd5b8c5163931ef49360e01b8152600490fd5b604484868f519163593d712f60e01b835260048301526024820152fd5b8c51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8c5163ac0b3e2160e01b8152600490fd5b50898816156200013e565b50898c161562000136565b50898216156200012e565b808492818052528d828220908483525220600160ff198254161790558d600080516020620034ba83398151915281339451a48d388b8e6200011f565b8c5162461bcd60e51b8152600481018c9052602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8b5162461bcd60e51b8152600481018b9052601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620004c857565b81811062000504570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff16156200058457505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620034ba8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121a957508163022d63fb1461216d578163046f7da2146120b45781630aa6220b14611fca5781630aaffd2a14611d8e5781630c08bf8814611b545781631a2c2a2b14611b125781631bfce85314611ad4578163224d7e5914611a87578163248a9ca314611a3f5781632806e3d6146118635781632a7117521461180a5781632f2ff15d1461168f57816336568abe1461146a57816338af3eed1461141857816350ad25551461101957816350bfeadc14610fc0578163634e93da14610e93578163649a5ec714610c5b578163677caf8114610c025781636efd06c114610ba95781637313ee5a14610b505781637ca4010114610af757816384ef8ffc14610a1957816386d1a69f14610abf5781638a81694c14610a6c5781638da5cb5b14610a1957816391d14854146109a9578163961325211461096c578163a1eda53c146108d8578163a217fddf1461089f578163be9a655514610846578163cc8463c8146107fc578163cefc142914610469578163cf6eefb714610402578163d547741f1461031657508063d602b9fd1461027b578063efbe1c1c146102235763fbccedae146101d257600080fd5b3461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209061021861020f42612506565b600554906124fb565b9051908152f35b5080fd5b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576102b26126d5565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102ee5751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356103506122c0565b91811561037b57509081610378928552846020526103736001858720015461297f565b612b16565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104665750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107795760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161076f575b50156106ec5760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610687575b50600254928284166106055750169283911617600255838052838152828420828552815260ff83852054161561059c575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061056f565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a43861053e565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104ec565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209065ffffffffffff61083e612c16565b915191168152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5751908152602090f35b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466576002548060d01c9182151580610962575b15610954575065ffffffffffff6109509160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109509150610931565b5042831015610919565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576020906005549051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578160209360ff926109e86122c0565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576103786123c2565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57823565ffffffffffff93848216808303610e8f57610ca86126d5565b610cb142612e30565b9186610cbb612c16565b1680831115610e27575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d0692916206978080821015610e2057505b1690612c4f565b906002548060d01c80610d9c575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610df55779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d14565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610dee565b9050610cff565b909650818110610e63577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d0692910390612c4f565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57610ecc612298565b610ed46126d5565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f11610f0342612e30565b610f0b612c16565b90612c4f565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610f96575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610f8c565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611053612298565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff85872054161561114257505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b5750600354908116908282036110c6575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a33880806110c0565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b8484918761114f33612caa565b9183519061115c826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b8183116112f457505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612ae1565b0103602881018552018361232e565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612ae1565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a6113318587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061118d565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356114a46122c0565b9181158061166b575b61155d575b3373ffffffffffffffffffffffffffffffffffffffff8416036114da57509061037891612b16565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff1681611659575b81611646575b50156115c3577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff600154166001556114b2565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff4291161038611590565b65ffffffffffff81161515915061158a565b5073ffffffffffffffffffffffffffffffffffffffff8060025416908416146114ad565b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578035906116ca6122c0565b9082156117875750818452836020526116e86001848620015461297f565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561172157505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5761189b6126d5565b60ff6006541615611a18578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa9384156119db5786946119e5575b508361190a57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af19283156119db577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b936119ae575b5060035416928451908152a238808080858551f35b6119cd90833d85116119d4575b6119c5818361232e565b81019061236f565b5038611999565b503d6119bb565b85513d88823e3d90fd5b9093508181813d8311611a11575b6119fd818361232e565b81010312611a0d575192386118ff565b8580fd5b503d6119f3565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57816020936001923581528085522001549051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517342000000000000000000000000000000000000428152f35b8284346104665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575061021860209235612506565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209060ff6006541690519015158152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72808452602090848252838520338652825260ff848620541615611c5057505060ff60065416611c295750611bd76123c2565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b90517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b84611c5d94929433612caa565b91835190611c6a826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611d1e57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611d5b8587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611c9b565b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611dc8612298565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611e8c57505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b57805491821691838303611e3757858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611e9933612caa565b91835190611ea6826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611f5a57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611f978587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611ed7565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576120026126d5565b6002548060d01c80612030575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120895779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b388061200f565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a1612082565b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe576120ec6126d5565b6006549060ff82161561214657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209051620697808152f35b8491346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103fe57602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561223b575b5015158152f35b7f7965db0b0000000000000000000000000000000000000000000000000000000081149150811561226e575b5083612234565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483612267565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b6080810190811067ffffffffffffffff8211176122ff57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176122ff57604052565b908160209103126122bb575180151581036122bb5790565b81198111612393570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166124d1576123d542612506565b6123e260055480926124fb565b90816123ec575050565b816123f691612387565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124c5577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124a8575b506004541692604051908152a2565b6124be90833d81116119d4576119c5818361232e565b5038612499565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b818110612393570390565b7f000000000000000000000000000000000000000000000000000000000000000080821015612536575050600090565b7f00000000000000000000000000000000000000000000000000000000000000008211156125fb5750506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124c5576000906125c8575b6125c5915060055490612387565b90565b6020823d82116125f3575b816125e06020938361232e565b8101031261046657506125c590516125b7565b3d91506125d3565b612604916124fb565b7f00000000000000000000000000000000000000000000000000000000000000009081156126a657047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04811182151516612393576125c591027f0000000000000000000000000000000000000000000000000000000000000000612387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561271457505050565b61271d33612caa565b908381519061272b826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b8183116128875750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b0103602881018b52018961232e565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612ae1565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a6128c48587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061275c565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129a75750505050565b6129b033612caa565b918151906129bd826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b818311612a705750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a612aad8587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906129ee565b918091926000905b828210612b01575011612afa575050565b6000910152565b91508060209183015181860152018291612ae9565b90811580612bf2575b612bc5575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612b6157505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b24565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b1f565b6002548060d01c8015159081612c45575b5015612c3b5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c27565b9065ffffffffffff8080931691168092038111612393570190565b908151811015612c7b570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff8211176122ff57604052602a8252602082016040368237825115612c7b57603090538151600190811015612c7b57607860218401536029905b808211612d65575050612d075790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e02577f3031323334353637383961626364656600000000000000000000000000000000901a612da18486612c6a565b5360041c918015612dd4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612cf7565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e43571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212205ca5c6914090ed2e302abfde2268602e29af32b2436316839f1424df02ba4ba264736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d0000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1709074703, "chain": 10, "multi": false, "commit": "5f709e1" } ================================================ FILE: mainnet/2024-02-21-setup-smart-escrow/script/DeploySmartEscrow.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@base-contracts/src/smart-escrow/SmartEscrow.sol"; contract DeploySmartEscrow is Script { address internal DEPLOYER = vm.envAddress("DEPLOYER"); address internal BENEFACTOR = vm.envAddress("BENEFACTOR"); address internal BENEFICIARY = vm.envAddress("BENEFICIARY"); address internal BENEFACTOR_OWNER = vm.envAddress("BENEFACTOR_OWNER"); address internal BENEFICIARY_OWNER = vm.envAddress("BENEFICIARY_OWNER"); address internal ESCROW_OWNER = vm.envAddress("NESTED_SAFE"); uint256 internal START = vm.envUint("START"); uint256 internal END = vm.envUint("END"); uint256 internal VESTING_PERIOD_SECONDS = vm.envUint("VESTING_PERIOD_SECONDS"); uint256 internal INITIAL_TOKENS = vm.envUint("INITIAL_TOKENS"); uint256 internal VESTING_EVENT_TOKENS = vm.envUint("VESTING_EVENT_TOKENS"); function run() public { vm.broadcast(DEPLOYER); SmartEscrow smartEscrow = new SmartEscrow( BENEFACTOR, BENEFICIARY, BENEFACTOR_OWNER, BENEFICIARY_OWNER, ESCROW_OWNER, START, END, VESTING_PERIOD_SECONDS, INITIAL_TOKENS, VESTING_EVENT_TOKENS ); require(smartEscrow.start() == START, "DeploySmartEscrow: start time not set correctly"); require(smartEscrow.end() == END, "DeploySmartEscrow: end time not set correctly"); require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, "DeploySmartEscrow: vesting period incorrect"); require(smartEscrow.initialTokens() == INITIAL_TOKENS, "DeploySmartEscrow: number of initial tokens incorrect"); require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, "DeploySmartEscrow: number of vesting event tokens incorrect"); require(smartEscrow.benefactor() == BENEFACTOR, "DeploySmartEscrow: benefactor incorrect"); require(smartEscrow.beneficiary() == BENEFICIARY, "DeploySmartEscrow: beneficiary incorrect"); require(smartEscrow.released() == 0, "DeploySmartEscrow: initial released value must bex zero"); require(smartEscrow.contractTerminated() == false, "DeploySmartEscrow: contract cannot initially be terminated"); } } ================================================ FILE: mainnet/2024-02-23-transfer-op/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif install-agora: forge install --no-git git@github.com:voteagora/optimism-gov.git .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \ --sig "sign(address)" $(CB_MULTISIG) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \ --sig "sign(address)" $(OP_MULTISIG) .PHONY: approve-cb approve-cb: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \ --sig "approve(address,bytes)" $(CB_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" .PHONY: approve-op approve-op: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \ --sig "approve(address,bytes)" $(OP_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" .PHONY: execute execute: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferAndDelegateOPTokens \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: mainnet/2024-02-23-transfer-op/README.md ================================================ # Transfer and Delegate OP Tokens Status: WILL NOT EXECUTE - see updated task in 2024-07-30-transfer-op ## Objective When Base launched, Optimism granted a share of OP tokens to Coinbase. The token distribution occurs onchain, and vests over a period of 6 years, with the first vesting event in July 2024. A smart contract handles the logic to make the tokens available for distribution as they vest. This smart contract (the "Smart Escrow Contract") also receives OP tokens 1 year before they vest and stores them until vesting. However, since the Smart Escrow contract was not ready upon Base launch, the existing OP tokens are being stored in a 2-of-2 multisig with CB & OP signers (similar to the multisig used for Base's upgrade keys, except on the Optimism network). Now that the Smart Escrow contract is live, this task moves any existing OP tokens from the 2-of-2 multisig to the Smart Escrow contract. The one caveat is that some amount of the tokens (the "upfront grant") is available to be used by Coinbase for governance purposes, and since the Smart Escrow contract does not support governance use cases, these tokens will remain in the 2-of-2 and be sent directly to Coinbase upon vesting in July 2024. In the meantime, we will do a 1 time delegation of these tokens to a Coinbase owned address, so they can be used for governance purposes prior to July. This delegation event is also handled in this signing task. ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-02-23-transfer-op make deps make install-agora ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-op # or make sign-cb for Coinbase signers ``` Note: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue: ``` git clone git@github.com:base-org/eip712sign.git cd eip712sign go install ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Optimism Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Nested Multisig under the "GnosisSafeProxy" at address `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000001 After: 0x0000000000000000000000000000000000000000000000000000000000000002 ``` 2. And for the same contract, verify that this specific execution is approved by the other signer multisig: ``` Key (if you are an OP signer): 0x36052d50e52fd56e1e5ef2bf9000ecb5fdb428f034f8a3e05880448b8f161877 Key (if you are a CB signer): 0xff52d03d7d7be46582113567dad0fd34f0eebc222f5fc655b711ba09f22bdb1f Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000000000000000000000000000000000000000000001 ``` 3. Verify that the nonce is incremented for your multisig. If you are an OP signer - the OP Foundation Multisig should be under the "GnosisSafeProxy" at address `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000007a After: 0x000000000000000000000000000000000000000000000000000000000000007b ``` If you are a CB signer - the Coinbase Multisig should be under the address `0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000001 After: 0x0000000000000000000000000000000000000000000000000000000000000002 ``` 4. Verify that the state changes for the OP ERC20 token match the expected balance updates. Specifically, verify that the delegate for the Nested Multisig is established as: `0x85e870a853a55c312bbfdb16c1f64d36916b6629`. Under the `_delegates` field, look for the following state change: ``` 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940 0x0000000000000000000000000000000000000000 -> 0x85e870a853a55c312bbfdb16c1f64d36916b6629 ``` 5. Under the "Optimism ERC-20" `_balances` field, look for the following state changes: ``` 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940 37580963000000000000000000 -> 10737418000000000000000000 0x1a984e693f8a9c38f3ae1f1af14b677ac245dead 0 -> 26843545000000000000000000 ``` 6. Verify that the Agora "Alligator Proxy" subdelegate is established correctly. Under the "ERC1967 Proxy" at `0x7f08f3095530b67cdf8466b7a923607944136df0`, expand the state by clicking on the "+" for `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`. Verify that the following state change is expected: ``` mapping (address => mapping (address => tuple)) subdelegations 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940 0x635fb974f09b269bc750bf96338c29cf41430125 maxRedelegations 0 -> 1 allowanceType 0 -> 10737418000000000000000000 ``` Here, the associated events might help add some context. If necessary for clarity, cross check this state transition with the associated events in the "Events" tab: Verify that the call emitted `DelegateVotesChanged` with a new balance of `10737418000000000000000000` with details: ```json { "delegate": "0x85e870a853a55c312bbfdb16c1f64d36916b6629", "previousBalance": "0", "newBalance": "10737418000000000000000000" } ``` Verify that the call emitted `SubDelegation`, specifying an allowance of `10737418000000000000000000` with details: ```json { "from": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "to": "0x635fb974f09b269bc750bf96338c29cf41430125", "subdelegationRules": { "maxRedelegations": 1, "blocksBeforeVoteCloses": 0, "notValidBefore": 0, "notValidAfter": 0, "customRule": "0x0000000000000000000000000000000000000000", "allowanceType": 0, "allowance": "10737418000000000000000000" } } ``` 7. Verify that the `L1FeeVault` at `0x420000000000000000000000000000000000001a` receives the gas associated with the call: _Note: the balance values here will not be exactly the same_ ``` Balance 3335732882538676762398 -> 3335734048351707566580 ``` 8. Verify that the nonce for the sending address is appropriately incremented: _Note: the nonce value might be different depending on the nonce of the sending EOA_ ``` Nonce 0 -> 1 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafeL2.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the hash value may be different: image It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-op # or make sign-cb for Coinbase signers ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## [For Facilitator ONLY] How to execute the rehearsal ### [After the rehearsal] Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-cb` with Coinbase signer signatures. 4. Run `make approve-op` with Optimism signer signatures. 4. Run `make run` to execute the transaction onchain. ================================================ FILE: mainnet/2024-02-23-transfer-op/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.19" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@agora=lib/optimism-gov/src', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-02-23-transfer-op/script/TransferAndDelegateOPTokens.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol"; import "@agora/structs/RulesV3.sol"; import "@agora/structs/AllowanceType.sol"; import "@agora/alligator/AlligatorOP_V5.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract TransferAndDelegateOPTokens is NestedMultisigBuilder { IERC20 internal OP_TOKEN = IERC20(vm.envAddress("OP_TOKEN")); address internal NESTED_SAFE = vm.envAddress("NESTED_SAFE"); address internal SMART_ESCROW = vm.envAddress("SMART_ESCROW_CONTRACT"); address internal ALLIGATOR_PROXY = vm.envAddress("ALLIGATOR_PROXY"); // Agora address which will allow for subdelegation address internal BENEFICIARY = vm.envAddress("BENEFICIARY"); uint256 internal UPFRONT_GRANT_TOKENS = vm.envUint("UPFRONT_GRANT_TOKENS"); uint256 internal TOKENS_TO_TRANSFER = vm.envUint("TOKENS_TO_TRANSFER"); function _postCheck() internal override view { require( OP_TOKEN.balanceOf(SMART_ESCROW) >= TOKENS_TO_TRANSFER, "TransferAndDelegateOPTokens: tokens not transferred to smart escrow" ); require( OP_TOKEN.balanceOf(NESTED_SAFE) >= UPFRONT_GRANT_TOKENS, "TransferAndDelegateOPTokens: number of remaining tokens in nested safe is incorrect" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3); // Double check that there are enough tokens to transfer uint256 remainingTokens = OP_TOKEN.balanceOf(NESTED_SAFE) - TOKENS_TO_TRANSFER; require( remainingTokens >= UPFRONT_GRANT_TOKENS, "TransferAndDelegateOPTokens: not enough tokens to transfer" ); // Transfer collaboration grant tokens which are in the nested safe to smart escrow // Tokens are sent to the contract 1 year before they vest, so this will be some subset of the // total collaboration grant tokens calls[0] = IMulticall3.Call3({ target: address(OP_TOKEN), allowFailure: false, callData: abi.encodeCall( IERC20.transfer, (SMART_ESCROW, TOKENS_TO_TRANSFER) ) }); // Delegate governance tokens for initial grant to Agora's Alligator proxy, // which will allow for subdelegations calls[1] = IMulticall3.Call3({ target: address(OP_TOKEN), allowFailure: false, callData: abi.encodeCall( ERC20Votes.delegate, (AlligatorOPV5(ALLIGATOR_PROXY).proxyAddress(NESTED_SAFE)) ) }); // Setup subdelegation rules // The intended functionality here is that the wallet we delegate to should be able to redelegate, // but the wallet(s) it redelegates to should not be able to redelegate further. // In addition, we want to delegate an absolute amount, since only the Upfront Grant tokens are eligible // to be voted with before the 1 year vesting. There shouldn't be any additional OP tokens sent to this wallet, // but if there are, we should not delegate them. // The rest of the rules are set to the defaults and are not relevant for our use case. SubdelegationRules memory subdelegationRules = SubdelegationRules({ maxRedelegations: 1, blocksBeforeVoteCloses: 0, notValidBefore: 0, notValidAfter: 0, customRule: address(0), allowanceType: AllowanceType.Absolute, allowance: UPFRONT_GRANT_TOKENS }); // Delegate the tokens to the Coinbase owned address calls[2] = IMulticall3.Call3({ target: ALLIGATOR_PROXY, allowFailure: false, callData: abi.encodeCall( AlligatorOPV5.subdelegate, (BENEFICIARY, subdelegationRules) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return NESTED_SAFE; } } ================================================ FILE: mainnet/2024-02-23-transfer-op/script/TransferUpfrontOPTokens.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; // TODO: this script will be called after the upfront grant tokens have vested contract TransferOPTokens is NestedMultisigBuilder { address internal NESTED_SAFE = vm.envAddress("NESTED_SAFE"); IERC20 public OP_TOKEN = IERC20(vm.envAddress("OP_TOKEN")); address public BENEFICIARY = vm.envAddress("BENEFICIARY"); uint256 public UPFRONT_GRANT_TOKENS = vm.envUint("UPFRONT_GRANT_TOKENS"); function _postCheck() internal override view { require( OP_TOKEN.balanceOf(BENEFICIARY) >= UPFRONT_GRANT_TOKENS, "TransferAndDelegateOPTokens: tokens not transferred to beneficiary" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); // There should be UPFRONT_GRANT_TOKENS left in the NESTED_SAFE. However, // there could be more since anyone could send OP to the safe, so check if the // amount is greater than or equal require( OP_TOKEN.balanceOf(NESTED_SAFE) >= UPFRONT_GRANT_TOKENS, "TransferOPTokens: unexpected token amount in nested safe" ); // Transfer upfront grant tokens when they vest calls[0] = IMulticall3.Call3({ target: address(OP_TOKEN), allowFailure: false, callData: abi.encodeCall( IERC20.transfer, (BENEFICIARY, UPFRONT_GRANT_TOKENS) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return NESTED_SAFE; } } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Incident response commands # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. ## # Pause OptimismPortal Commands .PHONY: pause-portal-sign pause-portal-sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) PausePortal --sig "sign()" .PHONY: pause-portal-run pause-portal-run: @forge script --rpc-url $(L1_RPC_URL) \ PausePortal --sig "run(bytes)" $(PAUSE_SIGNATURES) \ --private-key $(EXECUTOR_PRIVATE_KEY) \ --broadcast # Unpause OptimismPortal Commands .PHONY: unpause-portal-sign unpause-portal-sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UnpausePortal --sig "sign()" .PHONY: unpause-portal-run unpause-portal-run: @forge script --rpc-url $(L1_RPC_URL) \ UnpausePortal --sig "run(bytes)" $(UNPAUSE_SIGNATURES) \ --private-key $(EXECUTOR_PRIVATE_KEY) \ --broadcast ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563045.json ================================================ { "transactions": [ { "hash": "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2207d", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048456cb59000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b7b5f1fac45d842d9d8b04437e4b4e08939219d1082277a04ea7180eef39096b3a69625ad044290d63d394a43b6eb335c8ce30e67161f16caf6eaee6bfb0aed31cf2def34a8f4d9d988d246bc0b0f19a7d25c73cf2b72fe0362cf636ccbc31fa3b61cef23bd8893ca4f88424b469964c0830f532d663020503e51d07cef45a93351c3125898d82ef77f438eaeb937e0e9f60c9b995d5632da2cc7609592177a2426961b3ac535b5182705a74d2a62fe09bde72f3321b873f5bcac5653313f6a328a31b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [ "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725" ], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711563045, "chain": 1, "multi": false, "commit": "9d5a610" } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/records/PausePortal.s.sol/1/run-1711563069.json ================================================ { "transactions": [ { "hash": "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2207d", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048456cb59000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b7b5f1fac45d842d9d8b04437e4b4e08939219d1082277a04ea7180eef39096b3a69625ad044290d63d394a43b6eb335c8ce30e67161f16caf6eaee6bfb0aed31cf2def34a8f4d9d988d246bc0b0f19a7d25c73cf2b72fe0362cf636ccbc31fa3b61cef23bd8893ca4f88424b469964c0830f532d663020503e51d07cef45a93351c3125898d82ef77f438eaeb937e0e9f60c9b995d5632da2cc7609592177a2426961b3ac535b5182705a74d2a62fe09bde72f3321b873f5bcac5653313f6a328a31b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725", "transactionIndex": "0x41", "blockHash": "0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587", "blockNumber": "0x129f688", "from": "0xfC47bBfDC5268Dec8A53fd857E9a425d3BCCE601", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x532814", "gasUsed": "0x18a34", "contractAddress": null, "logs": [ { "address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "topics": [ "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258" ], "data": "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "blockHash": "0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587", "blockNumber": "0x129f688", "transactionHash": "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725", "transactionIndex": "0x41", "logIndex": "0x97", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1099096c5fcc6504ffa58b7d5809fb9b0e29817305e829cc7ec14644ae6c2c140000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa7feea27c95ffee563a4d14eec7ef70d767d91cf1d9f737b378c9e1e397af587", "blockNumber": "0x129f688", "transactionHash": "0x1b192d40318c7d6913e7018aaf473e52da0d20f16edfdd66037bd3f4db355725", "transactionIndex": "0x41", "logIndex": "0x98", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000400000000000000000000000000000010000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xc4a167881" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711563069, "chain": 1, "multi": false, "commit": "9d5a610" } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567810.json ================================================ { "transactions": [ { "hash": "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1c300", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fa53f7f1d907f05c1c6f4397d031ce2edd438bd79206fc58a7aec15f88e0fc63184451eb7a347f89110b847328be0ea0fb0e0c27103116ac50bdddfef42c22be1b00034754ceeffcc5a84e2679302e2228841ee70ff4dd176d1c4e7d0f13ce9d6d66719a6e77a2e8ecb01321d433291e56bbd8327ba374b0776a3f1de7f1eae29b1cdbc5568c4ab4ae0990155cfd071f8b84e2707538bc47fc532fdbd6bab84de7c55b6804aa3ef5aa3e30d09bc25fcdb43b524b48ca2ca4061b4d19cdd82df674f81b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [ "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d" ], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711567810, "chain": 1, "multi": false, "commit": "a8f455d" } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/records/UnpausePortal.s.sol/1/run-1711567828.json ================================================ { "transactions": [ { "hash": "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfc47bbfdc5268dec8a53fd857e9a425d3bcce601", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1c300", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000010482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000043f4ba83a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fa53f7f1d907f05c1c6f4397d031ce2edd438bd79206fc58a7aec15f88e0fc63184451eb7a347f89110b847328be0ea0fb0e0c27103116ac50bdddfef42c22be1b00034754ceeffcc5a84e2679302e2228841ee70ff4dd176d1c4e7d0f13ce9d6d66719a6e77a2e8ecb01321d433291e56bbd8327ba374b0776a3f1de7f1eae29b1cdbc5568c4ab4ae0990155cfd071f8b84e2707538bc47fc532fdbd6bab84de7c55b6804aa3ef5aa3e30d09bc25fcdb43b524b48ca2ca4061b4d19cdd82df674f81b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d", "transactionIndex": "0x180", "blockHash": "0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9", "blockNumber": "0x129f7e7", "from": "0xfC47bBfDC5268Dec8A53fd857E9a425d3BCCE601", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x1787def", "gasUsed": "0x13461", "contractAddress": null, "logs": [ { "address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "topics": [ "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa" ], "data": "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "blockHash": "0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9", "blockNumber": "0x129f7e7", "transactionHash": "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d", "transactionIndex": "0x180", "logIndex": "0x237", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8e13036a1fe96ef3d6c1d261e50d9227c16c44a3e12c914ca72c8839ddae62ac0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x09cd5bd9571ff580162cf4eca504f0759e86245a6836d36dea4cd88414a8d9b9", "blockNumber": "0x129f7e7", "transactionHash": "0x034df7b1db78a9fd6c3ce69e3e289d8bb40a3c62afa1896f565febd436cb097d", "transactionIndex": "0x180", "logIndex": "0x238", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000400000000000000000000000000000000000000080000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000400", "type": "0x2", "effectiveGasPrice": "0xb03b27393" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711567828, "chain": 1, "multi": false, "commit": "a8f455d" } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/script/PausePortal.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@base-contracts/script/universal/MultisigBuilder.sol"; import "@eth-optimism-bedrock/src/L1/OptimismPortal.sol"; contract PausePortal is MultisigBuilder { address internal OPTIMISM_PORTAL_PROXY = vm.envAddress("OPTIMISM_PORTAL_PROXY"); address internal GUARDIAN = vm.envAddress("GUARDIAN"); function _postCheck() internal override view { OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY)); require(optimismPortal.paused() == true, "PausePortal: Portal did not get paused"); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: OPTIMISM_PORTAL_PROXY, allowFailure: false, callData: abi.encodeCall( OptimismPortal.pause, () ) }); return calls; } function _ownerSafe() internal override view returns (address) { return GUARDIAN; } function _addOverrides(address _safe) internal override pure returns (SimulationStateOverride memory) { return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER); } } ================================================ FILE: mainnet/2024-03-05-pause-unpause-test/script/UnpausePortal.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@base-contracts/script/universal/MultisigBuilder.sol"; import "@eth-optimism-bedrock/src/L1/OptimismPortal.sol"; contract UnpausePortal is MultisigBuilder { address internal OPTIMISM_PORTAL_PROXY = vm.envAddress("OPTIMISM_PORTAL_PROXY"); address internal GUARDIAN = vm.envAddress("GUARDIAN"); function _postCheck() internal override view { OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY)); require(optimismPortal.paused() == false, "UnpausePortal: Portal did not get unpaused"); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: OPTIMISM_PORTAL_PROXY, allowFailure: false, callData: abi.encodeCall( OptimismPortal.unpause, () ) }); return calls; } function _ownerSafe() internal override view returns (address) { return GUARDIAN; } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } function _getNonce(IGnosisSafe safe) internal override view returns (uint256 nonce) { uint256 _nonce = safe.nonce(); console.log("Safe current nonce:", _nonce); console.log("Incrementing by 1 to account for planned `Pause` tx"); return _nonce+1; } } ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-config sign-update-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-config sign-rollback-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/README.md ================================================ # Update Gas Config in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace) ## Objective Along with the Ecotone hardfork, we need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call. This runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasConfig` -- This script will update the values according to our expected happy path wherein we are actively using Blobs 2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to using calldata The values we are sending are statically defined in the `.env` file but were generated by running this [script](https://github.com/ethereum-optimism/optimism/tree/4b7627cbb94a75e478a34f33f91121ef6ae794b3/op-chain-ops/cmd/ecotone-scalar) against the values derived from this [document](https://docs.google.com/document/d/1xjqKTnNASVCX-S0-PNaMZBvBOcyiRJLOi5IWkySNUT8/edit?usp=sharing) put together by @cody-wang-cb. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-03-07-ecotome-sysconfig-updates make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-update-gas-config ``` Note: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue: ``` git clone git@github.com:base-org/eip712sign.git cd eip712sign go install ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000a After: 0x000000000000000000000000000000000000000000000000000000000000000b ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000065 Before: 0x00000000000000000000000000000000000000000000000000000000000000bc After: 0x0000000000000000000000000000000000000000000000000000000000000000 Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x00000000000000000000000000000000000000000000000000000000000a6fe0 After: 0x010000000000000000000000000000000000000000000000000a118b0000044d ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-update-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback-gas-config ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000b After: 0x000000000000000000000000000000000000000000000000000000000000000c ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000065 Before: 0x00000000000000000000000000000000000000000000000000000000000000bc After: 0x0000000000000000000000000000000000000000000000000000000000000000 Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x00000000000000000000000000000000000000000000000000000000000a6fe0 After: 0x01000000000000000000000000000000000000000000000000000000000a31c2 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! > [!WARNING] > ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-rollback-gas-config` 4. Run `make execute-rollback` to execute the transaction onchain. ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/records/UpdateGasConfig.sol/1/run-1710375473.json ================================================ { "transactions": [ { "hash": "0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7724fdaa4889f70d74c9412746b8c1016131fbcf89aae424cf38cdd7db91298f38538b0a96cf8a5f671cbde408c2266899a178cb8a98cc2e50045b18b02676ca1b48bbd3fe4fd985d6ca0b88319eccbf8ddd18ba3f4a580e3b18a1da6851e7886270ce9f42fe19c582ac1f5ae0d271b4878a42b690d336b5ecb73700975dca188c1c813795228ff60bbd3a78c6c2df97d14c4012d70143667e066d79517f23ad31973fadf3e01ded32a497e1a06e36baed5fc2c249bf2cca03ed0db8f86597e6a0fd1b" ], "transaction": { "type": "0x02", "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1fa67", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37724fdaa4889f70d74c9412746b8c1016131fbcf89aae424cf38cdd7db91298f38538b0a96cf8a5f671cbde408c2266899a178cb8a98cc2e50045b18b02676ca1b48bbd3fe4fd985d6ca0b88319eccbf8ddd18ba3f4a580e3b18a1da6851e7886270ce9f42fe19c582ac1f5ae0d271b4878a42b690d336b5ecb73700975dca188c1c813795228ff60bbd3a78c6c2df97d14c4012d70143667e066d79517f23ad31973fadf3e01ded32a497e1a06e36baed5fc2c249bf2cca03ed0db8f86597e6a0fd1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace", "transactionIndex": "0x25", "blockHash": "0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544", "blockNumber": "0x128790b", "from": "0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x4ea81a", "gasUsed": "0x15a43", "contractAddress": null, "logs": [ { "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d", "blockHash": "0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544", "blockNumber": "0x128790b", "transactionHash": "0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace", "transactionIndex": "0x25", "logIndex": "0x68", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbd697f40d0e3fd68eb3af70ead2140ceba49d3e82662fd3b70506200b0bda7c90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x82e5c2bba36a1d063dff22d594b9af2d9590ea0387b3046911ee5dae22e02544", "blockNumber": "0x128790b", "transactionHash": "0xbdfcc812b029df5160b36b447eb90dfa85f0d1822995c835aed55cafc7097ace", "transactionIndex": "0x25", "logIndex": "0x69", "removed": false } ], "status": "0x1", "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000001000000040000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000060000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "effectiveGasPrice": "0xcac57ea50" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1710375473, "chain": 1, "commit": "25fd630" } ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/script/RollbackGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; // This script will be signed ahead of Ecotone but is not planned for execution. // If something goes wrong with the hardfork, we can rollback the config by executing // this pre-signed transaction. contract RollbackGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal FALLBACK_SCALAR = vm.envUint("FALLBACK_SCALAR"); function _postCheck() internal override view { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotome FALLBACK_SCALAR ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe safe) internal override view returns (uint256 nonce) { uint256 _nonce = safe.nonce(); console.log("Safe current nonce:", _nonce); console.log("Incrememnting by 1 to account for planned `Update` tx"); return _nonce+1; } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-03-07-ecotone-sysconfig-updates/script/UpdateGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpdateGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); function _postCheck() internal override view { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotone SCALAR ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal override pure returns (SimulationStateOverride memory) { return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER); } } ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: IN TEST ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 45M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 30M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-03-26-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 13 to 14: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000d After: 0x000000000000000000000000000000000000000000000000000000000000000e ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 30M to 45M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000001c9c380 After: 0x0000000000000000000000000000000000000000000000000000000002aea540 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000e After: 0x000000000000000000000000000000000000000000000000000000000000000f ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000002aea540 After: 0x0000000000000000000000000000000000000000000000000000000001c9c380 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570739.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e6f6", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000002aea540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34d2b765a04e7d1777ea92bacb0628a8259615a8ee803f4822132c985695125d525f667a2caab089be727dd4a8d8639e67528b419e8bbcc1af3a0891478383fa71b3aec5a84ecf994bbb013b794346aff78e1654c355aa51e4e733704da9319d3895aa95918ee973c4e50a4e6b2ca9f1690374ddf88f86755128f23fac0151794cd1b79392e9669c78654fce77766ea2949dc0d3958169ea9f0bcf05b153d93c62ad77e659c060f812d6f7d0929f7d2f0b09ad5051576c716d38abed754c5dbc1a9521b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711570739, "chain": 1, "commit": "cff08ef" } ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1711570882.json ================================================ { "transactions": [ { "hash": "0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e6f6", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000002aea540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34d2b765a04e7d1777ea92bacb0628a8259615a8ee803f4822132c985695125d525f667a2caab089be727dd4a8d8639e67528b419e8bbcc1af3a0891478383fa71b3aec5a84ecf994bbb013b794346aff78e1654c355aa51e4e733704da9319d3895aa95918ee973c4e50a4e6b2ca9f1690374ddf88f86755128f23fac0151794cd1b79392e9669c78654fce77766ea2949dc0d3958169ea9f0bcf05b153d93c62ad77e659c060f812d6f7d0929f7d2f0b09ad5051576c716d38abed754c5dbc1a9521b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871", "transactionIndex": "0x70", "blockHash": "0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333", "blockNumber": "0x129f8d5", "from": "0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x7ffd75", "gasUsed": "0x1608e", "contractAddress": null, "logs": [ { "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002aea540", "blockHash": "0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333", "blockNumber": "0x129f8d5", "transactionHash": "0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871", "transactionIndex": "0x70", "logIndex": "0xf5", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4c9d95f221cf985c7e78c5ca42bff76b10ba3e80df418ec9c6be6d8a73c247f50000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcf86abb6c8abdb79d3c624332f5cc4603a3d50998692aa2a602293fbd7df5333", "blockNumber": "0x129f8d5", "transactionHash": "0xc094dde815aeebd14ac9fb6d7612434aa9da6113ea7d74add0ed59655a964871", "transactionIndex": "0x70", "logIndex": "0xf6", "removed": false } ], "status": "0x1", "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "effectiveGasPrice": "0xa093a24fd" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1711570882, "chain": 1, "commit": "cff08ef" } ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck() internal override view { require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasLimit, ( ROLLBACK_GAS_LIMIT ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal override view returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal override view returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({ contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides }); } } ================================================ FILE: mainnet/2024-03-26-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck() internal override view { require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasLimit, ( GAS_LIMIT ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal override view returns (uint256 nonce) { nonce = vm.envUint("UPDATE_NONCE"); } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 60M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 45M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-04-01-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 14 to 15: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000e After: 0x0000000000000000000000000000000000000000000000000000000000000000f ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 30M to 45M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000002aea540 After: 0x0000000000000000000000000000000000000000000000000000000003938700 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000000f After: 0x00000000000000000000000000000000000000000000000000000000000000010 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000003938700 After: 0x0000000000000000000000000000000000000000000000000000000002aea540 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1712005481.json ================================================ { "transactions": [ { "hash": "0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2038a", "value": "0x0", "data": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3372dd9f632ad25a117889fa38eb484635cfb0d026b2aa4cc493c0d4f7236825a09261c474f18b561b7eb6c92dffb22ed82c0f4640b093f94485677ab27016ef31b403ec77f654983bd0d9cb01bb027aa4b61fcb8c5e19d1c60b48de950510cdca04f310999a189a098457f2e32aa6ec77e8835e23e84cda7ea2ab5f0b1e60ec3431cc6bdb19923f04579c45136a817ad8f1a1d9b328783602060b36527083ce0c4e6312eee1403c9b3ea8225bcb2f187c10ce67747b0c822b769c74435f3a5f9136d1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c", "transactionIndex": "0x15", "blockHash": "0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350", "blockNumber": "0x12a8410", "from": "0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045", "to": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "cumulativeGasUsed": "0x31aa50", "gasUsed": "0x16082", "contractAddress": null, "logs": [ { "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003938700", "blockHash": "0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350", "blockNumber": "0x12a8410", "transactionHash": "0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c", "transactionIndex": "0x15", "logIndex": "0x7a", "removed": false }, { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2e3d97eaeb3bf5d5826de2c502ca892d2125386d4a95d6241278af773a524c950000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x44588c053fd2f8dba2be1c7ce118ab700b71598a27277ccdc0104c6f48dc7350", "blockNumber": "0x12a8410", "transactionHash": "0xd50a84ace00e13b5d3c484869ee1cc2403c69b0ac082589b854bedb2596c9b2c", "transactionIndex": "0x15", "logIndex": "0x7b", "removed": false } ], "status": "0x1", "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "effectiveGasPrice": "0x630862591" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1712005481, "chain": 1, "commit": "1d0c763" } ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck() internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-04-01-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck() internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-04-12-deployERC20Factory/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: forge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast .PHONY: verify verify: forge verify-contract 0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91 OptimismMintableERC20Factory \ --watch --chain-id 8453 \ --num-of-optimizations=99999 --retries=1 \ --verifier-url https://api.basescan.org/api ================================================ FILE: mainnet/2024-04-12-deployERC20Factory/deployed/addresses.json ================================================ {} ================================================ FILE: mainnet/2024-04-12-deployERC20Factory/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed # for relative paths in optimism repo to work remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' ] ================================================ FILE: mainnet/2024-04-12-deployERC20Factory/records/RunERC20FactoryDeploy.s.sol/8453/run-1713280196.json ================================================ { "transactions": [ { "hash": "0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed", "transactionType": "CREATE2", "contractName": "OptimismMintableERC20Factory", "contractAddress": "0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91", "function": null, "arguments": null, "transaction": { "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x2760bd", "value": "0x0", "input": "0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220140bcd35f9aa69e12e198b590f3b728d5d198f14c15ca76f3877f10a18200c9464736f6c634300080f0033", "nonce": "0x31", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x854d7e", "logs": [ { "address": "0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x42ee015799214a896ed6fc147c7313d98de0ec1b5a90f14cf9c4a4cdd2754a99", "blockNumber": "0xca1beb", "transactionHash": "0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed", "transactionIndex": "0x39", "logIndex": "0xab", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000080000000000004000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc46a22b5db8660781f89f3223d16e0551e867f68ecd3cebc649bc326fe7bf0ed", "transactionIndex": "0x39", "blockHash": "0x42ee015799214a896ed6fc147c7313d98de0ec1b5a90f14cf9c4a4cdd2754a99", "blockNumber": "0xca1beb", "gasUsed": "0x1c8466", "effectiveGasPrice": "0x8b60278", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91", "l1Fee": "0x1f74decdd95", "l1GasPrice": "0x3be925d23", "l1GasUsed": "0x1dce4" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1713280196, "chain": 8453, "commit": "19ee800" } ================================================ FILE: mainnet/2024-04-12-deployERC20Factory/script/RunERC20FactoryDeploy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {OptimismMintableERC20Factory} from "@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol"; contract RunERC20FactoryDeploy is Script { function run() public { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); new OptimismMintableERC20Factory{salt: '0xBA5ED'}(); } } ================================================ FILE: mainnet/2024-04-15-redeploy-smart-escrow/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deploy-new-implementation deploy-new-implementation: forge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow --ledger --hd-paths "m/44'/60'/0'/0/0" --broadcast .PHONY: verify-implementation verify-implementation: forge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \ --constructor-args $(shell cast abi-encode "constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256)" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \ --watch --chain-id $(OPTIMISM_CHAIN_ID) \ --compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \ --verifier-url https://api-optimistic.etherscan.io/api ================================================ FILE: mainnet/2024-04-15-redeploy-smart-escrow/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-04-15-redeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1713902413.json ================================================ { "transactions": [ { "hash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionType": "CREATE", "contractName": "SmartEscrow", "contractAddress": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "function": null, "arguments": [ "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x635Fb974F09B269Bc750bF96338c29cF41430125", "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "1724976000", "1882764000", "7889400", "17895697000000000000000000", "4473924000000000000000000" ], "transaction": { "type": "0x02", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "gas": "0x38dcc7", "value": "0x0", "data": "0x61012034620004c857601f620034da38819003918201601f1916830191906001600160401b03831184841017620004cd57816101409285926040958652833981010312620004c8576200005282620004e3565b9060209262000063848201620004e3565b9362000071838301620004e3565b916200008060608201620004e3565b926200008f60808301620004e3565b9160a081015160c082015160e083015191610100996101208b8601519501519b60018060a01b038098169182156200048457600180546001600160d01b0316610d2f60d71b179055600254928984166200042b578a98979695949392918d828c9360018060a01b03198097161760025560009d8e808052808252838120838252825260ff848220541615620003ef575b505050501680158015620003e4575b8015620003d9575b8015620003ce575b620003bd574284106200039f57848410156200038257851562000371578e156200036057856200016f8587620004f8565b10620003485785620001828587620004f8565b0662000323579189620002529d9e9f96949262000206999896948360035416176003551690600454161760045560805260a05260c05260e05289527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f27480865285845288862085831690818852855260ff8a8820541615620002e9575b50506200051a565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc9081845283815286842092851692838552815260ff878520541615620002ae575b505050506200051a565b51612efd9182620005bd833960805182818161087c0152612508015260a0518281816102580152612538015260c051828181610b860152612606015260e051828181610ff60152612682015251818181610c38015261262f0152f35b8184528381528684209083855252858320600160ff19825416179055600080516020620034ba83398151915233938751a43880808062000248565b8187528685528987208188528552898720600160ff198254161790553391600080516020620034ba833981519152888c51a43880620001fe565b5050506064935089519263dd76dcd560e01b8452600484015260248301526044820152fd5b8c51630bfa645d60e21b815260048101879052602490fd5b8c51630ea157a960e21b8152600490fd5b8c5163931ef49360e01b8152600490fd5b604484868f519163593d712f60e01b835260048301526024820152fd5b8c51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8c5163ac0b3e2160e01b8152600490fd5b50898816156200013e565b50898c161562000136565b50898216156200012e565b808492818052528d828220908483525220600160ff198254161790558d600080516020620034ba83398151915281339451a48d388b8e6200011f565b8c5162461bcd60e51b8152600481018c9052602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8b5162461bcd60e51b8152600481018b9052601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620004c857565b81811062000504570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff16156200058457505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620034ba8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121a957508163022d63fb1461216d578163046f7da2146120b45781630aa6220b14611fca5781630aaffd2a14611d8e5781630c08bf8814611b545781631a2c2a2b14611b125781631bfce85314611ad4578163224d7e5914611a87578163248a9ca314611a3f5781632806e3d6146118635781632a7117521461180a5781632f2ff15d1461168f57816336568abe1461146a57816338af3eed1461141857816350ad25551461101957816350bfeadc14610fc0578163634e93da14610e93578163649a5ec714610c5b578163677caf8114610c025781636efd06c114610ba95781637313ee5a14610b505781637ca4010114610af757816384ef8ffc14610a1957816386d1a69f14610abf5781638a81694c14610a6c5781638da5cb5b14610a1957816391d14854146109a9578163961325211461096c578163a1eda53c146108d8578163a217fddf1461089f578163be9a655514610846578163cc8463c8146107fc578163cefc142914610469578163cf6eefb714610402578163d547741f1461031657508063d602b9fd1461027b578063efbe1c1c146102235763fbccedae146101d257600080fd5b3461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209061021861020f42612506565b600554906124fb565b9051908152f35b5080fd5b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576102b26126d5565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102ee5751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356103506122c0565b91811561037b57509081610378928552846020526103736001858720015461297f565b612b16565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104665750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107795760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161076f575b50156106ec5760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610687575b50600254928284166106055750169283911617600255838052838152828420828552815260ff83852054161561059c575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061056f565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a43861053e565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104ec565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209065ffffffffffff61083e612c16565b915191168152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5751908152602090f35b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466576002548060d01c9182151580610962575b15610954575065ffffffffffff6109509160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109509150610931565b5042831015610919565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576020906005549051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578160209360ff926109e86122c0565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576103786123c2565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57823565ffffffffffff93848216808303610e8f57610ca86126d5565b610cb142612e30565b9186610cbb612c16565b1680831115610e27575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d0692916206978080821015610e2057505b1690612c4f565b906002548060d01c80610d9c575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610df55779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d14565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610dee565b9050610cff565b909650818110610e63577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d0692910390612c4f565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461021f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57610ecc612298565b610ed46126d5565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f11610f0342612e30565b610f0b612c16565b90612c4f565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610f96575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610f8c565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611053612298565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff85872054161561114257505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b5750600354908116908282036110c6575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a33880806110c0565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b8484918761114f33612caa565b9183519061115c826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b8183116112f457505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612ae1565b0103602881018552018361232e565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612ae1565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a6113318587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061118d565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461046657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5780356114a46122c0565b9181158061166b575b61155d575b3373ffffffffffffffffffffffffffffffffffffffff8416036114da57509061037891612b16565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff1681611659575b81611646575b50156115c3577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff600154166001556114b2565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff4291161038611590565b65ffffffffffff81161515915061158a565b5073ffffffffffffffffffffffffffffffffffffffff8060025416908416146114ad565b9050346103fe57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe578035906116ca6122c0565b9082156117875750818452836020526116e86001848620015461297f565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561172157505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe5761189b6126d5565b60ff6006541615611a18578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa9384156119db5786946119e5575b508361190a57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af19283156119db577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b936119ae575b5060035416928451908152a238808080858551f35b6119cd90833d85116119d4575b6119c5818361232e565b81019061236f565b5038611999565b503d6119bb565b85513d88823e3d90fd5b9093508181813d8311611a11575b6119fd818361232e565b81010312611a0d575192386118ff565b8580fd5b503d6119f3565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57816020936001923581528085522001549051908152f35b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f57602090517342000000000000000000000000000000000000428152f35b8284346104665760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610466575061021860209235612506565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209060ff6006541690519015158152f35b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72808452602090848252838520338652825260ff848620541615611c5057505060ff60065416611c295750611bd76123c2565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b90517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b84611c5d94929433612caa565b91835190611c6a826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611d1e57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611d5b8587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611c9b565b9050346103fe576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261141457611dc8612298565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611e8c57505073ffffffffffffffffffffffffffffffffffffffff80911691821561111b57805491821691838303611e3757858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611e9933612caa565b91835190611ea6826122e3565b604282528682019260603685378251156113e857603084538251906001918210156113bc5790607860218501536041915b818311611f5a57505050611299576112906112458561125460487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112108b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612ae1565b909192600f81166010811015611390577f3031323334353637383961626364656600000000000000000000000000000000901a611f978587612c6a565b53881c928015611364577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611ed7565b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f576120026126d5565b6002548060d01c80612030575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120895779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b388061200f565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a1612082565b9050346103fe57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe576120ec6126d5565b6006549060ff82161561214657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461021f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021f5760209051620697808152f35b8491346103fe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103fe57357fffffffff0000000000000000000000000000000000000000000000000000000081168091036103fe57602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561223b575b5015158152f35b7f7965db0b0000000000000000000000000000000000000000000000000000000081149150811561226e575b5083612234565b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483612267565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122bb57565b6080810190811067ffffffffffffffff8211176122ff57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176122ff57604052565b908160209103126122bb575180151581036122bb5790565b81198111612393570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166124d1576123d542612506565b6123e260055480926124fb565b90816123ec575050565b816123f691612387565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124c5577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124a8575b506004541692604051908152a2565b6124be90833d81116119d4576119c5818361232e565b5038612499565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b818110612393570390565b7f000000000000000000000000000000000000000000000000000000000000000080821015612536575050600090565b7f00000000000000000000000000000000000000000000000000000000000000008211156125fb5750506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124c5576000906125c8575b6125c5915060055490612387565b90565b6020823d82116125f3575b816125e06020938361232e565b8101031261046657506125c590516125b7565b3d91506125d3565b612604916124fb565b7f00000000000000000000000000000000000000000000000000000000000000009081156126a657047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04811182151516612393576125c591027f0000000000000000000000000000000000000000000000000000000000000000612387565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561271457505050565b61271d33612caa565b908381519061272b826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b8183116128875750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b0103602881018b52018961232e565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612ae1565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a6128c48587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01919061275c565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129a75750505050565b6129b033612caa565b918151906129bd826122e3565b6042825284820195606036883782511561295257603087538251906001918210156129525790607860218501536041915b818311612a705750505061282b5760449392611290836127ed6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916127de8b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112108d8251928391603789019101612ae1565b909192600f81166010811015612925577f3031323334353637383961626364656600000000000000000000000000000000901a612aad8587612c6a565b5360041c9280156128f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906129ee565b918091926000905b828210612b01575011612afa575050565b6000910152565b91508060209183015181860152018291612ae9565b90811580612bf2575b612bc5575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612b6157505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b24565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b1f565b6002548060d01c8015159081612c45575b5015612c3b5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c27565b9065ffffffffffff8080931691168092038111612393570190565b908151811015612c7b570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff8211176122ff57604052602a8252602082016040368237825115612c7b57603090538151600190811015612c7b57607860218401536029905b808211612d65575050612d075790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e02577f3031323334353637383961626364656600000000000000000000000000000000901a612da18486612c6a565b5360041c918015612dd4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612cf7565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e43571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212201537e6be9e662cd495a74e478ad4873452a17d2942e39032dc044a52923bcb2a64736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000007038b2e000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "from": "0x89EBc5EB7163470e23fCc24833eeA6BB93A7b045", "to": null, "cumulativeGasUsed": "0x2c6c33", "gasUsed": "0x2bc0e8", "contractAddress": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "logs": [ { "address": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false }, { "address": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false }, { "address": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false }, { "address": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "logIndex": "0x3", "removed": false }, { "address": "0x1a984E693F8A9C38f3AE1f1aF14b677ac245deAD", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x51bb6c8812ecd400505e4946faa0e71a7f2ba730b27c7c85d244d0e36cfb8b3e", "blockNumber": "0x71a1cc8", "transactionHash": "0x64cc5975e6cb70883d8510243c7d5a1d32e61c2fdab221b5b7e8c9b814dbd3ca", "transactionIndex": "0x1", "logIndex": "0x4", "removed": false } ], "status": "0x1", "logsBloom": "0x01000004000000000000000000040000000000000000000000000000000800000000000000000000000000000000000000000000000080000000000800000000000000000000000000000000000000000000000001000002000000000000000000000000020000000000010100800800000000000000000000000000000000000000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000801000000000000200000000000000000000000000000000000001000000000900008000000020000000000000000000000201001000000201000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb665142c" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1713902413, "chain": 10, "commit": "6a00b84" } ================================================ FILE: mainnet/2024-04-15-redeploy-smart-escrow/script/DeploySmartEscrow.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@base-contracts/src/smart-escrow/SmartEscrow.sol"; contract DeploySmartEscrow is Script { address internal BENEFACTOR = vm.envAddress("BENEFACTOR"); address internal BENEFICIARY = vm.envAddress("BENEFICIARY"); address internal BENEFACTOR_OWNER = vm.envAddress("BENEFACTOR_OWNER"); address internal BENEFICIARY_OWNER = vm.envAddress("BENEFICIARY_OWNER"); address internal ESCROW_OWNER = vm.envAddress("NESTED_SAFE"); uint256 internal START = vm.envUint("START"); uint256 internal END = vm.envUint("END"); uint256 internal VESTING_PERIOD_SECONDS = vm.envUint("VESTING_PERIOD_SECONDS"); uint256 internal INITIAL_TOKENS = vm.envUint("INITIAL_TOKENS"); uint256 internal VESTING_EVENT_TOKENS = vm.envUint("VESTING_EVENT_TOKENS"); function run() public { vm.broadcast(); SmartEscrow smartEscrow = new SmartEscrow( BENEFACTOR, BENEFICIARY, BENEFACTOR_OWNER, BENEFICIARY_OWNER, ESCROW_OWNER, START, END, VESTING_PERIOD_SECONDS, INITIAL_TOKENS, VESTING_EVENT_TOKENS ); require(smartEscrow.start() == START, "DeploySmartEscrow: start time not set correctly"); require(smartEscrow.end() == END, "DeploySmartEscrow: end time not set correctly"); require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, "DeploySmartEscrow: vesting period incorrect"); require(smartEscrow.initialTokens() == INITIAL_TOKENS, "DeploySmartEscrow: number of initial tokens incorrect"); require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, "DeploySmartEscrow: number of vesting event tokens incorrect"); require(smartEscrow.benefactor() == BENEFACTOR, "DeploySmartEscrow: benefactor incorrect"); require(smartEscrow.beneficiary() == BENEFICIARY, "DeploySmartEscrow: beneficiary incorrect"); require(smartEscrow.released() == 0, "DeploySmartEscrow: initial released value must bex zero"); require(smartEscrow.contractTerminated() == false, "DeploySmartEscrow: contract cannot initially be terminated"); } } ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \ --sig "sign(address)" $(BASE_SAFE) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \ --sig "sign(address)" $(OP_SAFE) .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \ --sig "approve(address,bytes)" $(BASE_SAFE) $(SIGNATURES) \ -i 1 --broadcast .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \ --sig "approve(address,bytes)" $(OP_SAFE) $(SIGNATURES) \ -i 1 --broadcast .PHONY: run run: forge script --rpc-url $(L2_RPC_URL) UpgradeOptimismMintableERC20Factory \ --sig "run()" -i 1 --broadcast ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/README.md ================================================ # Upgrade OptimismMintableERC20Factory implementation Status: DONE ## Objective This task upgrades the `OptimismMintableERC20Factory` implementation, at address [0x4200000000000000000000000000000000000012](https://basescan.org/address/0x4200000000000000000000000000000000000012#code), to point to the newly deployed factory at address [0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91](https://basescan.org/address/0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91#code), effectively replacing the old implementation at address [0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012](https://basescan.org/address/0xc0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30012#code). ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-04-17-upgrade-erc20-factory make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-op # or make sign-cb for Coinbase signers ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Base Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Nested Multisig under the "GnosisSafeProxy" at address `0x2304cb33d95999dc29f4cef1e35065e670a70050`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000003 After: 0x0000000000000000000000000000000000000000000000000000000000000004 ``` 2. And for the same contract, verify that this specific execution is approved: ``` Key (if you are an OP signer): 0x9052fb3c2fd9cb5dd17446c311f63a63659a6f571458940b7f0aced851e51d55 Key (if you are a CB signer): 0x967af9182a28f979962ecb388b54737ad2cbe53fbe8f354b8b1a0005bc9abcff Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000000000000000000000000000000000000000000001 ``` 3. Verify that the nonce is incremented for your multisig: If you are an OP signer - the OP Foundation Multisig should be under the "GnosisSafeProxy" at address `0x28edb11394eb271212ed66c08f2b7893c04c5d65`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000003 After: 0x0000000000000000000000000000000000000000000000000000000000000004 ``` If you are a CB signer - the Coinbase Multisig should be under the address `0xd94e416cf2c7167608b2515b7e4102b41efff94f`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000006 After: 0x0000000000000000000000000000000000000000000000000000000000000007 ``` 4. Verify that the new ERC20 factory implementation has been registered in the ERC20 factory "Proxy" at address `0x4200000000000000000000000000000000000012`: ``` Key: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc Before: 0x000000000000000000000000c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30012 After: 0x0000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c91 ``` 5. For the same contract, verify its `initialized` slot has been set to 1: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000000 Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000000000000000000000000000000000000000000001 ``` 6. For the same contract, verify the `bridge` address has been correctly registered: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000001 Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000004200000000000000000000000000000000000010 ``` 7. Verify that the L1FeeVault at `0x420000000000000000000000000000000000001a` receives the gas associated with the call: ``` Balance 1132449259793366198 -> 1132449525791013671 ``` 8. Verify that the nonce for the sending address is appropriately incremented: ``` Nonce 0 -> 1 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafeL2.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the hash value may be different: ![Screenshot 2024-04-18 at 18 53 26](https://github.com/base-org/contract-deployments/assets/33523487/85566275-feab-489d-87e9-6ebc4de7b823) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-op # or make sign-cb for Coinbase signers ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## [For Facilitator ONLY] How to execute the rehearsal ### [After the rehearsal] Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-cb` with Coinbase signer signatures. 4. Run `make approve-op` with Optimism signer signatures. 4. Run `make run` to execute the transaction onchain. ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.19" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/approve-latest.json ================================================ { "transactions": [ { "hash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "function": null, "arguments": null, "transaction": { "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x286da", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x877879", "logs": [ { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xee", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xef", "removed": false }, { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x425ff7de8089e09b363e054e29f962b92b70abfdb5b79a94f78820291d186d0e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xf0", "removed": false } ], "logsBloom": "0x00000000402000000000200000000000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000002400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "gasUsed": "0x1ba4b", "effectiveGasPrice": "0x262d623", "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "contractAddress": null, "l1Fee": "0x26e2d51a53", "l1GasPrice": "0x3ebbbae0a", "l1GasUsed": "0x2330" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1716225767, "chain": 8453, "commit": "0c9a57c" } ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225695.json ================================================ { "transactions": [ { "hash": "0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268", "transactionType": "CALL", "contractName": null, "contractAddress": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "function": null, "arguments": null, "transaction": { "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "gas": "0x2df3b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001454cf23a182205aae6a70f2b14b4d94edf8788d44d1a6aee30c44b782bbb7245bd03a61e3caac45099fa1f60dff1497d826b91e9483bb20941f5ae877ef7e4916d1cf6f633d3258f5dc1064dfc9e2c0cc1396f1d23b02588f505698e4db25b8b57e03228a3cc1280dc32332fc2808de740efa45366b05535acab6d41e5d379afeb251cd4628c9d9f85d837835bba06f19c9ffc6f6b3a6a15b596aad1d244b9fe4cac891218832c216bed1550efdd33de98bbd1f5b4e5e6c3d1bf58e51a5ba8f1e53c291c1d13deccf1fc2c82e47376d79eb3aa72c643674db2d32543fcfefa023b3782611daca00952eb2962237b5f7277bbe7934c6698c31e0491e454f6ff72fc4f90e51c5ec4d82a1d1dce14cba489dd84befcbff730b30c39651722c6ba556191a6cac50a8392902eadd44e0e7fe8cfd711f2a300b5dfc2d7a693a969da1f8d640368f11b000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4cd982", "logs": [ { "address": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001454cf23a182205aae6a70f2b14b4d94edf8788d44d1a6aee30c44b782bbb7245bd03a61e3caac45099fa1f60dff1497d826b91e9483bb20941f5ae877ef7e4916d1cf6f633d3258f5dc1064dfc9e2c0cc1396f1d23b02588f505698e4db25b8b57e03228a3cc1280dc32332fc2808de740efa45366b05535acab6d41e5d379afeb251cd4628c9d9f85d837835bba06f19c9ffc6f6b3a6a15b596aad1d244b9fe4cac891218832c216bed1550efdd33de98bbd1f5b4e5e6c3d1bf58e51a5ba8f1e53c291c1d13deccf1fc2c82e47376d79eb3aa72c643674db2d32543fcfefa023b3782611daca00952eb2962237b5f7277bbe7934c6698c31e0491e454f6ff72fc4f90e51c5ec4d82a1d1dce14cba489dd84befcbff730b30c39651722c6ba556191a6cac50a8392902eadd44e0e7fe8cfd711f2a300b5dfc2d7a693a969da1f8d640368f11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000005", "blockHash": "0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be", "blockNumber": "0xe094db", "transactionHash": "0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268", "transactionIndex": "0x25", "logIndex": "0x7e", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65" ], "data": "0x", "blockHash": "0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be", "blockNumber": "0xe094db", "transactionHash": "0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268", "transactionIndex": "0x25", "logIndex": "0x7f", "removed": false }, { "address": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x786f290ae0a05633d6df5517ffde3878940c4437057e401ad69709db6e5bf49c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be", "blockNumber": "0xe094db", "transactionHash": "0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268", "transactionIndex": "0x25", "logIndex": "0x80", "removed": false } ], "logsBloom": "0x00000000402000000000200000000000000000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000100000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x8b7f5768820ab7e43551d41678a6bb4821790d55fc518049b252aef22a788268", "transactionIndex": "0x25", "blockHash": "0xf3fe0911eff8bf36e20fe365c96c9b5e40819038d7640fd322adca8c2a5337be", "blockNumber": "0xe094db", "gasUsed": "0x1f6b9", "effectiveGasPrice": "0x26b23e6", "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "contractAddress": null, "l1Fee": "0x2e2c9f0e22", "l1GasPrice": "0x3c5d69e2f", "l1GasUsed": "0x2b6c" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1716225695, "chain": 8453, "commit": "0c9a57c" } ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225767.json ================================================ { "transactions": [ { "hash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "function": null, "arguments": null, "transaction": { "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x286da", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x877879", "logs": [ { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35bff4d396cbe3f79579735c69fd2e34bb2c330b12aab56a64a514f295a28b251713b26bbae9c47478f846ca1f901c8ad3c0e6aac78f0b6061b86b0a4001b5c551b5edc95c10d9d2773cb8e0b47f85ee00d9d15ce78c97d4b58f384d6b7ef16a568031eb6744c9781b43303394564da12ca4e84522ba3282552ca81736f3e6284091c68242ea9c5bfba07f39f96d8ae8ff38574d33c91fe716d5a4144cd48d768881666f2bd75dd22559b1c706384e7182b24260cfbdbcbe0c88ee943bd5f303d15ad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000600000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xee", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xef", "removed": false }, { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x425ff7de8089e09b363e054e29f962b92b70abfdb5b79a94f78820291d186d0e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "logIndex": "0xf0", "removed": false } ], "logsBloom": "0x00000000402000000000200000000000000000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000002400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x992c0522bcf6382fe21ee72fba6de17089041f9bbbe74969b9469c4528ad35f5", "transactionIndex": "0x35", "blockHash": "0x201ea855ec82fc044ca8466ee90f1e2c53e13a895a941721410ec64f98587c85", "blockNumber": "0xe094ff", "gasUsed": "0x1ba4b", "effectiveGasPrice": "0x262d623", "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "contractAddress": null, "l1Fee": "0x26e2d51a53", "l1GasPrice": "0x3ebbbae0a", "l1GasUsed": "0x2330" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1716225767, "chain": 8453, "commit": "0c9a57c" } ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/records/UpgradeOptimismMintableERC20Factory.s.sol/8453/run-1716225813.json ================================================ { "transactions": [ { "hash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "function": null, "arguments": null, "transaction": { "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "gas": "0x34c8e", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000001c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d00000000000000000000000042000000000000000000000000000000000000120000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c9100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x89e5c5", "logs": [ { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000001c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000042000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c49623609d00000000000000000000000042000000000000000000000000000000000000120000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c9100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000004200000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000025f7fd8f50d522b266764cd3b230edaa8cbb9f750000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92", "blockNumber": "0xe09516", "transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionIndex": "0x18", "logIndex": "0xc5", "removed": false }, { "address": "0x4200000000000000000000000000000000000012", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000006922ac4dbdfedea3a1e5535f12c3171f2b964c91" ], "data": "0x", "blockHash": "0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92", "blockNumber": "0xe09516", "transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionIndex": "0x18", "logIndex": "0xc6", "removed": false }, { "address": "0x4200000000000000000000000000000000000012", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92", "blockNumber": "0xe09516", "transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionIndex": "0x18", "logIndex": "0xc7", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd68c34c58f0a3573c1d34971f6f6bec3a5e30115af40bbebca7deef7c2b2b05a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92", "blockNumber": "0xe09516", "transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionIndex": "0x18", "logIndex": "0xc8", "removed": false } ], "logsBloom": "0x00000002400000000000000000000000400000000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000000000400000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000080000000000000000100000000000400200000000000000404000000020000000000000000000000000000000020000000000000000000060000000000000000000000000000000000000000000000000000400000000000000000000100000000000000000000000000", "type": "0x2", "transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0", "transactionIndex": "0x18", "blockHash": "0x3d8ff68456de669b562598b80fad2c50859d824e154dec89ef7eea35f29ccd92", "blockNumber": "0xe09516", "gasUsed": "0x2417a", "effectiveGasPrice": "0x25c3409", "from": "0x25f7fd8f50d522b266764cd3b230edaa8cbb9f75", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "contractAddress": null, "l1Fee": "0x2a11b13270", "l1GasPrice": "0x5327c8b40", "l1GasUsed": "0x1cb8" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1716225813, "chain": 8453, "commit": "0c9a57c" } ================================================ FILE: mainnet/2024-04-17-upgrade-erc20-factory/script/UpgradeOptimismMintableERC20Factory.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; interface IProxyAdmin { function upgradeAndCall(address payable proxy, address implementation, bytes memory data) external payable; } interface IImpl { function initialize(address _bridge) external; function bridge() external returns (address); } bytes32 constant IMPLEMENTATION_KEY = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; contract UpgradeOptimismMintableERC20Factory is NestedMultisigBuilder { address public BRIDGE = vm.envAddress("BRIDGE"); address public PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); address public ERC20_FACTORY = vm.envAddress("ERC20_FACTORY"); address public ERC20_FACTORY_IMPL = vm.envAddress("ERC20_FACTORY_IMPL"); address internal NESTED_SAFE = vm.envAddress("NESTED_SAFE"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override { address impl = address(uint160(uint256(vm.load(ERC20_FACTORY, IMPLEMENTATION_KEY)))); if (impl != ERC20_FACTORY_IMPL) { revert("Implementation not correctly set"); } address bridge_ = IImpl(ERC20_FACTORY).bridge(); if (bridge_ != BRIDGE) { revert("Implementation not correctly initialized"); } } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: address(PROXY_ADMIN), allowFailure: false, callData: abi.encodeCall( IProxyAdmin.upgradeAndCall, (payable(ERC20_FACTORY), ERC20_FACTORY_IMPL, abi.encodeCall(IImpl.initialize, (BRIDGE))) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return NESTED_SAFE; } } ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: forge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast --verify ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/deployed/addresses.json ================================================ {} ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed # for relative paths in optimism repo to work remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' ] ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/inputs/construct-config.sh ================================================ #!/bin/bash DEPLOY_FIELDS='"baseFeeVaultRecipient","batchSenderAddress","controller","deployerAddress","finalSystemOwner","finalizationPeriodSeconds","gasPriceOracleOverhead","gasPriceOracleScalar","l1ChainID","l1FeeVaultRecipient","l2BlockTime","l2ChainID","l2OutputOracleChallenger","l2OutputOracleProposer","l2OutputOracleStartingBlockNumber","l2OutputOracleStartingTimestamp","l2OutputOracleSubmissionInterval","p2pSequencerAddress","portalGuardian","proxyAdminOwnerL2","sequencerFeeVaultRecipient"' DEPLOY_CONFIG_FILE="inputs/deploy-config.json" MISC_CONFIG_FILE="inputs/misc-config.json" FOUNDRY_CONFIG_FILE="inputs/foundry-config.json" # Convert field from hex to decimal VALUE=$(jq -r '.l2GenesisBlockGasLimit' "$DEPLOY_CONFIG_FILE") GAS_LIMIT=$(printf %d $VALUE) # Construct config file which will be the input in deploy script jq -s '.[0] * .[1]' "$DEPLOY_CONFIG_FILE" "$MISC_CONFIG_FILE" | \ jq "with_entries(select([.key] | inside([$DEPLOY_FIELDS])))" | \ jq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \ jq --sort-keys | \ jq '{"deployConfig": .}' > "$FOUNDRY_CONFIG_FILE" ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/inputs/deploy-config.json ================================================ ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/inputs/misc-config.json ================================================ ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/records/RunDeployERC20Factory.sol/8453/run-1714483769.json ================================================ { "transactions": [ { "hash": "0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8", "transactionType": "CREATE2", "contractName": "ERC20Factory", "contractAddress": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "function": null, "arguments": null, "transaction": { "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x2a33fe", "value": "0x0", "input": "0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b600061003d565b61003873420000000000000000000000000000000000001061003d565b610186565b600054610100900460ff161580801561005d5750600054600160ff909116105b8061008857506100763061017760201b61059d1760201c565b158015610088575060005460ff166001145b6100ef5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015610112576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610173576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101956000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220a687cfe67e1c7171a707b2cd7a2d1a0ce8bd4b8d1c8be1013687c9d175d4ae4d64736f6c634300080f0033", "nonce": "0x34", "chainId": "0x2105", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xdbe2a2", "logs": [ { "address": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7", "blockNumber": "0xd34aa0", "transactionHash": "0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8", "transactionIndex": "0x3d", "logIndex": "0xdf", "removed": false }, { "address": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7", "blockNumber": "0xd34aa0", "transactionHash": "0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8", "transactionIndex": "0x3d", "logIndex": "0xe0", "removed": false } ], "logsBloom": "0x00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd267280e459e3323d71da55c3f98543c5bc0c4a568de7e7233a7b709310797b8", "transactionIndex": "0x3d", "blockHash": "0xed29a0cc7a03a0e7ab4dacebb67069b2f3eb4a6390092f3badb4a4b1600d49c7", "blockNumber": "0xd34aa0", "gasUsed": "0x1cdd7b", "effectiveGasPrice": "0x53055f3", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "l1Fee": "0x274d5b82438", "l1GasPrice": "0x4ab614528", "l1GasUsed": "0x1ddcc" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1714483769, "chain": 8453, "commit": "da64ba9" } ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/script/RunDeployERC20Factory.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {ERC20Factory} from "../src/ERC20Factory.sol"; contract RunERC20FactoryDeploy is Script { function run() public { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); new ERC20Factory{salt: '0xBA5ED'}(); } } ================================================ FILE: mainnet/2024-04-30-deployTempERC20Factory/src/ERC20Factory.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {OptimismMintableERC20Factory} from "@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol"; contract ERC20Factory is OptimismMintableERC20Factory { constructor() { initialize({ _bridge: address(0x4200000000000000000000000000000000000010 ) }); } } ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 75M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 60M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-05-28-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 15 to 16: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000f After: 0x00000000000000000000000000000000000000000000000000000000000000010 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 60M to 75M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000003938700 After: 0x00000000000000000000000000000000000000000000000000000000047868c0 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000010 After: 0x00000000000000000000000000000000000000000000000000000000000000011 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000047868c0 After: 0x0000000000000000000000000000000000000000000000000000000003938700 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/records/UpdateGasLimit.sol/1/run-1716922926.json ================================================ { "transactions": [ { "hash": "0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000047868c000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7ff230436a4cbc2650bfb1af7bb7058d260f4c2a0c968445c170cbc7e9ae5a5d6db3499e9048e0952cd8012f47522deb177fa278f83cf9f1ede8ca1d041bea621c28b4ec6ad59fce294ed7931dbd96ae76cb579b69b5aeb9d8afeece5da621a84e69d65363fdda98b07c703dc103074feb525ebdf3e8bf0956f339f93f66a1b5de1c14c1e828b78fd497d905fe753b924d55ab523a5183d46b15a4ee42c9d1a15dbd5d55e48514e508e2b7951ca483e8e10f367f5577d309c46da7da459b1a1f2c881c" ], "transaction": { "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e6f6", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000047868c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37ff230436a4cbc2650bfb1af7bb7058d260f4c2a0c968445c170cbc7e9ae5a5d6db3499e9048e0952cd8012f47522deb177fa278f83cf9f1ede8ca1d041bea621c28b4ec6ad59fce294ed7931dbd96ae76cb579b69b5aeb9d8afeece5da621a84e69d65363fdda98b07c703dc103074feb525ebdf3e8bf0956f339f93f66a1b5de1c14c1e828b78fd497d905fe753b924d55ab523a5183d46b15a4ee42c9d1a15dbd5d55e48514e508e2b7951ca483e8e10f367f5577d309c46da7da459b1a1f2c881c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x806665", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000047868c0", "blockHash": "0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e", "blockNumber": "0x130b914", "blockTimestamp": "0x66562a27", "transactionHash": "0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6", "transactionIndex": "0x66", "logIndex": "0xeb", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf43ed616bfdfa867044fe58bdc2f3f53b59ae78aae5ecf3a038a4979ddad67b10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e", "blockNumber": "0x130b914", "blockTimestamp": "0x66562a27", "transactionHash": "0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6", "transactionIndex": "0x66", "logIndex": "0xec", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x2d67ceecd5e7e9630c530628b5cd11377768d87cb82ca20afabaf6b91380d3b6", "transactionIndex": "0x66", "blockHash": "0x9f442c57026231d3b211c537f1000ffb37c329089f4b0f1a2a29abae68aa603e", "blockNumber": "0x130b914", "gasUsed": "0x1608e", "effectiveGasPrice": "0x4c99f2932", "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1716922926, "chain": 1, "commit": "07007f5" } ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-05-28-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-05-30-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-05-30-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 90M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 75M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-05-30-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 15 to 16: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000f After: 0x00000000000000000000000000000000000000000000000000000000000000010 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 75M to 90M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000047868c0 After: 0x00000000000000000000000000000000000000000000000000000000055d4a80 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000010 After: 0x00000000000000000000000000000000000000000000000000000000000000011 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000055d4a80 After: 0x00000000000000000000000000000000000000000000000000000000047868c0 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-05-30-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-05-30-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-05-30-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deploy-new-implementation deploy-new-implementation: forge script --rpc-url $(OPTIMISM_RPC_URL) DeploySmartEscrow --ledger --hd-paths "m/44'/60'/0'/0/0" --broadcast --verify .PHONY: verify-implementation verify-implementation: forge verify-contract ${DEPLOYED_CONTRACT} SmartEscrow \ --constructor-args $(shell cast abi-encode "constructor(address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256)" ${BENEFACTOR} ${BENEFICIARY} ${BENEFACTOR_OWNER} ${BENEFICIARY_OWNER} ${NESTED_SAFE} ${START} ${CLIFF_START} ${END} ${VESTING_PERIOD_SECONDS} ${INITIAL_TOKENS} ${VESTING_EVENT_TOKENS}) \ --watch --chain-id $(OPTIMISM_CHAIN_ID) \ --compiler-version v0.8.15+commit.e14f2714 --num-of-optimizations=99999 --retries=1 \ --verifier-url https://api-optimistic.etherscan.io/api ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275042.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CREATE", "contractName": "SmartEscrow", "contractAddress": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "function": null, "arguments": [ "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x635Fb974F09B269Bc750bF96338c29cF41430125", "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "1720674000", "1724976000", "1878462000", "7889400", "17895697000000000000000000", "4473924000000000000000000" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "gas": "0x393df7", "value": "0x0", "input": "0x610140346200052d57601f6200359138819003918201601f1916830191906001600160401b0383118484101762000532578161016092859260409586528339810103126200052d57620000528262000548565b90620000616020840162000548565b6200006e82850162000548565b906200007d6060860162000548565b916200008c6080870162000548565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004e957600180546001600160d01b0316610d2f60d71b179055600254918a831662000490578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff83822054161562000454575b505050168015801562000449575b80156200043e575b801562000433575b6200042257428410620004045785841015620003e657838510620003c85785851015620003aa578615620003995788156200038857866200018085886200055d565b106200037057866200019385886200055d565b066200034c57918a620002699d9c9b9a989694926200021d9a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000310575b50506200057f565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002d4575b5050506200057f565b5190612f4f92836200062284396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200357183398151915233938751a438808062000260565b81865285602052888620818752602052888620600160ff19825416179055339160008051602062003571833981519152878b51a4388062000215565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200357183398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200052d57565b81811062000569570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005e957505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620035718339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220884834a6b2b08cf753b96c3fd592057d40c23a7706a284fd65b2c26ebfac5ab564736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000", "nonce": "0x1", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1719275042, "chain": 10, "commit": "fef11c3" } ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1719275101.json ================================================ { "transactions": [ { "hash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionType": "CREATE", "contractName": "SmartEscrow", "contractAddress": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "function": null, "arguments": [ "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x635Fb974F09B269Bc750bF96338c29cF41430125", "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "1720674000", "1724976000", "1878462000", "7889400", "17895697000000000000000000", "4473924000000000000000000" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "gas": "0x393df7", "value": "0x0", "input": "0x610140346200052d57601f6200359138819003918201601f1916830191906001600160401b0383118484101762000532578161016092859260409586528339810103126200052d57620000528262000548565b90620000616020840162000548565b6200006e82850162000548565b906200007d6060860162000548565b916200008c6080870162000548565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004e957600180546001600160d01b0316610d2f60d71b179055600254918a831662000490578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff83822054161562000454575b505050168015801562000449575b80156200043e575b801562000433575b6200042257428410620004045785841015620003e657838510620003c85785851015620003aa578615620003995788156200038857866200018085886200055d565b106200037057866200019385886200055d565b066200034c57918a620002699d9c9b9a989694926200021d9a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000310575b50506200057f565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002d4575b5050506200057f565b5190612f4f92836200062284396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200357183398151915233938751a438808062000260565b81865285602052888620818752602052888620600160ff19825416179055339160008051602062003571833981519152878b51a4388062000215565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d51632d6d2e3f60e21b815260048101859052426024820152604490fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200357183398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200052d57565b81811062000569570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005e957505050565b808352826020526040832082845260205260408320600160ff19825416179055600080516020620035718339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220884834a6b2b08cf753b96c3fd592057d40c23a7706a284fd65b2c26ebfac5ab564736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f80000000000000000000000000000000000000000000ecd8fada391afc1a4000000000000000000000000000000000000000000000003b363e7f0b6bf06900000", "nonce": "0x1", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4cc674", "logs": [ { "address": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "logIndex": "0x4f", "removed": false }, { "address": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "logIndex": "0x50", "removed": false }, { "address": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "logIndex": "0x51", "removed": false }, { "address": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "logIndex": "0x52", "removed": false }, { "address": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045" ], "data": "0x", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "logIndex": "0x53", "removed": false } ], "logsBloom": "0x01000004000000000000000000040000000000000000000000000000000800000000000000000000000000000000000000000000000080010000000800000100000000000000000000000000000000000000000001000002000000000000000020000000020000000000010100800800000000000000000000000000000000000000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000801000000000000200000000000000000000000000000000000001000000000900000000000020000000000000000000000201000000000200000000000000000000000000000000", "type": "0x2", "transactionHash": "0xfbf363d04cecc1d6eff88341741b430d478c75e957e5f0af8cbf6473c745fa79", "transactionIndex": "0x9", "blockHash": "0x19df39a1e7cb42ea926ce18275e23d24644bb3c182f023ce805a625c7c2b3e5b", "blockNumber": "0x7431a4f", "gasUsed": "0x2c0bb8", "effectiveGasPrice": "0x3a7e77e", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": null, "contractAddress": "0x90b8b3ee045930200643427b648a2b3b073f9a4b", "l1Fee": "0xcee548fdbb", "l1GasPrice": "0xc47b93a4", "l1GasUsed": "0x301bc" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1719275101, "chain": 10, "commit": "fef11c3" } ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/records/DeploySmartEscrow.s.sol/10/run-1722111961.json ================================================ { "transactions": [ { "hash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionType": "CREATE", "contractName": "SmartEscrow", "contractAddress": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "function": null, "arguments": [ "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x635Fb974F09B269Bc750bF96338c29cF41430125", "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "1720674000", "1724976000", "1878462000", "7889400", "28633115000000000000000000", "4473924000000000000000000" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "gas": "0x393ad5", "value": "0x0", "input": "0x610140346200050757601f6200356b38819003918201601f1916830191906001600160401b038311848410176200050c578161016092859260409586528339810103126200050757620000528262000522565b90620000616020840162000522565b6200006e82850162000522565b906200007d6060860162000522565b916200008c6080870162000522565b9060a08701519560c08801519760e081015198610100998a830151916101209a6101408c8601519501519560018060a01b03809916998a15620004c357600180546001600160d01b0316610d2f60d71b179055600254918a83166200046a578a908e8d60018060a01b03198096161760025560009d8e8080528060205282812082825260205260ff8382205416156200042e575b505050168015801562000423575b801562000418575b80156200040d575b620003fc5785841015620003de57838510620003c05785851015620003a25786156200039157881562000380578662000178858862000537565b106200036857866200018b858862000537565b066200034457918a620002619d9c9b9a98969492620002159a9896948360035416176003551690600454161760045560805260a05260c05260e0528a5288527f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808552846020528785208483169081875260205260ff89872054161562000308575b505062000559565b7fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808352826020528583209184169182845260205260ff868420541615620002cc575b50505062000559565b5190612f4f9283620005fc84396080518381816108870152612631015260a0518381816108e0015261253b015260c0518381816102630152612569015260e051838181610bea015261265801525182818161105a01526126d4015251818181610c9c01526126810152f35b80835282602052858320828452602052858320600160ff198254161790556000805160206200354b83398151915233938751a438808062000258565b81865285602052888620818752602052888620600160ff1982541617905533916000805160206200354b833981519152878b51a438806200020d565b6064878f868991519263dd76dcd560e01b8452600484015260248301526044820152fd5b8d51630bfa645d60e21b815260048101889052602490fd5b8d51630ea157a960e21b8152600490fd5b8d5163931ef49360e01b8152600490fd5b50604484868f51916383de581f60e01b835260048301526024820152fd5b50604484848f5191635d617e9360e11b835260048301526024820152fd5b50604483868f519163593d712f60e01b835260048301526024820152fd5b8d5163ac0b3e2160e01b8152600490fd5b508a8a16156200013e565b508a8d161562000136565b508a8216156200012e565b80805280602052828120828252602052828120600160ff198254161790556000805160206200354b83398151915281339451a48e388e62000120565b8d5162461bcd60e51b815260206004820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201526b1958591e4819dc985b9d195960a21b6064820152608490fd5b8c5162461bcd60e51b815260206004820152601e60248201527f416363657373436f6e74726f6c3a20302064656661756c742061646d696e00006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200050757565b81811062000543570390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031660008181527fa098a4b72d8f48fdff6ff26aa11ea7d7e669b41df6dc2ae0b4aeabe0ff9a4eb160205260408120549091907f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb729060ff1615620005c357505050565b808352826020526040832082845260205260408320600160ff198254161790556000805160206200354b8339815191523393604051a456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a7146121dc57508163022d63fb146121a0578163046f7da2146120e75781630aa6220b14611ffd5781630aaffd2a14611dc15781630c08bf8814611bb85781631a2c2a2b14611b765781631bfce85314611b38578163224d7e5914611aeb578163248a9ca314611aa35781632806e3d6146118c75781632a7117521461186e5781632f2ff15d146116f357816336568abe146114ce57816338af3eed1461147c57816350ad25551461107d57816350bfeadc14611024578163634e93da14610ef7578163649a5ec714610cbf578163677caf8114610c665781636efd06c114610c0d5781637313ee5a14610bb45781637ca4010114610b5b57816384ef8ffc14610a7d57816386d1a69f14610b235781638a81694c14610ad05781638da5cb5b14610a7d57816391d1485414610a0d57816396132521146109d0578163a1eda53c1461093c578163a217fddf14610903578163b297c551146108aa578163be9a655514610851578163cc8463c814610807578163cefc142914610474578163cf6eefb71461040d578163d547741f1461032157508063d602b9fd14610286578063efbe1c1c1461022e5763fbccedae146101dd57600080fd5b3461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209061022361021a42612539565b6005549061252e565b9051908152f35b5080fd5b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576102bd612727565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811690915560a01c65ffffffffffff166102f95751f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109828251a151f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957803561035b6122f3565b918115610386575090816103839285528460205261037e600185872001546129d1565b612b68565b51f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603760248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920726560448201527f766f6b652064656661756c742061646d696e20726f6c650000000000000000006064820152fd5b8280fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104715750600154815173ffffffffffffffffffffffffffffffffffffffff8216815260a09190911c65ffffffffffff166020820152f35b80fd5b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095760015473ffffffffffffffffffffffffffffffffffffffff9190821633036107845760015473ffffffffffffffffffffffffffffffffffffffff8116919060a01c65ffffffffffff16801515908161077a575b50156106f75760025492808416927fffffffffffffffffffffffff0000000000000000000000000000000000000000809516600255868052602093878552868820818952855260ff8789205416610692575b50600254928284166106105750169283911617600255838052838152828420828552815260ff8385205416156105a7575b50507fffffffffffff00000000000000000000000000000000000000000000000000006001541660015551f35b838052838152828420908285525281832060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790553390837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d818551a4388061057a565b608490858851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602c60248201527f416363657373436f6e74726f6c3a2064656661756c742061646d696e20616c7260448201527f65616479206772616e74656400000000000000000000000000000000000000006064820152fd5b87805287855286882081895285528688207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690553390887ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b818a51a438610549565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a207472616e736665722064656c6179206e6f60448201527f74207061737365640000000000000000000000000000000000000000000000006064820152fd5b90504211386104f7565b60849060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602860248201527f416363657373436f6e74726f6c3a2070656e64696e672061646d696e206d757360448201527f74206163636570740000000000000000000000000000000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209065ffffffffffff610849612c68565b915191168152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5751908152602090f35b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471576002548060d01c91821515806109c6575b156109b8575065ffffffffffff6109b49160a01c1691925b5165ffffffffffff928316815292909116602083015281906040820190565b0390f35b928392506109b49150610995565b504283101561097d565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576020906005549051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409578160209360ff92610a4c6122f3565b9035825281865273ffffffffffffffffffffffffffffffffffffffff83832091168252855220541690519015158152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a576103836123f5565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f2748152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc8152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b83833461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57823565ffffffffffff93848216808303610ef357610d0c612727565b610d1542612e82565b9186610d1f612c68565b1680831115610e8b575094959394507ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b93610d6a92916206978080821015610e8457505b1690612ca1565b906002548060d01c80610e00575b50506002805473ffffffffffffffffffffffffffffffffffffffff1660a083901b79ffffffffffff0000000000000000000000000000000000000000161760d084901b7fffffffffffff000000000000000000000000000000000000000000000000000016179055835165ffffffffffff91821681529116602082015280604081010390a151f35b421115610e595779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b8580610d78565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5858551a1610e52565b9050610d63565b909650818110610ec7577ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b9495965090610d6a92910390612ca1565b6024866011897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8480fd5b50503461022a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57610f306122cb565b610f38612727565b7f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed66020610f75610f6742612e82565b610f6f612c68565b90612ca1565b600180547fffffffffffff0000000000000000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff9690961695861760a084811b79ffffffffffff0000000000000000000000000000000000000000169190911790925565ffffffffffff911c8116610ffa575b855191168152a251f35b7f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109878751a1610ff0565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611478576110b76122cb565b907f4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274808652858252848620338752825260ff8587205416156111a657505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57506003549081169082820361112a575b50505051f35b7fffffffffffffffffffffffff0000000000000000000000000000000000000000839116176003557fd487b35f979307e581e6e2d4b6aa87dbddf2f124cef02b50e3792f4c31c76c7a848451a3388080611124565b83517fac0b3e21000000000000000000000000000000000000000000000000000000008152fd5b848491876111b333612cfc565b918351906111c082612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611358575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b8401917f206973206d697373696e6720726f6c6520000000000000000000000000000000603784015251809386840190612b33565b01036028810185520183612361565b519788967f08c379a000000000000000000000000000000000000000000000000000000000885287015251809281602488015287870190612b33565b01168101030190fd5b60648587808751927f08c379a000000000000000000000000000000000000000000000000000000000845283015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a6113958587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906111f1565b60248260118b7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248360328c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b806032897f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b806032887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8380fd5b82843461047157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575073ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780356115086122f3565b918115806116cf575b6115c1575b3373ffffffffffffffffffffffffffffffffffffffff84160361153e57509061038391612b68565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152fd5b60015473ffffffffffffffffffffffffffffffffffffffff8116159060a01c65ffffffffffff16816116bd575b816116aa575b5015611627577fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff60015416600155611516565b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603560248201527f416363657373436f6e74726f6c3a206f6e6c792063616e2072656e6f756e636560448201527f20696e2074776f2064656c6179656420737465707300000000000000000000006064820152fd5b905065ffffffffffff42911610386115f4565b65ffffffffffff8116151591506115ee565b5073ffffffffffffffffffffffffffffffffffffffff806002541690841614611511565b90503461040957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095780359061172e6122f3565b9082156117eb57508184528360205261174c600184862001546129d1565b8184528360205273ffffffffffffffffffffffffffffffffffffffff83852091169081855260205260ff83852054161561178557505051f35b8184528360205282842081855260205282842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d858551a451f35b60849060208551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603660248201527f416363657373436f6e74726f6c3a2063616e2774206469726563746c7920677260448201527f616e742064656661756c742061646d696e20726f6c65000000000000000000006064820152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb728152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409576118ff612727565b60ff6006541615611a7c578151907f70a0823100000000000000000000000000000000000000000000000000000000825230818301526020734200000000000000000000000000000000000042918184602481865afa938415611a3f578694611a49575b508361196e57858551f35b60035485517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101928352602083018690529390918391859182908a90829060400103925af1928315611a3f577f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b93611a12575b5060035416928451908152a238808080858551f35b611a3190833d8511611a38575b611a298183612361565b8101906123a2565b50386119fd565b503d611a1f565b85513d88823e3d90fd5b9093508181813d8311611a75575b611a618183612361565b81010312611a7157519238611963565b8580fd5b503d611a57565b90517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b9050346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957816020936001923581528085522001549051908152f35b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57602090517342000000000000000000000000000000000000428152f35b8284346104715760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610471575061022360209235612539565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209060ff6006541690519015158152f35b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610409577f34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb7290818452602091848352838520338652835260ff848620541615611c8457505050611c326123f5565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006006541617600655517f6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b8282a1f35b839085611c9033612cfc565b91835190611c9d82612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611d51575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611d8e8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611cce565b905034610409576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261147857611dfb6122cb565b907fa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc808652858252848620338752825260ff858720541615611ebf57505073ffffffffffffffffffffffffffffffffffffffff80911691821561117f57805491821691838303611e6a57858551f35b7fffffffffffffffffffffffff00000000000000000000000000000000000000008491161790557fe72eaf6addaa195f3c83095031dd08f3a96808dcf047babed1fe4e4f69d6c622848451a338808080858551f35b84849187611ecc33612cfc565b91835190611ed982612316565b6042825286820192606036853782511561144c57603084538251906001918210156114205790607860218501536041915b818311611f8d575050506112fd576112f46112a9856112b860487fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097601f978c9760449c9b519687936112748b86019b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008d528251928391603789019101612b33565b909192600f811660108110156113f4577f3031323334353637383961626364656600000000000000000000000000000000901a611fca8587612cbc565b53881c9280156113c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190611f0a565b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a57612035612727565b6002548060d01c80612063575b505073ffffffffffffffffffffffffffffffffffffffff6002541660025551f35b4211156120bc5779ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff00000000000000000000000000000000000000000000000000006001549260301b169116176001555b3880612042565b507f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5828251a16120b5565b90503461040957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104095761211f612727565b6006549060ff82161561217957507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600655517fab5f6dacf93a267a93a533de8a56370de8341bbd8102017307e7be375c3dda6a8282a1f35b82517ff54eef56000000000000000000000000000000000000000000000000000000008152fd5b50503461022a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022a5760209051620697808152f35b8491346104095760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261040957357fffffffff00000000000000000000000000000000000000000000000000000000811680910361040957602092507f3149878600000000000000000000000000000000000000000000000000000000811490811561226e575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156122a1575b5083612267565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148361229a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036122ee57565b6080810190811067ffffffffffffffff82111761233257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761233257604052565b908160209103126122ee575180151581036122ee5790565b811981116123c6570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff600654166125045761240842612539565b612415600554809261252e565b908161241f575050565b81612429916123ba565b600555600480546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216928101929092526024820183905260208260448160007342000000000000000000000000000000000000425af19081156124f8577fc7798891864187665ac6dd119286e44ec13f014527aeeb2b8eb3fd413df93179926020926124db575b506004541692604051908152a2565b6124f190833d8111611a3857611a298183612361565b50386124cc565b6040513d6000823e3d90fd5b60046040517f07c63c5a000000000000000000000000000000000000000000000000000000008152fd5b8181106123c6570390565b7f00000000000000000000000000000000000000000000000000000000000000008110156125675750600090565b7f000000000000000000000000000000000000000000000000000000000000000081111561262b57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024817342000000000000000000000000000000000000425afa80156124f8576000906125f8575b6125f59150600554906123ba565b90565b6020823d8211612623575b8161261060209383612361565b8101031261047157506125f590516125e7565b3d9150612603565b612656907f00000000000000000000000000000000000000000000000000000000000000009061252e565b7f00000000000000000000000000000000000000000000000000000000000000009081156126f857047f0000000000000000000000000000000000000000000000000000000000000000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048111821515166123c6576125f591027f00000000000000000000000000000000000000000000000000000000000000006123ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602090815260408083205460ff161561276657505050565b61276f33612cfc565b908381519061277d82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b8183116128d95750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b0103602881018b520189612361565b519687957f08c379a0000000000000000000000000000000000000000000000000000000008752600487015251809281602488015287870190612b33565b6064848351907f08c379a000000000000000000000000000000000000000000000000000000000825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a6129168587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191906127ae565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526032600452fd5b6000908082526020908282526040808420338552835260ff8185205416156129f95750505050565b612a0233612cfc565b91815190612a0f82612316565b604282528482019560603688378251156129a457603087538251906001918210156129a45790607860218501536041915b818311612ac25750505061287d57604493926112f48361283f6048601f957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe097519a8b916128308b8401987f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008a526112748d8251928391603789019101612b33565b909192600f81166010811015612977577f3031323334353637383961626364656600000000000000000000000000000000901a612aff8587612cbc565b5360041c92801561294a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019190612a40565b918091926000905b828210612b53575011612b4c575050565b6000910152565b91508060209183015181860152018291612b3b565b90811580612c44575b612c17575b6000918083528260205273ffffffffffffffffffffffffffffffffffffffff6040842092169182845260205260ff604084205416612bb357505050565b8083528260205260408320828452602052604083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b3393604051a4565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060025416600255612b76565b5073ffffffffffffffffffffffffffffffffffffffff806002541690821614612b71565b6002548060d01c8015159081612c97575b5015612c8d5760a01c65ffffffffffff1690565b5060015460d01c90565b9050421138612c79565b9065ffffffffffff80809316911680920381116123c6570190565b908151811015612ccd570160200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761233257604052602a8252602082016040368237825115612ccd57603090538151600190811015612ccd57607860218401536029905b808211612db7575050612d595790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015612e54577f3031323334353637383961626364656600000000000000000000000000000000901a612df38486612cbc565b5360041c918015612e26577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190612d49565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b65ffffffffffff90818111612e95571690565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152fdfea26469706673582212201e3f138be6c5db61f35cd5a66b369b78cb1ff3e0b33ad92d7317aa6c3ad76e8f64736f6c634300080f00332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0000000000000000000000000635fb974f09b269bc750bf96338c29cf414301250000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f60000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec7094000000000000000000000000000000000000000000000000000000000668f66d00000000000000000000000000000000000000000000000000000000066d10b80000000000000000000000000000000000000000000000000000000006ff70e3000000000000000000000000000000000000000000000000000000000007861f800000000000000000000000000000000000000000017af4c463f2af5478c000000000000000000000000000000000000000000000003b363e7f0b6bf06900000", "nonce": "0x0", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x67d94f", "logs": [ { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03" ], "data": "0x", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "logIndex": "0x2e", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x4764e59f4e0dd9ec7df76c5cd0edc4bc07903bf235ab0e0030cc6b7e6e52f274", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03" ], "data": "0x", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "logIndex": "0x2f", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0", "0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03" ], "data": "0x", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "logIndex": "0x30", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0xa5863d4faed73f441831bf2b55550cdbfecb5080dad2352ec834a2baf15aabdc", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03" ], "data": "0x", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "logIndex": "0x31", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x34afc76594eb566b67bab69d3871c5ef776ca6cf718b281af9f9df77dbfdeb72", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "0x000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f03" ], "data": "0x", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "logIndex": "0x32", "removed": false } ], "logsBloom": "0x01000004000000000000000000040000000000000000000000000000000800000000000100010000000000000000000000008000000080000020000800000000000000000000000000000000000000000000000001000000000000000000000000000000020000000000000100800800000000000000000000000000000020008000100000000000000000000000002000100000080000000000000000000000000000000000000000000000000000000000000000000000001000000000000200000000000000000000000000000000000001000000000900000000000020000000000000000000000201000000000200000000000000000000000000000000", "type": "0x2", "transactionHash": "0xcec091a1fc84128278aec22d0ff93eefcc2da4f84b7641df8c2f13d50533a45a", "transactionIndex": "0x19", "blockHash": "0x442879acda748118c2358e8997d60ebada47b9b9f3c34c0043de0b7f462990c8", "blockNumber": "0x758bf04", "gasUsed": "0x2c094d", "effectiveGasPrice": "0x19202b", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": null, "contractAddress": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x7a5ea72ace8", "l1GasPrice": "0x439eee246", "l1GasUsed": "0x15a36" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1722111961, "chain": 10, "commit": "59494bc" } ================================================ FILE: mainnet/2024-06-05-reredeploy-smart-escrow/script/DeploySmartEscrow.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@base-contracts/src/smart-escrow/SmartEscrow.sol"; contract DeploySmartEscrow is Script { address internal BENEFACTOR = vm.envAddress("BENEFACTOR"); address internal BENEFICIARY = vm.envAddress("BENEFICIARY"); address internal BENEFACTOR_OWNER = vm.envAddress("BENEFACTOR_OWNER"); address internal BENEFICIARY_OWNER = vm.envAddress("BENEFICIARY_OWNER"); address internal ESCROW_OWNER = vm.envAddress("NESTED_SAFE"); uint256 internal START = vm.envUint("START"); uint256 internal CLIFF_START = vm.envUint("CLIFF_START"); uint256 internal END = vm.envUint("END"); uint256 internal VESTING_PERIOD_SECONDS = vm.envUint("VESTING_PERIOD_SECONDS"); uint256 internal INITIAL_TOKENS = vm.envUint("INITIAL_TOKENS"); uint256 internal VESTING_EVENT_TOKENS = vm.envUint("VESTING_EVENT_TOKENS"); function run() public { vm.broadcast(); SmartEscrow smartEscrow = new SmartEscrow( BENEFACTOR, BENEFICIARY, BENEFACTOR_OWNER, BENEFICIARY_OWNER, ESCROW_OWNER, START, CLIFF_START, END, VESTING_PERIOD_SECONDS, INITIAL_TOKENS, VESTING_EVENT_TOKENS ); require(smartEscrow.start() == START, "DeploySmartEscrow: start time not set correctly"); require(smartEscrow.cliffStart() == CLIFF_START, "DeploySmartEscrow: cliff start time not set correctly"); require(smartEscrow.end() == END, "DeploySmartEscrow: end time not set correctly"); require(smartEscrow.vestingPeriod() == VESTING_PERIOD_SECONDS, "DeploySmartEscrow: vesting period incorrect"); require(smartEscrow.initialTokens() == INITIAL_TOKENS, "DeploySmartEscrow: number of initial tokens incorrect"); require(smartEscrow.vestingEventTokens() == VESTING_EVENT_TOKENS, "DeploySmartEscrow: number of vesting event tokens incorrect"); require(smartEscrow.benefactor() == BENEFACTOR, "DeploySmartEscrow: benefactor incorrect"); require(smartEscrow.beneficiary() == BENEFICIARY, "DeploySmartEscrow: beneficiary incorrect"); require(smartEscrow.released() == 0, "DeploySmartEscrow: initial released value must be zero"); require(smartEscrow.contractTerminated() == false, "DeploySmartEscrow: contract cannot initially be terminated"); } } ================================================ FILE: mainnet/2024-06-17-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-06-17-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 97.5M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 90M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-06-17-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000012 After: 0x00000000000000000000000000000000000000000000000000000000000000013 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 90M to 97.5M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000055d4a80 After: 0x0000000000000000000000000000000000000000000000000000000005cfbb60 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000011 After: 0x00000000000000000000000000000000000000000000000000000000000000012 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000005cfbb60 After: 0x00000000000000000000000000000000000000000000000000000000055d4a80 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-06-17-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-06-17-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-06-17-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-06-25-update-gas-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-config sign-update-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" .PHONY: sign-rollback-gas-config sign-rollback-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: mainnet/2024-06-25-update-gas-config/README.md ================================================ # Update Gas Config in L1 `SystemConfig` Status: EXECUTED ## Objective Because of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to do some L1 fee recovery. We need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call. This runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values 2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-06-25-update-gas-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-update-gas-config ``` Note: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue: ``` git clone git@github.com:base-org/eip712sign.git cd eip712sign go install ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000013 After: 0x0000000000000000000000000000000000000000000000000000000000000014 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000044d After: 0x010000000000000000000000000000000000000000000000000a118b0000058a ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-update-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback-gas-config ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000014 After: 0x0000000000000000000000000000000000000000000000000000000000000015 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000058a After: 0x010000000000000000000000000000000000000000000000000a118b0000044d ``` Or under Events tab there is the `ConfigUpdate` event ``` { "version":"0" "updateType":1 "data":"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d" } ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! > [!WARNING] > ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-rollback-gas-config` 4. Run `make execute-rollback` to execute the transaction onchain. ================================================ FILE: mainnet/2024-06-25-update-gas-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-06-25-update-gas-config/script/RollbackGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; // This script will be signed ahead of Ecotone but is not planned for execution. // If something goes wrong with the hardfork, we can rollback the config by executing // this pre-signed transaction. contract RollbackGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal FALLBACK_SCALAR = vm.envUint("FALLBACK_SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotome FALLBACK_SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) { uint256 _nonce = safe.nonce(); console.log("Safe current nonce:", _nonce); console.log("Incrememnting by 1 to account for planned `Update` tx"); return _nonce + 1; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-06-25-update-gas-config/script/UpdateGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; contract UpdateGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotone SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) { return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER); } } ================================================ FILE: mainnet/2024-06-28-update-gas-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-config sign-update-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" .PHONY: sign-rollback-gas-config sign-rollback-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: mainnet/2024-06-28-update-gas-config/README.md ================================================ # Update Gas Config in L1 `SystemConfig` Status: EXECUTED ## Objective Because of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to see to do some L1 fee recovery. We need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call. This runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values 2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-06-25-update-gas-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-update-gas-config ``` Note: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue: ``` git clone git@github.com:base-org/eip712sign.git cd eip712sign go install ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000013 After: 0x0000000000000000000000000000000000000000000000000000000000000014 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000044d After: 0x010000000000000000000000000000000000000000000000000a118b0000058a ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-update-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback-gas-config ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000014 After: 0x0000000000000000000000000000000000000000000000000000000000000015 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000058a After: 0x010000000000000000000000000000000000000000000000000a118b0000044d ``` Or under Events tab there is the `ConfigUpdate` event ``` { "version":"0" "updateType":1 "data":"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d" } ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! > [!WARNING] > ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-rollback-gas-config` 4. Run `make execute-rollback` to execute the transaction onchain. ================================================ FILE: mainnet/2024-06-28-update-gas-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-06-28-update-gas-config/script/RollbackGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; // This script will be signed ahead of Ecotone but is not planned for execution. // If something goes wrong with the hardfork, we can rollback the config by executing // this pre-signed transaction. contract RollbackGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal FALLBACK_SCALAR = vm.envUint("FALLBACK_SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotome FALLBACK_SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) { uint256 _nonce = safe.nonce(); console.log("Safe current nonce:", _nonce); console.log("Incrememnting by 1 to account for planned `Update` tx"); return _nonce + 1; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-06-28-update-gas-config/script/UpdateGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; contract UpdateGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotone SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) { return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER); } } ================================================ FILE: mainnet/2024-07-10-update-gas-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-config sign-update-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "sign()" .PHONY: execute execute: forge script --broadcast --rpc-url $(L1_RPC_URL) UpdateGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" .PHONY: sign-rollback-gas-config sign-rollback-gas-config: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasConfig \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: mainnet/2024-07-10-update-gas-config/README.md ================================================ # Update Gas Config in L1 `SystemConfig` Status: EXECUTED ## Objective Because of the recently blob market fee dynamics, we had to pay extra priority fees in order for the blobs to be included in L1, which resulted in a net loss. Because of this, we wanted to tweak the gas scalar to see to do some L1 fee recovery. We need to make changes to the Gas Config in the L1 `SystemConfig` contract. Specifically, we need to set the `_overhead` and `_scalar` values by calling `setGasConfig`. This is an access-controlled method that only the Incident Multisig can call. This runbook implements scripts to allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasConfig` -- This script will update the values according to our expected new scalar values 2. `RollbackGasConfig` -- This script establishes a rollback call in the case we need to revert to old values > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-10-update-gas-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-update-gas-config ``` Note: there have been reports of some folks seeing this error `Error creating signer: error opening ledger: hidapi: failed to open device`. A fix is in progress, but not yet merged. If you come across this, open a new terminal and run the following to resolve the issue: ``` git clone git@github.com:base-org/eip712sign.git cd eip712sign go install ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000021 After: 0x0000000000000000000000000000000000000000000000000000000000000022 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000058a After: 0x01000000000000000000000000000000000000000000000000101c12000008dd ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-update-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback-gas-config ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000014 After: 0x0000000000000000000000000000000000000000000000000000000000000015 ``` 2. Verify that gas config values are appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000066 Before: 0x010000000000000000000000000000000000000000000000000a118b0000058a After: 0x010000000000000000000000000000000000000000000000000a118b0000044d ``` Or under Events tab there is the `ConfigUpdate` event ``` { "version":"0" "updateType":1 "data":"0x0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000058a" } ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback-gas-config ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! > [!WARNING] > ONLY PROCEED IF WE MUST FALLBACK TO CALLDATA ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-rollback-gas-config` 4. Run `make execute-rollback` to execute the transaction onchain. ================================================ FILE: mainnet/2024-07-10-update-gas-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-10-update-gas-config/script/RollbackGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; // This script will be signed ahead of Ecotone but is not planned for execution. // If something goes wrong with the hardfork, we can rollback the config by executing // this pre-signed transaction. contract RollbackGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal FALLBACK_SCALAR = vm.envUint("FALLBACK_SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == FALLBACK_SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotome FALLBACK_SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe safe) internal view override returns (uint256 nonce) { uint256 _nonce = safe.nonce(); console.log("Safe current nonce:", _nonce); console.log("Incrememnting by 1 to account for planned `Update` tx"); return _nonce + 1; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-10-update-gas-config/script/UpdateGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Vm} from "forge-std/Vm.sol"; contract UpdateGasConfig is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall( SystemConfig.setGasConfig, ( 0, // overhead is not used post Ecotone SCALAR ) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal pure override returns (SimulationStateOverride memory) { return overrideSafeThresholdAndOwner(_safe, DEFAULT_SENDER); } } ================================================ FILE: mainnet/2024-07-16-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-16-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 100.5M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 97.5M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-16-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000016 After: 0x00000000000000000000000000000000000000000000000000000000000000017 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 90M to 97.5M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000005cfbb60 After: 0x0000000000000000000000000000000000000000000000000000000006422c40 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000017 After: 0x00000000000000000000000000000000000000000000000000000000000000018 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006422c40 After: 0x0000000000000000000000000000000000000000000000000000000005cfbb60 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-07-16-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-16-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-07-16-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-23-set-l1-resolver/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-set-l1-resolver sign-set-l1-resolver: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) SetL1Resolver \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) SetL1Resolver \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-23-set-l1-resolver/README.md ================================================ # Update the `Resolver` of the `base.eth` name to the Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol) Status: EXECUTED ## Objective For the L2 infrastructure to function, the L1 `base.eth` name needs to enable CCIP-read via an [ERC-3668](https://eips.ethereum.org/EIPS/eip-3668) compliant resolver. The Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol) contract implements this functionality. This script interfaces with the ENS registry and changes the address of our `resolver` to the newly deployed L1 Resolver contract. The values we are sending are statically defined in the `.env`. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-23-set-l1-resolver make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-set-l1-resolver ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Navigate to the `State` tab and check that the following state changes are reflected in the simulation; The `resolver` address change in the ENS Registry. We expect that the resolver is being set _from_: [0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41](https://etherscan.io/address/0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41) _to_: [0x480F8F2FfE823Dc70F499Cc2542C42a3a6aD3f20](https://etherscan.io/address/0x480F8F2FfE823Dc70F499Cc2542C42a3a6aD3f20) **ENSRegistryWithFallback** _0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e_ `mapping (bytes32 => tuple) records` `bytes32 node`: 0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10 _where_ `0xff1e...8e10` == `nodehash(base.eth)` **Key:** 0x0c2c38386d21b4257e636b2579f626b23f930fbee0cc73a52081e975ea266cff **Before:** 0x0000000000000000000000004976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41 **After:** 0x000000000000000000000000480f8f2ffe823dc70f499cc2542c42a3a6ad3f20 **GnosisSafeProxy** _0x14536667Cd30e52C0b458BaACcB9faDA7046E056_ Increments the nonce from 24 -> 25 **Key**: 0x0000000000000000000000000000000000000000000000000000000000000005 **Before**: 0x0000000000000000000000000000000000000000000000000000000000000018 **After**: 0x0000000000000000000000000000000000000000000000000000000000000019 #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-set-l1-resolver ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output (For Facilitator) 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` ================================================ FILE: mainnet/2024-07-23-set-l1-resolver/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-23-set-l1-resolver/script/SetL1Resolver.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; interface Registry { function setResolver(bytes32 node, address resolver) external; function resolver(bytes32 node) external returns (address); } contract SetL1Resolver is MultisigBuilder { address internal ENS_REGISTRY = vm.envAddress("ENS_REGISTRY"); address internal INCIDENT_MULTISIG = vm.envAddress("L1_INCIDENT_MULTISIG"); bytes32 internal BASE_ETH_NODE = vm.envBytes32("BASE_ETH_NODEHASH"); address internal L1_RESOLVER_ADDR = vm.envAddress("L1_RESOLVER_ADDR"); /** * @notice Follow up assertions to ensure that the script ran to completion. */ function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override { assert(Registry(ENS_REGISTRY).resolver(BASE_ETH_NODE) == L1_RESOLVER_ADDR); } /** * @notice Creates the calldata */ function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: ENS_REGISTRY, allowFailure: false, callData: abi.encodeCall(Registry.setResolver, (BASE_ETH_NODE, L1_RESOLVER_ADDR)) }); return calls; } /** * @notice Returns the safe address to execute the transaction from */ function _ownerSafe() internal override view returns (address) { return INCIDENT_MULTISIG; } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-23-transfer-owner-balance-tracker/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) BalanceTrackerOwnershipTransfer \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) BalanceTrackerOwnershipTransfer \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-23-transfer-owner-balance-tracker/README.md ================================================ # Transfer ownership of L1 `BalanceTracker` from the CB Upgrade multisig to the CB Incident multisig Status: EXECUTED https://etherscan.io/tx/0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58 ## Objective Transfer the ownership of the L1 `BalanceTracker` contract from the CB Upgrade multisig to the CB Incident multisig. This allows us to be more responsive to required balance changes for our batcher, proposer, and challenger addresses. ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-23-transfer-owner-balance-tracker make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign ``` Once you run the `make sign` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 1 validation, and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate the proxy admin has been updated correctly. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Upgrade Multisig under the "GnosisSafeProxy" at address `0x9855054731540A48b28990B63DcF4f33d8AE46A1`. We should see the nonce increment from 13 to 14: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000d After: 0x000000000000000000000000000000000000000000000000000000000000000e ``` 2. Verify that the admin is appropriately updated under "Proxy" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`. We should see that the admin change from 0x9855054731540a48b28990b63dcf4f33d8ae46a1 to 0x14536667cd30e52c0b458baaccb9fada7046e056: ``` Key: 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103 Before: 0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1 After: 0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` ================================================ FILE: mainnet/2024-07-23-transfer-owner-balance-tracker/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-23-transfer-owner-balance-tracker/records/BalanceTrackerOwnershipTransfer.sol/1/run-1721845061.json ================================================ { "transactions": [ { "hash": "0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000248f28397000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7a4ab5287caf68bd6620726b009659528ace3b0f76955e7e1df48825fcfe76651c3c295f3a0d689269f0fd0e9098c2c073a804b6de73eb3b91178999daffe4861cb9660001168bb9adffca1470990ce0687bd3e43fc39a65d5713ce98e53e3ad1439b52037612ce3ff8c00c67409bf372b0bc9fa481f4029cb58b8aa4dd294b9f11cac9cac18057524f35102cb25e75f901472cc64ef8501e1ad77860a12edf0b334188f6e565d03e1097dcc830e04f40ce8e3f8bb6867a708b70b5aee9f4b130a9b1b" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1c6e3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000248f28397000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37a4ab5287caf68bd6620726b009659528ace3b0f76955e7e1df48825fcfe76651c3c295f3a0d689269f0fd0e9098c2c073a804b6de73eb3b91178999daffe4861cb9660001168bb9adffca1470990ce0687bd3e43fc39a65d5713ce98e53e3ad1439b52037612ce3ff8c00c67409bf372b0bc9fa481f4029cb58b8aa4dd294b9f11cac9cac18057524f35102cb25e75f901472cc64ef8501e1ad77860a12edf0b334188f6e565d03e1097dcc830e04f40ce8e3f8bb6867a708b70b5aee9f4b130a9b1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x22", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xcb0eae", "logs": [ { "address": "0x23b597f33f6f2621f77da117523dffd634cdf4ea", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a100000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "blockHash": "0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423", "blockNumber": "0x136f21b", "blockTimestamp": "0x66a1453f", "transactionHash": "0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58", "transactionIndex": "0x86", "logIndex": "0x1af", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9d2b35eb0c456c40e19b8c8b9644c4459072d1f9ba81d803cccebe5a63bf0a3e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423", "blockNumber": "0x136f21b", "blockTimestamp": "0x66a1453f", "transactionHash": "0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58", "transactionIndex": "0x86", "logIndex": "0x1b0", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000040000000000000", "type": "0x2", "transactionHash": "0x096cdc7349e9eba3ee7f69c103adfdc6565dbe36bb523fa84169391dee6b6e58", "transactionIndex": "0x86", "blockHash": "0x300c6a0091e3a61726d2dc3912ef9a9c8311d16ffe1fba129dd2c731acc53423", "blockNumber": "0x136f21b", "gasUsed": "0x13709", "effectiveGasPrice": "0xe191bd15", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1721845061, "chain": 1, "commit": "c75de44" } ================================================ FILE: mainnet/2024-07-23-transfer-owner-balance-tracker/script/BalanceTrackerOwnershipTransfer.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { Vm } from "forge-std/Vm.sol"; import { Proxy } from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract BalanceTrackerOwnershipTransfer is MultisigBuilder { address internal _proxyContract = vm.envAddress("BALANCE_TRACKER_PROXY_ADDR"); address internal _oldOwner = vm.envAddress("CB_UPGRADE_SAFE_ADDR"); address internal _newOwner = vm.envAddress("CB_INCIDENT_SAFE_ADDR"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override { Proxy proxy = Proxy(payable(_proxyContract)); vm.prank(_newOwner); assert(proxy.admin() == _newOwner); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: _proxyContract, allowFailure: false, callData: abi.encodeCall(Proxy.changeAdmin, (_newOwner)) }); return calls; } function _ownerSafe() internal view override returns (address) { return _oldOwner; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-24-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-24-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 100.5M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 97.5M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-24-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 18 to 19: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000017 After: 0x00000000000000000000000000000000000000000000000000000000000000018 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 105M to 112.5M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006422C40 After: 0x0000000000000000000000000000000000000000000000000000000006B49D20 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000018 After: 0x00000000000000000000000000000000000000000000000000000000000000019 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006B49D20 After: 0x0000000000000000000000000000000000000000000000000000000006422C40 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-07-24-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-24-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _getNonce(IGnosisSafe) internal view override returns (uint256 nonce) { nonce = vm.envUint("ROLLBACK_NONCE"); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-07-24-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployBalanceTracker \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/README.md ================================================ # Reduce batcher / proposer target balances on `BalanceTracker` Status: [EXECUTED](https://etherscan.io/tx/0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9) ## Objective Upgrade the L1 `BalanceTracker` contract to modify the batcher target balance to 550 ETH and the proposer to 50 ETH. ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-24-reduce-batcher-proposer-balance-targets make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign ``` Once you run the `make sign` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 1 validation, and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate the proxy implementation has been updated correctly. 2. Validate the initializer variable has been incremented. 3. Validate the two target balance values have been modified. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Upgrade Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 24 to 25: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000018 After: 0x0000000000000000000000000000000000000000000000000000000000000019 ``` 2. Verify that the implementation is appropriately updated under "Proxy" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`. We should see that the implementation change from 0x54d194faae439fc3f8024801b0b9ebc91ebd39f5 to 0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b: ``` Key: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc Before: 0x00000000000000000000000054d194faae439fc3f8024801b0b9ebc91ebd39f5 After: 0x000000000000000000000000b00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b ``` 3. Verify that the initializer is appropriately updated under "Proxy" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`. We should see that the value change from 1 to 2: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000000 Before: 0x0000000000000000000000000000000000000000000000000000000000000001 After: 0x0000000000000000000000000000000000000000000000000000000000000002 ``` 4. Verify that the proposer target balance is appropriately updated under "Proxy" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`. We should see the value change from 200 ETH to 50 ETH: ``` Key: 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1 Before: 0x00000000000000000000000000000000000000000000000ad78ebc5ac6200000 After: 0x000000000000000000000000000000000000000000000002b5e3af16b1880000 ``` 5. Verify that the batcher target balance is appropriately updated under "Proxy" at address `0x23B597f33f6f2621F77DA117523Dffd634cDf4ea`. We should see the value change from 1000 ETH to 550 ETH: ``` Key: 0x46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c2 Before: 0x00000000000000000000000000000000000000000000003635c9adc5dea00000 After: 0x00000000000000000000000000000000000000000000001dd0c885f9a0d80000 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/records/DeployBalanceTracker.s.sol/1/run-1721866466.json ================================================ { "transactions": [ { "hash": "0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9", "transactionType": "CREATE", "contractName": "BalanceTracker", "contractAddress": "0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b", "function": null, "arguments": [ "0xEc8103eb573150cB92f8AF612e0072843db2295F" ], "transaction": { "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "gas": "0x12d461", "value": "0x0", "input": "0x60a03461018057601f61116138819003918201601f19168301916001600160401b038311848410176101855780849260209460405283398101031261018057516001600160a01b03811680820361018057156101205760805260005460ff8160081c166100cb5760ff80821610610090575b604051610fc5908161019c823960805181818161046b015261052e0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610071565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610d77565b005b6000803560e01c9081630a5657201461009e575080636d1eb022146100955780637fbbe46f1461008c578063927a1a7714610083578063981949e81461007a5763ba69ebed0361000e5761007561048f565b61000e565b5061007561041f565b50610075610399565b506100756102c3565b50610075610180565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576004359060345482101561010857507f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1015460805260206080f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b603454811015610173575b60346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c10190600090565b61017b61010b565b610146565b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405160148152f35b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761023457604052565b61023c6101c0565b604052565b60209067ffffffffffffffff811161025b575b60051b0190565b6102636101c0565b610254565b9080601f830112156101bb5781359061028861028383610241565b6101f0565b9182938184526020808095019260051b8201019283116101bb578301905b8282106102b4575050505090565b813581529083019083016102a6565b50346101bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb5767ffffffffffffffff6004358181116101bb57366023820112156101bb5780600401359061032361028383610241565b908192808352602460208094019160051b830101913683116101bb57602401905b82821061036d57602435858782116101bb57610367610021923690600401610268565b9061066d565b813573ffffffffffffffffffffffffffffffffffffffff811681036101bb578152908301908301610344565b50346101bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb576004356033548110156101bb5773ffffffffffffffffffffffffffffffffffffffff60209160336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015416604051908152f35b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101bb576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576001600281541461060f576002815560338054906104df8215156107de565b835b8281106105785784475a7fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda77610567610556858080808873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168099f1151590565b604051948552939081906020820190565b0390a361057360018055565b604051f35b83908254811015610602575b8286526105fc6105ca827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff6105f56105eb8561013b565b90549060031b1c90565b9116610da5565b016104e1565b61060a61010b565b610584565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b9060005460ff8160081c161590816107d0575b501561074c576106f0916106ba60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b6106eb6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610c17565b61071d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600281527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6002915060ff161038610680565b156107e557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f000000006064820152fd5b1561087057565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c000000000000000000000000000000000000000000000000006084820152fd5b602091815181101561092f575b60051b010190565b61093761010b565b610927565b1561094357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e2061646472657373283029000000000000006064820152fd5b156109ce57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e203020746172676574000000000000000000006064820152fd5b805190680100000000000000008211610b45575b60335482603355808310610b04575b5060208091019060336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a826000925b848410610ab4575050505050565b6001838273ffffffffffffffffffffffffffffffffffffffff839451167fffffffffffffffffffffffff000000000000000000000000000000000000000086541617855501920193019290610aa6565b827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8291820191015b818110610b395750610a75565b60008155600101610b2c565b610b4d6101c0565b610a66565b805190680100000000000000008211610c0a575b60345482603455808310610bc9575b5060208091019060346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c16000925b848410610bb4575050505050565b60018382829351855501920193019290610ba6565b827f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c191820191015b818110610bfe5750610b75565b60008155600101610bf1565b610c126101c0565b610b66565b91908251610c268115156107de565b60148111610ccd57610c3a82518214610869565b60005b818110610c62575050610c53610c589293610a52565b610b52565b610c60610f6f565b565b80610cb2610cab610c92610c786001958a61091a565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b151561093c565b610cc7610cbf828661091a565b5115156109c7565b01610c3d565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604460248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e203230000000000000000000000000000000000000000000000000000000006084820152fd5b6040513481527f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a60203392a2565b9081319080821015610e9657818110610e6757034780821115610e2a5773ffffffffffffffffffffffffffffffffffffffff7f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c915b610e256000808080858a5af19160405193849315159716958360209093929193604081019481520152565b0390a3565b507f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c73ffffffffffffffffffffffffffffffffffffffff82610dfa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50506000907f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c604073ffffffffffffffffffffffffffffffffffffffff8151938585528560208601521692a3565b15610eeb57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b610f8960ff60005460081c16610f8481610ee4565b610ee4565b6001805556fea26469706673582212201bbe4bed07edc5c0d14484e3edf4908a50755b1acce2cce42f9502403be7908e64736f6c634300080f0033000000000000000000000000ec8103eb573150cb92f8af612e0072843db2295f", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xab0fe9", "logs": [ { "address": "0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x77964bc9d82288323fe7e0ad8f486343a0a171d28b250579ee750f99048cf172", "blockNumber": "0x136f906", "blockTimestamp": "0x66a198df", "transactionHash": "0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9", "transactionIndex": "0x4c", "logIndex": "0x157", "removed": false } ], "logsBloom": "0x00200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000200000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x08f83f3d7dd6024f8ff8766c30b5f8c4e70a9dc997391284520281422941d0a9", "transactionIndex": "0x4c", "blockHash": "0x77964bc9d82288323fe7e0ad8f486343a0a171d28b250579ee750f99048cf172", "blockNumber": "0x136f906", "gasUsed": "0xe7d16", "effectiveGasPrice": "0xa1130edb", "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "to": null, "contractAddress": "0xb00fb2ead6c6150b11fc8b3a8cf7f8944c7dba7b" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1721866466, "chain": 1, "commit": "65b8deb" } ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/script/DeployBalanceTracker.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { BalanceTracker } from "@base-contracts/src/revenue-share/BalanceTracker.sol"; contract DeployBalanceTracker is Script { function run() external { address payable profitWallet = payable(vm.envAddress("PROFIT_WALLET")); console.log("Profit Wallet: %s", profitWallet); vm.broadcast(); BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet); require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, "DeployBalanceTracker: incorrect profit wallet"); console.log("Balance Tracker Impl address: %s", address(balanceTrackerImpl)); } } ================================================ FILE: mainnet/2024-07-24-reduce-batcher-proposer-balance-targets/script/UpgradeBalanceTracker.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { Vm } from "forge-std/Vm.sol"; import { console } from "forge-std/console.sol"; import { Proxy } from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import { MultisigBuilder, IGnosisSafe, IMulticall3 } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { BalanceTracker } from "@base-contracts/src/revenue-share/BalanceTracker.sol"; /** * @notice Upgrades the BalanceTracker proxy contract */ contract UpgradeBalanceTracker is MultisigBuilder { address internal ownerSafe = vm.envAddress("CB_INCIDENT_SAFE_ADDR"); address payable internal proxy = payable(vm.envAddress("BALANCE_TRACKER_PROXY")); address payable internal implementation = payable(vm.envAddress("BALANCE_TRACKER_IMPLEMENTATION")); address payable internal profitWallet = payable(vm.envAddress("PROFIT_WALLET")); address payable internal outputProposer = payable(vm.envAddress("OUTPUT_PROPOSER")); address payable internal batchSender = payable(vm.envAddress("BATCH_SENDER")); uint256 internal outputProposerTargetBalance = vm.envUint("OUTPUT_PROPOSER_TARGET_BALANCE"); uint256 internal batchSenderTargetBalance = vm.envUint("BATCH_SENDER_TARGET_BALANCE"); function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { console.log("Batch Sender: %s", batchSender); console.log("Output Proposer: %s", outputProposer); console.log("Batch Sender Target Balance: %s", batchSenderTargetBalance); console.log("Output Proposer Target Balance: %s", outputProposerTargetBalance); address payable[] memory systemAddresses = new address payable[](2); uint256[] memory targetBalances = new uint256[](2); systemAddresses[0] = outputProposer; systemAddresses[1] = batchSender; targetBalances[0] = outputProposerTargetBalance; targetBalances[1] = batchSenderTargetBalance; bytes memory initializeCall = abi.encodeCall( BalanceTracker.initialize, ( systemAddresses, targetBalances ) ); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: proxy, allowFailure: false, callData: abi.encodeCall( Proxy.upgradeToAndCall, ( implementation, initializeCall ) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return ownerSafe; } function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override { vm.prank(ownerSafe); require( Proxy(proxy).implementation() == implementation, "UpgradeBalanceTracker: incorrect proxy implementation" ); require( BalanceTracker(implementation).PROFIT_WALLET() == profitWallet, "UpgradeBalanceTracker: incorrect profit wallet" ); require( BalanceTracker(proxy).systemAddresses(0) == outputProposer, "UpgradeBalanceTracker: incorrect output proposer" ); require( BalanceTracker(proxy).systemAddresses(1) == batchSender, "UpgradeBalanceTracker: incorrect batch sender" ); require( BalanceTracker(proxy).targetBalances(0) == outputProposerTargetBalance, "UpgradeBalanceTracker: incorrect output proposer target balance" ); require( BalanceTracker(proxy).targetBalances(1) == batchSenderTargetBalance, "UpgradeBalanceTracker: incorrect batch sender target balance" ); } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-30-set-new-l1-resolver/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-set-l1-resolver sign-set-l1-resolver: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) SetL1Resolver \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) SetL1Resolver \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-30-set-new-l1-resolver/README.md ================================================ # Update the `Resolver` of the `base.eth` name to the Basenames [L1Resolver](https://github.com/base-org/basenames/blob/v1.0.0/src/L1/L1Resolver.sol) Status: EXECUTED https://etherscan.io/tx/0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df ## Objective The L1 Resolver contract set via `2024-07-23-set-l1-resolver` runbook had a bug wherein generic `resolve` requests for the `base.eth` name itself were failing. This was due to the fact that the `rootResolver` does not implement the `resolve` method. The issue with the contract was fixed in [this PR](https://github.com/base-org/basenames/pull/84) and deployed in [this SCM deploy](https://provisioning-reports.cbhq.net/smart-contracts/usernames/29?stage=apply&group=tf_apply). This runbook will set the resolver for the `base.eth` name to the newly deployed, fixed version of the L1 Resolver contract. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-30-set-new-l1-resolver make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-set-l1-resolver ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Navigate to the `State` tab and check that the following state changes are reflected in the simulation; The `resolver` address change in the ENS Registry. We expect that the resolver is being set _from_: [0x480f8f2ffe823dc70f499cc2542c42a3a6ad3f20](https://etherscan.io/address/0x480f8f2ffe823dc70f499cc2542c42a3a6ad3f20) _to_: [0xde9049636f4a1dfe0a64d1bfe3155c0a14c54f31](https://etherscan.io/address/0xde9049636f4a1dfe0a64d1bfe3155c0a14c54f31) **ENSRegistryWithFallback** _0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e_ `mapping (bytes32 => tuple) records` `bytes32 node`: 0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10 _where_ `0xff1e...8e10` == `nodehash(base.eth)` **Key:** 0x0c2c38386d21b4257e636b2579f626b23f930fbee0cc73a52081e975ea266cff **Before:** 0x000000000000000000000000480f8f2ffe823dc70f499cc2542c42a3a6ad3f20 **After:** 0x000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31 **GnosisSafeProxy** _0x14536667Cd30e52C0b458BaACcB9faDA7046E056_ Increments the nonce from 26 -> 27 **Key**: 0x0000000000000000000000000000000000000000000000000000000000000005 **Before**: 0x000000000000000000000000000000000000000000000000000000000000001a **After**: 0x000000000000000000000000000000000000000000000000000000000000001b #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-set-l1-resolver ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output (For Facilitator) 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` ================================================ FILE: mainnet/2024-07-30-set-new-l1-resolver/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-30-set-new-l1-resolver/records/SetL1Resolver.sol/1/run-1722367323.json ================================================ { "transactions": [ { "hash": "0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f3100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf83d0e205c1f88016d56cce6bb07f73ef169f06b1a83073a58a59d106f00c60e25c21e934978ca21d5362100907315308bfdc1a95c502519852686946c2c5de91baebd5a5d3baaeae310e755260288790055082685117e177bbf8bff2e08e54ae46213c40c1f92586c0d9ad31390167c1af8dfad0129bbbe674e85b9614dcab6a41b4cb95310f4d6cdfc54386d0ff3cea84532ddf53fd6d77a7439b976acc7a5cd93368bc72022010f68ac6e6e505e79bfab9b94df88a9c2133998293436eead3c011c" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1d7f2", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f83d0e205c1f88016d56cce6bb07f73ef169f06b1a83073a58a59d106f00c60e25c21e934978ca21d5362100907315308bfdc1a95c502519852686946c2c5de91baebd5a5d3baaeae310e755260288790055082685117e177bbf8bff2e08e54ae46213c40c1f92586c0d9ad31390167c1af8dfad0129bbbe674e85b9614dcab6a41b4cb95310f4d6cdfc54386d0ff3cea84532ddf53fd6d77a7439b976acc7a5cd93368bc72022010f68ac6e6e505e79bfab9b94df88a9c2133998293436eead3c011c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x9affb4", "logs": [ { "address": "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10" ], "data": "0x000000000000000000000000de9049636f4a1dfe0a64d1bfe3155c0a14c54f31", "blockHash": "0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370", "blockNumber": "0x1379b31", "blockTimestamp": "0x66a93d57", "transactionHash": "0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df", "transactionIndex": "0x6d", "logIndex": "0x127", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xc84c34bbdd1f6207a1102effff0ba9b9c5c390737fb164faee39b2f4cb94c1ae0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370", "blockNumber": "0x1379b31", "blockTimestamp": "0x66a93d57", "transactionHash": "0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df", "transactionIndex": "0x6d", "logIndex": "0x128", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000020000000000000000000040000000000000000100000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000040000000000000000000000040000000000000004000004000000000000000000000000008000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x15a5263c5531d27f6f91cfe79167ddaf0db38a29ce50106ff0e3380b468722df", "transactionIndex": "0x6d", "blockHash": "0xcd387705bb516adb6c01acbf6a15ba4fbf4d350ce5a6d3f1783cda47145f1370", "blockNumber": "0x1379b31", "gasUsed": "0x142b3", "effectiveGasPrice": "0x2746bac5d", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1722367323, "chain": 1, "commit": "d398f04" } ================================================ FILE: mainnet/2024-07-30-set-new-l1-resolver/script/SetL1Resolver.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; interface Registry { function setResolver(bytes32 node, address resolver) external; function resolver(bytes32 node) external returns (address); } contract SetL1Resolver is MultisigBuilder { address internal ENS_REGISTRY = vm.envAddress("ENS_REGISTRY"); address internal INCIDENT_MULTISIG = vm.envAddress("L1_INCIDENT_MULTISIG"); bytes32 internal BASE_ETH_NODE = vm.envBytes32("BASE_ETH_NODEHASH"); address internal L1_RESOLVER_ADDR = vm.envAddress("L1_RESOLVER_ADDR"); /** * @notice Follow up assertions to ensure that the script ran to completion. */ function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override { assert(Registry(ENS_REGISTRY).resolver(BASE_ETH_NODE) == L1_RESOLVER_ADDR); } /** * @notice Creates the calldata */ function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: ENS_REGISTRY, allowFailure: false, callData: abi.encodeCall(Registry.setResolver, (BASE_ETH_NODE, L1_RESOLVER_ADDR)) }); return calls; } /** * @notice Returns the safe address to execute the transaction from */ function _ownerSafe() internal override view returns (address) { return INCIDENT_MULTISIG; } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-07-30-transfer-op/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \ --sig "sign(address)" $(CB_MULTISIG) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \ --sig "sign(address)" $(OP_MULTISIG) .PHONY: approve-cb approve-cb: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \ --sig "approve(address,bytes)" $(CB_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-op approve-op: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \ --sig "approve(address,bytes)" $(OP_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: execute execute: forge script --rpc-url $(OPTIMISM_RPC_URL) TransferOPTokens \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-30-transfer-op/README.md ================================================ # Transfer OP Tokens to SmartEscrow Status: EXECUTED Tx hash: https://optimistic.etherscan.io/tx/0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce ## Objective When Base launched, Optimism granted a share of OP tokens to Coinbase. The token distribution occurs onchain, and vests over a period of 6 years, with the first vesting event in July 2024. A smart contract handles the logic to make the tokens available for distribution as they vest. This smart contract (the "Smart Escrow Contract") also receives OP tokens 1 year before they vest and stores them until vesting. However, since the Smart Escrow contract was not ready upon Base launch, the existing OP tokens are being stored in a 2-of-2 multisig with CB & OP signers (similar to the multisig used for Base's upgrade keys, except on the Optimism network). Now that the Smart Escrow contract is live, this task moves any existing OP tokens from the 2-of-2 multisig to the Smart Escrow contract. ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-30-transfer-op make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-op # or make sign-cb for Coinbase signers ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Optimism Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Nested Multisig under the "GnosisSafeProxy" at address `0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000001 After: 0x0000000000000000000000000000000000000000000000000000000000000002 ``` 2. And for the same contract, verify that this specific execution is approved by the other signer multisig: ``` Key (if you are an OP signer): 0xca90537b72eefaa217070da5269b8eed78462a4399c1fa107670d1a4cab3301a Key (if you are a CB signer): 0x4e7d70e21746b3fcaf2ac086ca20325513b71ba63d976a9e3792a8921ab8d75e Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000000000000000000000000000000000000000000001 ``` 3. Verify that the nonce is incremented for your multisig. If you are an OP signer - the OP Foundation Multisig should be under the "GnosisSafeProxy" at address `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000082 After: 0x0000000000000000000000000000000000000000000000000000000000000083 ``` If you are a CB signer - the Coinbase Multisig should be under the address `0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000002 After: 0x0000000000000000000000000000000000000000000000000000000000000003 ``` 4. Verify that the state changes for the OP ERC20 token match the expected balance updates. Under the "Optimism ERC-20" `_balances` field, look for the following state changes: ``` 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940 42054887000000000000000000 -> 0 0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f 0 -> 42054887000000000000000000 ``` The raw state changes will look like this (if you convert the hex values to decimal you'll get the above values): ``` Key: 0x6d16b6fe5688f7b25d007e8e32e8ef55e43df772df001dd04dca46e4b074515a Before: 0x00000000000000000000000000000000000000000022c977fe114f325b3c0000 After: 0x0000000000000000000000000000000000000000000000000000000000000000 ``` ``` Key: 0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x00000000000000000000000000000000000000000022c977fe114f325b3c0000 ``` 5. Verify that the `L1FeeVault` at `0x420000000000000000000000000000000000001a` receives the gas associated with the call: _Note: the balance values here will not be exactly the same_ ``` Balance 2523179754840340647 -> 2523179853060159772 ``` 6. Verify that the nonce for the sending address is appropriately incremented: _Note: the nonce value might be different depending on the nonce of the sending EOA_ ``` Nonce 0 -> 1 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafeL2.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the hash value may be different: image It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-op # or make sign-cb for Coinbase signers ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## [For Facilitator ONLY] How to execute the rehearsal ### [After the rehearsal] Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make approve-cb` with Coinbase signer signatures. 4. Run `make approve-op` with Optimism signer signatures. 4. Run `make run` to execute the transaction onchain. ================================================ FILE: mainnet/2024-07-30-transfer-op/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.19" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148142.json ================================================ { "transactions": [ { "hash": "0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "gas": "0x262d9", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x23bbfa", "logs": [ { "address": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea948572255ca3205219cb336b2e33fbf7250ebddebe8e0fb5e53c658ac622db4c82c78576a13c8d4a84bf17aab86045320b1f9a7ded692ed23bbac519440a6a1b9b024bc5278146d33be19492c7987a883e719e1dd166b407a5b778d9e6bd93847a38e86a45ce36900f5d3bb17aa7ee6ea64f6c00ab48858e76b56f57fc80fbf91cb545be8e287db8b8a52062723860dfd68f494f64c174cb713659086d0027f6e13d74cdc8ef60ec1fb6bf8422319b305dbc9203dc046276d6ff3cc224ff782c571b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000082000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d", "blockNumber": "0x760a6d7", "transactionHash": "0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94", "transactionIndex": "0xc", "logIndex": "0x36", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0" ], "data": "0x", "blockHash": "0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d", "blockNumber": "0x760a6d7", "transactionHash": "0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94", "transactionIndex": "0xc", "logIndex": "0x37", "removed": false }, { "address": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x913653b64ebbac3a3c1730bb0eefd07bad8f6f041cb81a4d9ec73d6e6cedfc160000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d", "blockNumber": "0x760a6d7", "transactionHash": "0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94", "transactionIndex": "0xc", "logIndex": "0x38", "removed": false } ], "logsBloom": "0x00080080400000000000000000000000000000000000000000000000040800000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000100800000000000000000000000000000000000000000000000000000008000000000000000800000000000000000000000000000200000000400000000000000000004000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000041000000000000000000000000000000000000100000000100000000", "type": "0x2", "transactionHash": "0x85a6f0f9a3cceada295fdbe30b592ad1d6d44deeb71f61eb94281a1d9820fd94", "transactionIndex": "0xc", "blockHash": "0x3a74b35c4aae824abee794a2ea820c5e74d391dfca1b3cd280fe0e0ca690202d", "blockNumber": "0x760a6d7", "gasUsed": "0x1ba3f", "effectiveGasPrice": "0x4c328", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0", "contractAddress": null, "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x1bf8110b73", "l1GasPrice": "0xf033b36a", "l1GasUsed": "0x1646" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1723148142, "chain": 10, "commit": "bd8c139" } ================================================ FILE: mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148655.json ================================================ { "transactions": [ { "hash": "0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "gas": "0x262fa", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x27cb35", "logs": [ { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37db35fe0166e453288bdb41cd7250616d8d262c34c2da84d25cdf0bc47ba1e0524b53776ce20855d2fdbf039e497ae1bcecff725d01a73f5886858f2012d5a911b3a8cd86a3cd7cce6867917ac5793d423f4f712b09d10d4fd4e4c619628d8853649f237fe758843ab68c31d1cf5358ea7b09ee0f136475fda326abb1b1fed08261c0624cb29039a267550ed532d674c2fc2a04ef5fc1bbb3a6282d217304ff1a1f011ac21885ce4e058dd0b7eb761069120c3df862328acdbb05caf8f6d1e6b5bbd1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e", "blockNumber": "0x760a7d8", "transactionHash": "0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d", "transactionIndex": "0x7", "logIndex": "0x32", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b4", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6" ], "data": "0x", "blockHash": "0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e", "blockNumber": "0x760a7d8", "transactionHash": "0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d", "transactionIndex": "0x7", "logIndex": "0x33", "removed": false }, { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xa4a1f210e7fb3edefa7ab402e08862cc4efb8ecd6dda7a7bd6ede3d77c27088b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e", "blockNumber": "0x760a7d8", "transactionHash": "0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d", "transactionIndex": "0x7", "logIndex": "0x34", "removed": false } ], "logsBloom": "0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000800000000000000000000000000000000000000400000000000000000004000020000000000001000000000000000000000000000000000000000000020000000000000000000000000000000000000000000041000000000001000000000000000000000000100000000100000004", "type": "0x2", "transactionHash": "0xec17834d43338eb7d762da16977cab8b699f0de56fa6caa0d94a7e2ee46afb8d", "transactionIndex": "0x7", "blockHash": "0x844f665032f1855532ce1656fab3bf1cfb99eb3c7745eac2e81c40f6ebc90a0e", "blockNumber": "0x760a7d8", "gasUsed": "0x1ba57", "effectiveGasPrice": "0xa19d7", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "contractAddress": null, "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x1d7a4b3e07", "l1GasPrice": "0xfd28ad83", "l1GasUsed": "0x1646" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1723148655, "chain": 10, "commit": "bd8c139" } ================================================ FILE: mainnet/2024-07-30-transfer-op/records/TransferOPTokens.s.sol/10/run-1723148770.json ================================================ { "transactions": [ { "hash": "0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "gas": "0x2565c", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x267ae0", "logs": [ { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000014482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000022c977fe114f325b3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8", "blockNumber": "0x760a811", "transactionHash": "0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce", "transactionIndex": "0x11", "logIndex": "0x3e", "removed": false }, { "address": "0x4200000000000000000000000000000000000042", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f" ], "data": "0x00000000000000000000000000000000000000000022c977fe114f325b3c0000", "blockHash": "0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8", "blockNumber": "0x760a811", "transactionHash": "0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce", "transactionIndex": "0x11", "logIndex": "0x3f", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1d38be23d0b92d8ea16e4cff18261df02b6f458a98c310c206003927e82cb4b40000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8", "blockNumber": "0x760a811", "transactionHash": "0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce", "transactionIndex": "0x11", "logIndex": "0x40", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000040000000000000000040000000000000000000000000000000000000000000000000000000000000800000840000000000000000020000008000000000000040001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000002040000000000000000000000000000000000000000400000000000000000004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf1278d1e3fca35113e2b411a58c69b993e1171021097afbdd6f6b02407deb0ce", "transactionIndex": "0x11", "blockHash": "0x1c18f647d5dd83be43b67d22b74bada49be470844267ac2a4a15ff254d8e45f8", "blockNumber": "0x760a811", "gasUsed": "0x19923", "effectiveGasPrice": "0xff20c", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "contractAddress": null, "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x11229b80b1", "l1GasPrice": "0xdfde26fc", "l1GasUsed": "0xea4" } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "bool", "value": "true" } }, "timestamp": 1723148770, "chain": 10, "commit": "bd8c139" } ================================================ FILE: mainnet/2024-07-30-transfer-op/script/TransferOPTokens.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract TransferOPTokens is NestedMultisigBuilder { address internal NESTED_SAFE = vm.envAddress("NESTED_SAFE"); IERC20 public OP_TOKEN = IERC20(vm.envAddress("OP_TOKEN")); address internal SMART_ESCROW = vm.envAddress("SMART_ESCROW_CONTRACT"); uint256 internal TOKENS_TO_TRANSFER = vm.envUint("TOKENS_TO_TRANSFER"); function _postCheck() internal override view { require( OP_TOKEN.balanceOf(SMART_ESCROW) >= TOKENS_TO_TRANSFER, "TransferOPTokens: tokens not transferred to SmartEscrow contract" ); } function _buildCalls() internal override view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); // There should be TOKENS_TO_TRANSFER tokens in the NESTED_SAFE. However, // there could be more since anyone could send OP to the safe, so check if the // amount is greater than or equal require( OP_TOKEN.balanceOf(NESTED_SAFE) >= TOKENS_TO_TRANSFER, "TransferOPTokens: unexpected token amount in nested safe" ); // Transfer token to SmartEscrow contract calls[0] = IMulticall3.Call3({ target: address(OP_TOKEN), allowFailure: false, callData: abi.encodeCall( IERC20.transfer, (SMART_ESCROW, TOKENS_TO_TRANSFER) ) }); return calls; } function _ownerSafe() internal override view returns (address) { return NESTED_SAFE; } } ================================================ FILE: mainnet/2024-07-31-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-update-gas-limit sign-update-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateGaslimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-gas-limit sign-rollback-gas-limit: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) RollbackGasLimit \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-07-31-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook implements scripts which allow our signers to sign two different calls for our Incident Multisig: 1. `UpdateGasLimit` -- This script will update the gas limit to our new limit of 120M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to 112.5M gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-07-31-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-gas-limit ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 27 to 28: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000027 After: 0x00000000000000000000000000000000000000000000000000000000000000028 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 112.5M to 120M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006422C40 After: 0x0000000000000000000000000000000000000000000000000000000006B49D20 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-gas-limit ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000018 After: 0x00000000000000000000000000000000000000000000000000000000000000019 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006b49d20 After: 0x0000000000000000000000000000000000000000000000000000000007270e00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-gas-limit ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-07-31-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-07-31-increase-gas-limit/script/RollbackGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; // This script will be signed ahead of our gas limit increase but isn't expected to be // executed. It will be available to us in the event we need to quickly rollback the gas limit. contract RollbackGasLimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal ROLLBACK_GAS_LIMIT = uint64(vm.envUint("ROLLBACK_GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == ROLLBACK_GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (ROLLBACK_GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _incrementedNonce = _getNonce(safe) + 1; return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce); } // We need to expect that the gas limit will have been updated previously in our simulation // Use this override to specifically set the gas limit to the expected update value. function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000068, // slot of gas limit value: bytes32(vm.envUint("GAS_LIMIT")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: mainnet/2024-07-31-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; contract UpdateGaslimit is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal override view { assert(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setGasLimit, (GAS_LIMIT)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/Makefile ================================================ include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifeq (sign,$(firstword $(MAKECMDGOALS))) RUN_ARG := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) $(eval $(RUN_ARG):;@:) endif .PHONY: sign sign: ./parser.sh "disbursement$(RUN_ARG).csv"; $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) DisburseBasenames \ --sig "signWithNonce(uint256)" $(RUN_ARG) ifeq (execute,$(firstword $(MAKECMDGOALS))) RUN_ARG := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) $(eval $(RUN_ARG):;@:) endif .PHONY: execute execute: ./parser.sh "disbursement$(RUN_ARG).csv"; forge script --rpc-url $(L2_RPC_URL) DisburseBasenames \ --sig "executeWithNonce(uint256,bytes)" $(RUN_ARG) $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ifndef $(GOPATH) GOPATH=$(shell go env GOPATH) export GOPATH endif ## # Solidity Setup ## .PHONY: deps deps: install-eip712sign clean-lib forge-deps checkout-base-contracts-commit parser-setup .PHONY: install-eip712sign install-eip712sign: go install github.com/base/eip712sign@v0.0.11 .PHONY: clean-lib clean-lib: rm -rf lib .PHONY: forge-deps forge-deps: forge install --no-git github.com/foundry-rs/forge-std \ github.com/base-org/basenames@108224def286db0d904b1848b3dfd5a6accce058 .PHONY: checkout-base-contracts-commit checkout-base-contracts-commit: [ -n "$(BASE_CONTRACTS_COMMIT)" ] || (echo "BASE_CONTRACTS_COMMIT must be set in .env" && exit 1) rm -rf lib/base-contracts mkdir -p lib/base-contracts cd lib/base-contracts; \ git init; \ git remote add origin https://github.com/base-org/contracts.git; \ git fetch --depth=1 origin $(BASE_CONTRACTS_COMMIT); \ git reset --hard FETCH_HEAD .PHONY: parser-setup parser-setup: chmod +x parser.sh ================================================ FILE: mainnet/2024-08-27-disburse-basenames/README.md ================================================ To sign, multisig signers will need to: 1. Clone the contract-deployments repo and checkout the disburse-basenames branch 2. cd into the 2024-08-27-disburse-basenames directory 3. run `make deps` 4. run `make sign {NUMBER}` where `NUMBER` corresponds to both the `nonce` and the disbursement csv file. 5. With your ledger connected, it will prompt you to sign the message hash 6. With your ledger disconnected, this will generate a tenderly sim 7. Copy the tenderly sim link into your browser. Grab the calldata blob and paste it into the `Enter raw input data` field on the left. Verify that the state transitions are valid. Specifically check that the NFT tokens are being sent to the addresses specified in the csv. ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement.json ================================================ { "singles": [ { "name": "stargatefinance", "addr": "0x81EAb64E630C4a2E3E849268A6B64cb76D1C8109" }, { "name": "caldera", "addr": "0x87Ef0aB1189F76eBCaEe736A5EB8F639a8cF156d" }, { "name": "parallel", "addr": "0x8982Bd35f40f95f348A06902474BE0b5872c1D31" }, { "name": "jumper", "addr": "0x91aD352C1e419E6AA579F6a9307A7D88b28a147C" }, { "name": "bsx", "addr": "0x974dD3B4e5E00BC3117Fbba15E521B6B5aFC151C" }, { "name": "ankr", "addr": "0xA30a04384c162f4458aa5919a0FAE2db579d802a" }, { "name": "oku", "addr": "0xa6e8772af29b29B9202a073f8E36f447689BEef6" }, { "name": "odos", "addr": "0xa7471690db0c93a7F827D1894c78Df7379be11c0" }, { "name": "gelato", "addr": "0xAabB54394E8dd61Dd70897E9c80be8de7C64A895" }, { "name": "aave", "addr": "0xac140648435d03f784879cd789130F22Ef588Fcd" }, { "name": "rugfun", "addr": "0xAC5D18e17267Df1D6fdf7E76F974f3a405fE14f1" }, { "name": "decent", "addr": "0xAcCC1fe6537eb8EB56b31CcFC48Eb9363e8dd32E" }, { "name": "qidao", "addr": "0xAd95A5fE898679B927C266eB2eDfAbC7fe268C27" }, { "name": "extrafinance", "addr": "0xB04A484387a7242339DA615A63D2d49D8968aaDa" }, { "name": "drpc", "addr": "0xB12C13975A4e928BC09432Dbd1eD3fd832Bf99e5" }, { "name": "worldmobile", "addr": "0xB539e34936b0160A9c3b1E449f368e5942a9244C" }, { "name": "blast", "addr": "0xb8950c47e8b9e539601cb47a167de8bf4cb1289e" }, { "name": "unifra", "addr": "0xbDC205d09D602eCe9F2cc341F3CD02b045965A4d" } ] } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement1.csv ================================================ neodaoist,0x4BBa239C9cC83619228457502227D801e4738bA0 ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement10.csv ================================================ superrare,0xBD57E27Bf41776170f94d99635A5e6f3C33956CB,, degen,0x06A19654e0872Ba71c2261EA691Ecf8a0c677156,, onefootball,0x8Dd5437B96507AC4151D40de18492BD92418cdd9,, joyride,0xa8CAc43b28A7e5F0Ee797741195A920E88B8e7EB,, syndicate,0x66B340673fcE10bd3bFbbe59997Ae188a16b6710,, seamless,0xA1b5f2cc9B407177CD8a4ACF1699fa0b99955A22,, duckycity,0xBCDAbE8eEdCc97f9a7C67094EBaaF8eb5cc9fc7C,, agora,0xC3FdAdbAe46798CD8762185A09C5b672A7aA36Bb,, brightmoments,0xDbA4660C946F11e5E39CC3D2377AB3A79d070000,, fonbnk,0xf23102909b67E197B8376f99cFC8207eDeddb3D6,, xmtp,0x194c31cAe1418D5256E8c58e0d08Aee1046C6Ed0,, coinage,0x0a5964503640F4558094962A8AC66B269981cB59,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement11.csv ================================================ talentprotocol,0xC925bD0E839E8e22A7DDEbe7f4C21b187deeC358,, tybg,0x2270a4ca23614eCE42905045b1fF2CB2a396c4Ff,, morpho,0xeC5e4a3cE93c284441dC6a2Dd5F0D46a202F00a3,, morphoblue,0xeC5e4a3cE93c284441dC6a2Dd5F0D46a202F00a3,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement12.csv ================================================ base,0x97bcd93504d89d9d236e773e8f5c20feae466e72,, coinbasewallet,0x6c199d7B757Cb3E16bCb7fD666eAFb6609754bC0,, trade,0xF28eFd5F546e3C0669E4A049AbeE25FDA18a4cf6,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement13.csv ================================================ baseapp,0x6c199d7B757Cb3E16bCb7fD666eAFb6609754bC0 ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement14.csv ================================================ NOP ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement15.csv ================================================ basecamp,0xFeEa32fb5A83fFFF0ffDeC4F853377557FF80224 ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement2.csv ================================================ dimo,0x0a3092E52BD2565e451E846f064D63dC6864FF06,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement3.csv ================================================ brian,0x5b76f5B8fc9D700624F78208132f91AD4e61a1f0,, brianarmstrong,0x5b76f5B8fc9D700624F78208132f91AD4e61a1f0,, gregtusar,0x9a0877eA7B2A0ACD59e68D5594c09F09Bb95d94d,, gregorytusar,0x9a0877eA7B2A0ACD59e68D5594c09F09Bb95d94d,, alesiahaas,0xbeb981f82ea4a2bebd0cc366fa4fc11a94697976,, alesiajhaas,0xbeb981f82ea4a2bebd0cc366fa4fc11a94697976,, jpollak,0x2211d1D0020DAEA8039E46Cf1367962070d77DA9,, maxbranzburg,0x416e0C10a3760A35f1891455f30e415e96FBD779,, paulgrewal,0x9A34A73650396e603eDB3b12d56a9Ebf270a9720,, patchwork,0x0434A5D1D94cA3aa838B8C1F77f2da0b70ac357c,, pods,0x050549F8c196Bf1bcC293172746c847fD4D77d9d,, llamao,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,, defillama,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,, llama,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,, llamanodes,0x08a3c2A819E3de7ACa384c798269B3Ce1CD0e437,, rodeo,0x0C05C7e20Ae245ad9F8f2a3aF8e729c1eF5B6B77,, highlight,0x168FEB2E7de2aC0c37a239261D3F9e1b396F22a2,, chronoforge,0x17A45F80eFd20594afE2c59D7e1Ae7AB0c6954Cc,, arkham,0x19710D5180A69D89F9Aa464B33cc5c30AcA0Ce4a,, wagmigames,0x19E96afDE76D4eb120D9c0F1609E6e4AFa077fF3,, beefy,0x1A07DceEfeEbBA3D1873e2B92BeF190d2f11C3cB,, rarible,0x1cf0dF2A5A20Cd61d68d4489eEBbf85b8d39e18a,, blockscout,0x242ba6d68FfEb4a098B591B32d370F973FF882B7,, synfutures,0x27AebE9c8954fC9ccfC4B0d477396188B8bfd832,, subquery,0x31E99bdA5939bA2e7528707507b017f43b67F89B,, rounds,0x322D9d4FAD6a33D27448cb646292E1bf893f40DD,, farworld,0x33C5dFAB83B10E7f29b4D6bce7839F6125fbBa28,, rabby,0x341a1fBD51825E5a107DB54cCb3166DeBA145479,, debank,0x341a1fBD51825E5a107DB54cCb3166DeBA145479,, mavia,0x354086d5ecFa27749732c7E931152B2517E3059A,, avantis,0x3775AF82c6C5705140944cD515fE899214Fb0288,, l2beat,0x41626BA92c0C2a1aD38fC83920300434082B1870,, dynamic,0x475D59919aBced714a52E33511e505b94CfC6dBa,, nansen,0x4a7c6899cdcb379e284fbfd045462e751da4c7ce,, signal,0x4AEf5F616C4F7f042EB292e57fc159F8b71C413E,, cooprecords,0x512b55b00d744fC2eDB8474f223a7498c3e5a7ce,, iskra,0x5418707F24784906915bCE1304c7F290C7110F47,, etherfi,0x54dcbE3cDFf4543316C020D35FA583c0C47a3850,, ethlas,0x56592eCAd18Fe1b3438b21d718afd97885350AfC,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement4.csv ================================================ aavegotchi,0x027Ffd3c119567e85998f4E6B9c3d83D5702660c hypersub,0x0749D613185F4ad31CB6f9B525B5102b6a9b7AE3 thirdweb,0x09Ac766EA8F52873a1EfD8813C118AFb7218eCD0 yellow,0x0b379F1848fA2aab7790966373618F4B0Fea6A6e rampnetwork,0x0be2b18bB9B454427D43baae57b4f63938595910 metamask,0x0c54FcCd2e384b4BB6f2E405Bf5Cbc15a017AaFb fxhash,0x1014f9499259988e35F1C45F6aE6Aa9FBA011E80 opencover,0x15b72e6d1343aA40A34833238890D78D5B2218F1 hop,0x1ec078551A5ac8F0f51fAc57Ffc48Ea7d9A86E9d aragonproject,0x210532ddfcd50c55ef40f5c3cf0dc05f7715de26 omni,0x24974675deAc932Ca967015c00C28857Edf2452f mintify,0x2DCC7c4Ab800bF67380e2553BE1E6891A36F18E7 blockpi,0x364020282B9A82f6Be32fd20Ff829b7F0AacD118 maple,0x3A5ab01B4E142F41f54a861c984D19C866Ec1736 blocto,0x3f74f0af1FA2B2308dd157c7f163307e52e7fED4 coingecko,0x4Cdc86fa95Ec2704f0849825f1F8b077deeD8d39 dappradar,0x54C8141B74953a2214Be9B38af2270245cC09FAc superbridge,0x56Bf3EB4d343C679a8bDd78d2729D11d6a2eA348 biconomy,0x59118EB3d4EDC922d4cBFa269963c21cBD3582bb lido,0x5A9d695c518e95CD6Ea101f2f25fC2AE18486A61 galxe,0x5aB0Fdc6F0CA9Ea178c95cECCf944A4ce1AedDdD pinata,0x5ba9355a10611Ed4339526472a59bEfed3549bAD crossmint,0x5CD2725A727886b78f182040A40DEEAd7c1F20Ca harvestfi,0x5cDb7E6Ae383F7c28c07C2C8B6963864ba3558C5 daylightxyz,0x6860A976Ad57C6C41d3697682CdAcE90c8db3c26 snapshot,0x6910d649F8c24c39e6010ACC62c65225E534Ea97 chimpers,0x6Cc435F69fbac8cCdDc8757E46A9D4376FDB16b5 graphprotocol,0x6fc78dcc8A949d1530035bD577DCB21e9787100e dune,0x7058decc644317062f90525f4C1489AaF456e6B3 etherscan,0x71C7656EC7ab88b098defB751B7401B5f6d8976F alchemy,0x72EAa8ba8726a10D5e0d8441c592451C7C6670FC lavanetwork,0x751c3639c59Ac22fA1039BE7dd754EEc03d4a8C5 rainbow,0x7a3d05c70581bD345fe117c06e45f9669205384f bonfire,0x7AcC1f792556A1dfF2BaB8c7c51342F2be49bE7f layer3,0x7B0befc5B043148Cd7bD5cFeEEf7BC63D28edEC0 zora,0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6 watches,0x7CbC1044606B342c9158B438C54D43E7AA21ccc5 nethermind,0x7D82569F9871726C3259aAc2E6057A745C70DC8C eas,0x819068f71Ea2cdB93e001D7AA26CA732F62295fF ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement5.csv ================================================ coin,0x52E6De8B2AE95257E70B0E4B2321263a69594623,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement6.csv ================================================ sdgasdgasdg,0x7c0A9062E23e89b9EC7e514950Fc40bd07962fAb,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement7.csv ================================================ stargatefinance,0x81EAb64E630C4a2E3E849268A6B64cb76D1C8109,, caldera,0x87Ef0aB1189F76eBCaEe736A5EB8F639a8cF156d,, parallel,0x8982Bd35f40f95f348A06902474BE0b5872c1D31,, jumper,0x91aD352C1e419E6AA579F6a9307A7D88b28a147C,, bsx,0x974dD3B4e5E00BC3117Fbba15E521B6B5aFC151C,, ankr,0xA30a04384c162f4458aa5919a0FAE2db579d802a,, oku,0xa6e8772af29b29B9202a073f8E36f447689BEef6,, odos,0xa7471690db0c93a7F827D1894c78Df7379be11c0,, gelato,0xAabB54394E8dd61Dd70897E9c80be8de7C64A895,, aave,0xac140648435d03f784879cd789130F22Ef588Fcd,, rugfun,0xAC5D18e17267Df1D6fdf7E76F974f3a405fE14f1,, decent,0xAcCC1fe6537eb8EB56b31CcFC48Eb9363e8dd32E,, qidao,0xAd95A5fE898679B927C266eB2eDfAbC7fe268C27,, extrafinance,0xB04A484387a7242339DA615A63D2d49D8968aaDa,, drpc,0xB12C13975A4e928BC09432Dbd1eD3fd832Bf99e5,, worldmobile,0xB539e34936b0160A9c3b1E449f368e5942a9244C,, blast,0xb8950c47e8b9e539601cb47a167de8bf4cb1289e,, unifra,0xbDC205d09D602eCe9F2cc341F3CD02b045965A4d,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement8.csv ================================================ flipsidecrypto,0xC2f41b3a1FF28Fd2A6EeE76EE12e51482fcFd11F,, flipside,0xC2f41b3a1FF28Fd2A6EeE76EE12e51482fcFd11F,, balancer,0xC40DCFB13651e64C8551007aa57F9260827B6462,, goldsky,0xC439D9737f2f5CB2a25d28d63e0a943bCa033384,, definitive,0xc50932eDd1c14272AA35324dfC45A19Ec57839Aa,, bifrost,0xcBB837942598089392555d93B22faCdFC990f197,, refraction,0xCBfa3c438EBb86FF17b075a0a0b6f15a08DAFEA8,, jojo,0xD0cFCf1899A749bf0398fc885DB7ee0479C05eFC,, quicknode,0xD10E24685c7CDD3cd3BaAA86b09C92Be28c834B6,, bountycaster,0xD5064bD244138fa4Ff1b9048D165491889af5C15,, apedotstore,0xd52b1994E745c0eE5Bc7AD41414Da7d9E0815b66,, zklink,0xDC92D828A4B68110E8DA2d88C0bA42F4036b7289,, astaria,0xde032b9654a037F2976480DC2a89150a608F155a,, morphex,0xE02Fb5C70aF32F80Aa7F9E8775FE7F12550348ec,, redstone,0xe6B210F1299a3B0D74BfA24D678A9dC1e2a27e34,, friendtech,0xE764dA9bDeA91d845AAc2C7D53A8DfE59A369095,, dena,0xE7DEd29c38728Bb49A9CF71c3a274088bc51649A,, blockdaemon,0xeA5E01513e237D7aC72de5F0a5401e4FFcb567F2,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/disbursement9.csv ================================================ tokenterminal,0xeB67e286faf667A047e435EC90107122b0bC2C01,, partydao,0xEdDeb6f119cbFE24741a6333Dc69BffFCBD1dCA1,, dhedge,0xEE27793EBAf6a446c74C2cDd23Bba615e9472264,, cyberconnect,0xF18fE4dbA52E862C394924AC4E7F4b744ef1FAC0,, titles,0xF2254525E9f2147990279BA450fb23432040dfdd,, privy,0xF2A919977c6dE88dd8ed90feAADFcC5d65D66038,, pancakeswap,0xf2Bb8d4f27028b8B8340B4e2C64Baa101C9Af46B,, fwb,0xf34292eB10BE9cB62be70bA2058e0d683839DaBC,, zeroex,0xf36b9f50E59870A24F42F9Ba43b2aD0A4b8f2F51,, burve,0xF3d5CAd1B841a1B3f0F9b7AD9a1262491418a414,, unlonely,0xf6B640ED09927C90185D3a7aF4b186317Cc8df3e,, arpanetwork,0xf7A8f04C7fE7C8A6ED692Bdf5EE1658559cbE7Dc,, sushiswap,0xFcD4e19Dd044cBa929cF1EEfc1C181aE4f5beCe8,, optimism,0xFD99F59D3A446744E820D67b429fA2416780237c,, opx,0xFD99F59D3A446744E820D67b429fA2416780237c,, levitate,0xFe754e81f888E49Ca940dFD94A65dEc007874F69,, mempool,0xFee13e85D30EEF68D2B279B35b85E05A2853367C,, ljbrock,0x2Fc5d43245f0176E9816166586aE478F0AA0921f,, dwr,0xD7029BDEa1c17493893AAfE29AAD69EF892B8ff2,, ================================================ FILE: mainnet/2024-08-27-disburse-basenames/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.23" via-ir = true remappings = [ '@base-contracts/=lib/base-contracts', 'basenames/=lib/basenames/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-08-27-disburse-basenames/parser.sh ================================================ #!/bin/bash jq -Rsn ' {"singles": [inputs | . / "\n" | (.[] | select(length > 0) | . / ",") as $input | {"name": $input[0], "addr": $input[1]}]} ' <$1 > disbursement.json ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/executeWithNonce-latest.json ================================================ { "transactions": [ { "hash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x9c5160", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010900000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13bf5ac", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109200000000000000000000000000000000000000000000000000000000000010a20000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x110", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x111", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x112", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x113", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x114", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x115", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x116", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x117", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x118", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x119", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11d", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x120", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x121", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x122", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x123", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x124", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x125", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x126", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x127", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x128", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x129", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x130", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x131", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x132", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x133", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x134", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x135", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x136", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x137", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x138", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x139", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x140", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x141", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x142", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x143", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014416e0c10a3760a35f1891455f30e415e96fbd779000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x144", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x145", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x146", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x147", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x148", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x149", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14e", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x150", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x151", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140434a5d1d94ca3aa838b8c1f77f2da0b70ac357c000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x152", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x153", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x154", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x155", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x156", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x157", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x158", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014050549f8c196bf1bcc293172746c847fd4d77d9d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x159", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15c", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x160", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x161", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x162", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x163", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x164", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x165", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x166", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x167", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x168", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x169", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16a", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x170", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x171", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x172", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x173", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x174", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x175", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x176", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x177", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x178", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x179", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17f", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x180", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x181", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x182", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014168feb2e7de2ac0c37a239261d3f9e1b396f22a2000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x183", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x184", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x185", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x186", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x187", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x188", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x189", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001417a45f80efd20594afe2c59d7e1ae7ab0c6954cc000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18d", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x190", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419710d5180a69d89f9aa464b33cc5c30aca0ce4a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x191", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x192", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x193", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x194", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x195", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x196", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x197", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x198", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x199", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141a07dceefeebba3d1873e2b92bef190d2f11c3cb000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a0", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a2", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a3", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141cf0df2a5a20cd61d68d4489eebbf85b8d39e18a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a7", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a9", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1aa", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ab", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ac", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ad", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ae", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1af", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b0", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001427aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b6", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b7", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ba", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001431e99bda5939ba2e7528707507b017f43b67f89b000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bc", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bd", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1be", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bf", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c1", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014322d9d4fad6a33d27448cb646292e1bf893f40dd000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c2", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c5", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c6", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c8", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001433c5dfab83b10e7f29b4d6bce7839f6125fbba28000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c9", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ca", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cb", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cc", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cd", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ce", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cf", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d0", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d1", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d3", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d5", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d7", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d8", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1da", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1db", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1dc", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1dd", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1de", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1df", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e1", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e3", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000143775af82c6c5705140944cd515fe899214fb0288000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e8", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ea", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1eb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001441626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ec", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ed", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ee", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ef", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f2", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014475d59919abced714a52e33511e505b94cfc6dba000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f5", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f6", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f9", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fa", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fc", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fd", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fe", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ff", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x200", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144aef5f616c4f7f042eb292e57fc159f8b71c413e000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x201", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x202", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x203", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x204", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x205", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x206", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x207", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014512b55b00d744fc2edb8474f223a7498c3e5a7ce000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x208", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x209", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145418707f24784906915bce1304c7f290c7110f47000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x210", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x211", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x212", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x213", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x214", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x215", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001454dcbe3cdff4543316c020d35fa583c0c47a3850000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x216", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x217", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x218", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x219", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001456592ecad18fe1b3438b21d718afd97885350afc000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x220", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x221", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x85b2a1d8f86f5bb736b84706e6d1455dd8f3fa758f8869bbe8a0831e7d9bacdd0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x222", "removed": false } ], "logsBloom": "0x12000000c851041018cda900100001018625100104100000050810801481060400000540040028c00810052105048180118220009364140200844210480ac00280a400008018002348040008800089000dd8040004002120210000125811000a0080424d286001550000040c0400904a00002020700840006100201082c2410008388400a001200c0004804001200000300008100020d2a000940408810120001428c0020e020000d810000267040480010c60195000000c4000400f52080e1a6060c002128a8800020002120032410821504010c0340420a0020001082008014081004d4a120002100000000832000004821420010400006000c00282120081", "type": "0x2", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "gasUsed": "0x712bdc", "effectiveGasPrice": "0x86457b", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x1207cb4ce22", "l1GasPrice": "0x12193f1bc", "l1GasUsed": "0x1b710" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1725654743, "chain": 8453, "commit": "b5dba18" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1724878834.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x6d169", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1724878834, "chain": 8453, "commit": "2aaef39" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1724878939.json ================================================ { "transactions": [ { "hash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x6d169", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa5394a", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0024e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc0000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221324e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc20000000000000000000000004bba239c9cc83619228457502227d801e4738ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004bba239c9cc83619228457502227d801e4738ba09add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ea715c754b882d8d78a8e79442c9fe47543338a6e22f71434431d3a3ec3d33b475970dc126cc6f84f9f1c3084bdb176df769ce54855253097f10ee2ac0e47e2b1cfab6a20814b72ef4c02d053c556c1859d423d5ca17c1723980651e65cd754b09416b3ded7ee3cdf4b6a4d3bcd19731732ec6f293d23e7827d3e998dfc685acb61ce466c8a22579193575a77425389ae3d4cdafe56f5abc5ad2cd5ab5a47d04317e18736aa301bc63279297f74eed17854d4b812ec2be6034335ec70e9e9ff467ea1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb5", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144bba239c9cc83619228457502227d801e4738ba0000000000000000000000000", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb7", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc" ], "data": "0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb8", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x24e55c47870c29946c367413b1cf8f6c2e1c4453267220b651f9b40b6df185bc" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126e656f64616f6973742e626173652e6574680000000000000000000000000000", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xb9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2" ], "data": "0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xba", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000004bba239c9cc83619228457502227d801e4738ba0", "0x9add86870ad77c8ab024c563497d69c18862f17319e90038228e67df37917bc2" ], "data": "0x", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xbb", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd1e990d9338585e4dac808ab282c82df149b71cc1c05bf5f5487bac4374a5e520000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "logIndex": "0xbc", "removed": false } ], "logsBloom": "0x1000000040000000180000000000014000000000040000000100108014000000000000000000000000000000000000000000000000001000000000000002800000040020000000024800000800000000010004000400000000000010000000000080020000000000000000000400000000000000000040000000001000000000002000000000000000000000010000000000080000004000000004000000000000000000040200004800000004000400000c000000000000000000040000020000000002000000000000002000024000000000000000040000000000000000000000000000000000000000000008000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x7d1b625cd8aa58042ec8569ecc9309b32285b8c502cbbf21bc270bc16ef2ba50", "transactionIndex": "0x3b", "blockHash": "0x33cc5801aef7fc3c0bce2692e0924b8a41550721a25af4d6e59c72a1deb744c3", "blockNumber": "0x12299b9", "gasUsed": "0x4a972", "effectiveGasPrice": "0xb0294e", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x1310c77ad9", "l1GasPrice": "0xe070b217", "l1GasUsed": "0x2570" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1724878939, "chain": 8453, "commit": "2aaef39" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1725393994.json ================================================ { "transactions": [ { "hash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d66900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x641c5", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000880000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x102c636", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000070482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f70000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d6690000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff060000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff0695ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ba5e070a9871aede73a6ee49c755d419d4ed2588814d246fa7f16fad3e70e38a472daf08c0b6cbb43616e351a35ef1261a6ce9dd9c33cafeb15f26561873211c1beda20c2e652c5eaef029c61b4e036b65626993e85f2dc1c32812bd4c223794285bf203e5db23ac29b8ab67d3666556f63ed672db60329d40f03940021f3153b31b982a7327b39aa75ae07738eafd18a08cdac4f43caf6d7db5718a22075224eb3a2501a77e7a431e89b59afe585252aa97ceac108474f6052f2392184f469e6f981b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x143", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x144", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x145", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140a3092e52bd2565e451e846f064d63dc6864ff06000000000000000000000000", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x146", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7" ], "data": "0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x147", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd9cac6c01589a9a8aef3ad147e4d8b4d65f9f30f0473703c1530f70f2cdf89f7" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d64696d6f2e626173652e65746800000000000000000000000000000000000000", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x148", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669" ], "data": "0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x149", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000000a3092e52bd2565e451e846f064d63dc6864ff06", "0x95ed9349478445ce73193b3d39899fcb7050bf58f4b894a12bf4ffc0d249d669" ], "data": "0x", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x14a", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5fab38fc37a85da37fb6852832201f896ce0ba6f266efaae82314ddc62d393660000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "logIndex": "0x14b", "removed": false } ], "logsBloom": "0x100000004000000018000000000001000000000004000000010000801400000000000000000000000000000000000000000000000000100000000000004280000000000000400002480000080000000001000400040000000000001000000000008002000000000000000000040000008000000000004000000000100000008000200000000000000000000000000000000000000000400000000400000000000000000004020008480000000400040000040000000000000000000400000a0000000002800000000000000000024000000000000000040000000000000000010000008000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xecd8731177baca817ab00383524431c3f0255746955bd93b95f85caa081ee20e", "transactionIndex": "0x8f", "blockHash": "0xa9db9ba4e95ea3f1caf0ca0eb5179d1f1aca33e8062297d49fbe86bd8ecbdba8", "blockNumber": "0x12687b0", "gasUsed": "0x487a8", "effectiveGasPrice": "0x3bfd36", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0xefd8a62d5", "l1GasPrice": "0xb1b54e4d", "l1GasUsed": "0x252d" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1725393994, "chain": 8453, "commit": "be9caef" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1725654743.json ================================================ { "transactions": [ { "hash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x9c5160", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010900000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13bf5ac", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109200000000000000000000000000000000000000000000000000000000000010a20000000000000000000000000000000000000000000000000000000000001078482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c3000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001f60000000000000000000000000000000000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000023a000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000029c00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ba00000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000035200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000037e000000000000000000000000000000000000000000000000000000000000038c00000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003ee0000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004340000000000000000000000000000000000000000000000000000000000000442000000000000000000000000000000000000000000000000000000000000045000000000000000000000000000000000000000000000000000000000000004780000000000000000000000000000000000000000000000000000000000000486000000000000000000000000000000000000000000000000000000000000049600000000000000000000000000000000000000000000000000000000000004a400000000000000000000000000000000000000000000000000000000000004b200000000000000000000000000000000000000000000000000000000000004da00000000000000000000000000000000000000000000000000000000000004e800000000000000000000000000000000000000000000000000000000000004f800000000000000000000000000000000000000000000000000000000000005060000000000000000000000000000000000000000000000000000000000000514000000000000000000000000000000000000000000000000000000000000053c000000000000000000000000000000000000000000000000000000000000054a000000000000000000000000000000000000000000000000000000000000055a00000000000000000000000000000000000000000000000000000000000005680000000000000000000000000000000000000000000000000000000000000576000000000000000000000000000000000000000000000000000000000000059e00000000000000000000000000000000000000000000000000000000000005ac00000000000000000000000000000000000000000000000000000000000005bc00000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d80000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060e000000000000000000000000000000000000000000000000000000000000061e000000000000000000000000000000000000000000000000000000000000062c000000000000000000000000000000000000000000000000000000000000063a000000000000000000000000000000000000000000000000000000000000066200000000000000000000000000000000000000000000000000000000000006700000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068e000000000000000000000000000000000000000000000000000000000000069c00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006e200000000000000000000000000000000000000000000000000000000000006f000000000000000000000000000000000000000000000000000000000000006fe000000000000000000000000000000000000000000000000000000000000072600000000000000000000000000000000000000000000000000000000000007340000000000000000000000000000000000000000000000000000000000000744000000000000000000000000000000000000000000000000000000000000075200000000000000000000000000000000000000000000000000000000000007600000000000000000000000000000000000000000000000000000000000000788000000000000000000000000000000000000000000000000000000000000079600000000000000000000000000000000000000000000000000000000000007a600000000000000000000000000000000000000000000000000000000000007b400000000000000000000000000000000000000000000000000000000000007c200000000000000000000000000000000000000000000000000000000000007ea00000000000000000000000000000000000000000000000000000000000007f8000000000000000000000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000008160000000000000000000000000000000000000000000000000000000000000824000000000000000000000000000000000000000000000000000000000000084c000000000000000000000000000000000000000000000000000000000000085a000000000000000000000000000000000000000000000000000000000000086a0000000000000000000000000000000000000000000000000000000000000878000000000000000000000000000000000000000000000000000000000000088600000000000000000000000000000000000000000000000000000000000008ae00000000000000000000000000000000000000000000000000000000000008bc00000000000000000000000000000000000000000000000000000000000008cc00000000000000000000000000000000000000000000000000000000000008da00000000000000000000000000000000000000000000000000000000000008e80000000000000000000000000000000000000000000000000000000000000910000000000000000000000000000000000000000000000000000000000000091e000000000000000000000000000000000000000000000000000000000000092e000000000000000000000000000000000000000000000000000000000000093c000000000000000000000000000000000000000000000000000000000000094a000000000000000000000000000000000000000000000000000000000000097200000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000099e00000000000000000000000000000000000000000000000000000000000009ac00000000000000000000000000000000000000000000000000000000000009d400000000000000000000000000000000000000000000000000000000000009e200000000000000000000000000000000000000000000000000000000000009f20000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0e0000000000000000000000000000000000000000000000000000000000000a360000000000000000000000000000000000000000000000000000000000000a440000000000000000000000000000000000000000000000000000000000000a540000000000000000000000000000000000000000000000000000000000000a620000000000000000000000000000000000000000000000000000000000000a700000000000000000000000000000000000000000000000000000000000000a980000000000000000000000000000000000000000000000000000000000000aa60000000000000000000000000000000000000000000000000000000000000ab60000000000000000000000000000000000000000000000000000000000000ac40000000000000000000000000000000000000000000000000000000000000ad20000000000000000000000000000000000000000000000000000000000000afa0000000000000000000000000000000000000000000000000000000000000b080000000000000000000000000000000000000000000000000000000000000b180000000000000000000000000000000000000000000000000000000000000b260000000000000000000000000000000000000000000000000000000000000b340000000000000000000000000000000000000000000000000000000000000b5c0000000000000000000000000000000000000000000000000000000000000b6a0000000000000000000000000000000000000000000000000000000000000b7a0000000000000000000000000000000000000000000000000000000000000b880000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000bbe0000000000000000000000000000000000000000000000000000000000000bcc0000000000000000000000000000000000000000000000000000000000000bdc0000000000000000000000000000000000000000000000000000000000000bea0000000000000000000000000000000000000000000000000000000000000bf80000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000c2e0000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000c4c0000000000000000000000000000000000000000000000000000000000000c5a0000000000000000000000000000000000000000000000000000000000000c820000000000000000000000000000000000000000000000000000000000000c900000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000cae0000000000000000000000000000000000000000000000000000000000000cbc0000000000000000000000000000000000000000000000000000000000000ce40000000000000000000000000000000000000000000000000000000000000cf20000000000000000000000000000000000000000000000000000000000000d020000000000000000000000000000000000000000000000000000000000000d100000000000000000000000000000000000000000000000000000000000000d1e0000000000000000000000000000000000000000000000000000000000000d460000000000000000000000000000000000000000000000000000000000000d540000000000000000000000000000000000000000000000000000000000000d640000000000000000000000000000000000000000000000000000000000000d720000000000000000000000000000000000000000000000000000000000000d800000000000000000000000000000000000000000000000000000000000000da80000000000000000000000000000000000000000000000000000000000000db60000000000000000000000000000000000000000000000000000000000000dc60000000000000000000000000000000000000000000000000000000000000dd40000000000000000000000000000000000000000000000000000000000000de20000000000000000000000000000000000000000000000000000000000000e0a0000000000000000000000000000000000000000000000000000000000000e180000000000000000000000000000000000000000000000000000000000000e280000000000000000000000000000000000000000000000000000000000000e360000000000000000000000000000000000000000000000000000000000000e440000000000000000000000000000000000000000000000000000000000000e6c0000000000000000000000000000000000000000000000000000000000000e7a0000000000000000000000000000000000000000000000000000000000000e8a0000000000000000000000000000000000000000000000000000000000000e980000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000000000000000ece0000000000000000000000000000000000000000000000000000000000000edc0000000000000000000000000000000000000000000000000000000000000eec0000000000000000000000000000000000000000000000000000000000000efa0000000000000000000000000000000000000000000000000000000000000f080000000000000000000000000000000000000000000000000000000000000f300000000000000000000000000000000000000000000000000000000000000f3e0000000000000000000000000000000000000000000000000000000000000f4e0000000000000000000000000000000000000000000000000000000000000f5c0000000000000000000000000000000000000000000000000000000000000f6a0000000000000000000000000000000000000000000000000000000000000f920000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000fb00000000000000000000000000000000000000000000000000000000000000fbe0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000ff4000000000000000000000000000000000000000000000000000000000000100200000000000000000000000000000000000000000000000000000000000010120000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000102e00000000000000000000000000000000000000000000000000000000000010560000000000000000000000000000000000000000000000000000000000001064000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f061d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f00515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d2430000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d24300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e92300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979769621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af5943800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a946979760000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a9469797628c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b4400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b440000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70abe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd77900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213be297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd7790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779f80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb00000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a97200000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f40870000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213acb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da33100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0068af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221368af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da3310000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c71788630000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f6800000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f680000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f000000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43701dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b002edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722132edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437fe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e43700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437c048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b007cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4370000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e4376f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b004e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b770000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b7769c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a20000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a22cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ae830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213e830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f900000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cce3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f90000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70aa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eba4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213a4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea7100000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea710000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b008af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722138af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff31a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ada56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213da56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab06070000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba310000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b009adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722139adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b70000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7f81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f0290000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ce52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b100000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd8320000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832e52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0038a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221338a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e6200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0096e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221396e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e620000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ca644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dda644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba2800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd820344200000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba280000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba288ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd82034420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0088c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221388c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454792bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd98300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0076fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221376fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd9830000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454790000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000341a1fbd51825e5a107db54ccb3166deba1454793a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b000a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722130a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f970000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059afa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70affc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954ebffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d79800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b00ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d7980000000000000000000000003775af82c6c5705140944cd515fe899214fb028800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213ffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6ccc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000003775af82c6c5705140944cd515fe899214fb02880000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000003775af82c6c5705140944cd515fe899214fb0288cc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b006f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c585500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c58550000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c500000000000000000000000041626ba92c0c2a1ad38fc83920300434082b18700000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000041626ba92c0c2a1ad38fc83920300434082b187028544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c50000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f83600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f8360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b003572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722133572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7cebd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c10000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0077f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221377f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b3381680000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0040beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221340beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b923500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba15840000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0050aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221350aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e30000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000005418707f24784906915bce1304c7f290c7110f470000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000005418707f24784906915bce1304c7f290c7110f47dbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de420000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0029d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221329d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc676200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38500000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a38509ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e4e32954eb54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044d5fa2b0054f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221354f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac5384800000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f46e3c5ba38ec64b7f1be4a9237203356070d0f73392985f80ed7c361a87a51e69a58f15cbf05d93d7acbdb49a3dec24f74a10678bcc0eda013833d97e3379ff1b0179f49d60673c04ca5f44ac8ad2fc789d5918bceaff0f2d4e74a315e29213c93621dbfb064bb77124b87836ad33f38d6fd5276b8eca7425a2a0fc5f0d417d3a1b4f0e60537b2408f80fc8a5f9652bb0d65ae962f56275802383a40a9af80b7f3a04d6177fd66bf3afe3bd5b0fa993901fe9748001de2c4d857b92ecc74a0a8f101b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000300000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x110", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x111", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x112", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x113", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x114", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x381d5e3c853a86585a94e46b9be8022406adcb6582fe946860603c97a8c6e7af" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e627269616e2e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x115", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x116", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "0x61d644f0d6ba62b3b81f46d2291409f93244a931b0cf2556aad50391f3b67fb2" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x117", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x118", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x119", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145b76f5b8fc9d700624f78208132f91ad4e61a1f0000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x0de84ad571acde66eeece24009a2964af3c54b76becab1a010dd9d41524523ee" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017627269616e61726d7374726f6e672e626173652e657468000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11d", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005b76f5b8fc9d700624f78208132f91ad4e61a1f0", "0x0515a4bd6612cc585fdb8322cd183ac3239e1b7cd557a2bbd51507a7ed676aee" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x11f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x120", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x121", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x122", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xda74bc6ff3724c159ebaaeb5a22e019adac434332bff8dd8b35942f69303a9cb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000126772656774757361722e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x123", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x124", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "0x715d35c6f5d523c71812b78914654fe05d0e94eaedcd0c206f7acd96d201eeba" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x125", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x126", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x127", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a0877ea7b2a0acd59e68d5594c09f09bb95d94d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x128", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x129", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xe95ae587e0abab43431a030f311620d8d42a0f8ba5e0078d284db8506400d243" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015677265676f727974757361722e626173652e6574680000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a0877ea7b2a0acd59e68d5594c09f09bb95d94d", "0x2e4ba74a848cc5ec2f3ba2a2b459c4315ab029bfc90f0973341e1cd5f2b98ba0" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x12f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x130", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6ec5d4c5f293936dc490d64c5ea7c754b3650f50b87726a50e6ff0ebd384e923" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013616c65736961686161732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x131", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x132", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "0x9621b827691774c19d6c5c6ea21b3d795f0dccffcac523bdc6a32f27b534d78e" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x133", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x134", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x135", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014beb981f82ea4a2bebd0cc366fa4fc11a94697976000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x136", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x137", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8dc6e4d4e943efbfcc272dd8f9ed2959d6a2047fb2f4111f3a6d0b8d4af59438" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014616c657369616a686161732e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x138", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x139", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000beb981f82ea4a2bebd0cc366fa4fc11a94697976", "0x28c8d30cc187372bd5cc515fd40e8ede4c60420e32e981fe850a4879df3afbe6" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142211d1d0020daea8039e46cf1367962070d77da9000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8e66555eaa21ca46b36e1675c07a7eae2e186f2d6b8525df6c04c910c46b6b44" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106a706f6c6c616b2e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x13f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x140", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000002211d1d0020daea8039e46cf1367962070d77da9", "0x121b968197f634cb199b7dd1b48c956f94833cd35b06601489ce0eb59902496c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x141", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x142", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x143", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014416e0c10a3760a35f1891455f30e415e96fbd779000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x144", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x145", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xbe297ba66137c6d23172f03640ea904e610d7a19c8d3826d79fce2fd870f52da" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000156d61786272616e7a627572672e626173652e6574680000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x146", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x147", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000416e0c10a3760a35f1891455f30e415e96fbd779", "0xf80c101a672cf0cd6a6d1d8352388062237fb4855163ed0dc51ff5cd2eb4b79e" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x148", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x149", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000149a34a73650396e603edb3b12d56a9ebf270a9720000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x3c867941853a989ce7ab740cedae87169c55421b5dd936268e3ef58fbc281eb0" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137061756c67726577616c2e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14e", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000009a34a73650396e603edb3b12d56a9ebf270a9720", "0x541549f90efa66afdb04be603b589297bf52c6dfd573652f658822a55a4f4087" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x14f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x150", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x151", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140434a5d1d94ca3aa838b8c1f77f2da0b70ac357c000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x152", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x153", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xacb7b01b5647a523c1a67ab34a3a5e369e0e0fca5cbb6a488be87501f6617faa" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000127061746368776f726b2e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x154", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x155", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000000434a5d1d94ca3aa838b8c1f77f2da0b70ac357c", "0x08bb809bb2fcbfe2cfda0a4ad841802172c12ff0ab1215ea00cbd929488d196b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x156", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x157", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x158", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014050549f8c196bf1bcc293172746c847fd4d77d9d000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x159", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x68af501d514de33084eb2e85b0c2086d5b13d0c5da18add427cb42b2b20da331" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d706f64732e626173652e65746800000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15c", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000050549f8c196bf1bcc293172746c847fd4d77d9d", "0x64f53bf0baa1f76b52b1a51e5598c1c1df8477e6332f5ca79253d025c7178863" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x15f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x160", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x161", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd07186a9fefb59d901a709b1a043f4beebe961bee61bcce78c8b2b7f72556f68" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c6c616d616f2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x162", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x163", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0x01dae9083203c4f5a237217a79cfd2ccebeef95bedd5aab6cec85d60d8b8b3f0" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x164", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x165", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x166", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x167", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x168", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x2edd3be1f1d2cfced52199fb7af3bd043f962a2aed8892f6af1621eacd8c737e" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012646566696c6c616d612e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x169", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16a", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0xfe9b048794f5f3d7fcb009ce90dc9a93e2d41064ff6772994603cca73ab7228b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x16f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x925e115cb7f2aaa075915446a6276abdb165e62487bd615c3ecc6ed1119e3b7d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6c6c616d612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x170", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x171", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0xc048b169255e5e2a11e7b112e6bc6b7ce01cda2c00db785fff403cd0c7bc059d" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x172", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x173", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x174", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001408a3c2a819e3de7aca384c798269b3ce1cd0e437000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x175", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x176", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x7cbfd29c8f1c4cb595c2361089c10b7d554e303e48ed6f4fa1e7f63fea1f045b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136c6c616d616e6f6465732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x177", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x178", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000008a3c2a819e3de7aca384c798269b3ce1cd0e437", "0x6f2da40af3e1c859305a872f9122e5af276ed401f19f88cc0216de2ac1a31b5c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x179", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000140c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x4e0af422ad9d63205087fc03e1b8902f2e79b695048b6876f8a1dae3aefd71a3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e726f64656f2e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x17f", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000000c05c7e20ae245ad9f8f2a3af8e729c1ef5b6b77", "0x69c64e5c496b89e7e478abd01fde30db42b476623263d3f1066935f00cd649b1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x180", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x181", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x182", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014168feb2e7de2ac0c37a239261d3f9e1b396f22a2000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x183", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x184", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x301f922f2ab9cbc4d00031e19dbbacd0e992e881aa6f0054b5806eff466315b5" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000012686967686c696768742e626173652e6574680000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x185", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x186", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000168feb2e7de2ac0c37a239261d3f9e1b396f22a2", "0x2cb2d78095679ac3946b987704c1494dfaf010c40864a59b1ed346f2b3cd4ba6" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x187", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x188", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x189", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001417a45f80efd20594afe2c59d7e1ae7ab0c6954cc000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xe830c84308a21402c8b057b2192de0dc696ca30460f69b4f7ad36c993943632d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000146368726f6e6f666f7267652e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18d", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000017a45f80efd20594afe2c59d7e1ae7ab0c6954cc", "0xe3737a1900aad66977a68674fe53a2db91fdd970ae7fc14b789f0e4e30a250f9" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x18f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x190", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419710d5180a69d89f9aa464b33cc5c30aca0ce4a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x191", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x192", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xa4e44565cd170b7be5622ecf576ad014c5f46bb727d03e79a83638fc56ebfb5b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f61726b68616d2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x193", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x194", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000019710d5180a69d89f9aa464b33cc5c30aca0ce4a", "0x3e9ffccc1fd596be75a6af4f2b2832a4b7bb9b3b16eb3f2e5a7bff0bdf05ea71" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x195", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x196", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x197", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001419e96afde76d4eb120d9c0f1609e6e4afa077ff3000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x198", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x199", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x8af9a69141c86fe83d549d55d8aece8a6297986a2aa88650d66895df07228afe" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000137761676d6967616d65732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000019e96afde76d4eb120d9c0f1609e6e4afa077ff3", "0x1a9b49079d273b4d409be20f5c5cb01210c26221bd81f41457896da9ff6eafcf" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141a07dceefeebba3d1873e2b92bef190d2f11c3cb000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x19f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a0", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xda56403a7d97ade1791c2e9c5182d8069d7281c736fb513d18aa9d2ba7bae1df" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e62656566792e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a2", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000001a07dceefeebba3d1873e2b92bef190d2f11c3cb", "0x62bd0dd2bb37b275249fe0ec6a61b0fb5adafd50d05a41adb9e1cbfd41ab0607" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a3", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000141cf0df2a5a20cd61d68d4489eebbf85b8d39e18a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a7", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x942dc1c5c63cd4663ec08d43b67d2c12b28ef2757ab22a32b3df0e4cf46f28cf" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001072617269626c652e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1a9", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000001cf0df2a5a20cd61d68d4489eebbf85b8d39e18a", "0x9cec6175a02d670ee2b050842d150cf4233f9755111f9110836ea0305319ba31" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1aa", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ab", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ac", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014242ba6d68ffeb4a098b591b32d370f973ff882b7000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ad", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ae", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x9adec6cfaa10b40a42197bd7bcd0bb14dfd842039c33ab55dac42cd1973e853f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013626c6f636b73636f75742e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1af", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b0", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000242ba6d68ffeb4a098b591b32d370f973ff882b7", "0xf81cd248b43b46aa3b1b0a6bc7beb67e6e07f43ba1cb8e69cbaba5e45493f029" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001427aebe9c8954fc9ccfc4b0d477396188b8bfd832000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6dc6c7e6efdf4ff1e0d2dae2267b4919ad66df7339c57e6de476e08b2af7f18f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001373796e667574757265732e626173652e65746800000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b6", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b7", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000027aebe9c8954fc9ccfc4b0d477396188b8bfd832", "0xe52c5e752364cb7b9414329805c7748e4e7a9af36d1bd9505143d13a8cdd06b1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1b9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ba", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001431e99bda5939ba2e7528707507b017f43b67f89b000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bc", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x38a90d93bf4c9779acdb7150a2e0ec64a49a399a1c0bf41326f762c41de6093d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001173756271756572792e626173652e657468000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bd", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1be", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000031e99bda5939ba2e7528707507b017f43b67f89b", "0x3b654f02a826d31e6a635423c4926528e2dced0c1117ab5d7fc9c28c848cadfd" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1bf", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c1", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014322d9d4fad6a33d27448cb646292e1bf893f40dd000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c2", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x96e932d34cd748515dd78e48c22725623ad1562c90a489e8a5880fdf93a09e62" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f726f756e64732e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c5", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000322d9d4fad6a33d27448cb646292e1bf893f40dd", "0xa644a475d8a6de3ae218e97f9c6f2d02c4f308b848f82722387bb7b7ab6d61dd" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c6", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c8", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001433c5dfab83b10e7f29b4d6bce7839f6125fbba28000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1c9", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ca", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd5b43a051e1299dbfe0fe33cc61b9ce998a35d826d4721aeb9de03e51713fc4f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011666172776f726c642e626173652e657468000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cb", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cc", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000033c5dfab83b10e7f29b4d6bce7839f6125fbba28", "0x8ea108ea7531ec8a0efd79c0e3dc3227afa7f456239fc67820c9f47bd8203442" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cd", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ce", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1cf", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d0", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d1", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x88c70507f03a5c641f950023402709756148435c5e052e836c5a00e74cc2cec1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e72616262792e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d3", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "0x2bba7a1fc3f9105205c7a86f57b5293fbf956631c2ac644fc0f3434c451267ab" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d4", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d5", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014341a1fbd51825e5a107db54ccb3166deba145479000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d7", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d8", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x76fc0479a40730a580f59a92e961319f96920e91f7a403b7b820f12ffa4dd983" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f646562616e6b2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1d9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1da", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000341a1fbd51825e5a107db54ccb3166deba145479", "0x3a892df77cf184ce46f2e32bd29a32b9fc61fc36e1af8fccb44bb33f16ef232c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1db", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1dc", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1dd", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014354086d5ecfa27749732c7e931152b2517e3059a000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1de", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1df", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x0a0f523755e8ab1b4c4a48c3b7b7869cc41255a24fbe569a0db174cc2de26f97" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e6d617669612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e1", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000354086d5ecfa27749732c7e931152b2517e3059a", "0xfa1d469410e1dac75ebe80b375a696707172ee008ec1247cee8f33a91d32c35b" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e3", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000143775af82c6c5705140944cd515fe899214fb0288000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e5", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e6", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xffc86c5f4f05fddf23701ebc1d0e0ec24dbfc5470641ca7ebbcb9dca09f9d798" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000106176616e7469732e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e8", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000003775af82c6c5705140944cd515fe899214fb0288", "0xcc8cad61c8da259591d760002e7684b0118f2b53b88bd405d6b12646c4d3664a" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1e9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ea", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1eb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001441626ba92c0c2a1ad38fc83920300434082b1870000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ec", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ed", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6f2a7d851f94e43dd0c1f752541f4df7f5b43dae5c0311a0b1959b7e984c5855" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6c32626561742e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ee", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ef", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000041626ba92c0c2a1ad38fc83920300434082b1870", "0x28544a6deef260ebb77d13404ad36e94f0a6072e5d4016c864a3e3cb0e42b7c5" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f0", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f1", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f2", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014475d59919abced714a52e33511e505b94cfc6dba000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f3", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f4", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x54217e53f804dfe5ca9a1ca97612643afa69bf4f5e8ab305ffedb3e6a317f836" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001064796e616d69632e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f5", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f6", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000475d59919abced714a52e33511e505b94cfc6dba", "0x47a6130681d8220ba3d4c0a50de139d22039c5629024c598d023ccca8470c25c" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f7", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1f9", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144a7c6899cdcb379e284fbfd045462e751da4c7ce000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fa", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x3572d46be2332525ee9ad92fd2718dc5645e79f632eeb73b1e435558809f7dad" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6e616e73656e2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fc", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fd", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000004a7c6899cdcb379e284fbfd045462e751da4c7ce", "0xbd4a27a336aa80072fb6cb9d989741cf0bc107987acb1af8374046ca440362c1" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1fe", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x1ff", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x200", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000144aef5f616c4f7f042eb292e57fc159f8b71c413e000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x201", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x202", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x77f7bef82d2b0b95d947a640d31602c6ecf01700206358cbed25233c7d88345f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f7369676e616c2e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x203", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x204", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000004aef5f616c4f7f042eb292e57fc159f8b71c413e", "0x10537c1131cd3f3903a4b2a61be9a331416afa5da19a5b0c18e81f0e9b338168" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x205", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x206", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x207", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014512b55b00d744fc2edb8474f223a7498c3e5a7ce000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x208", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x209", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x40beafbd776ef7a60e7ecee84d90c00a509176a8c2aea21d389d16570c0b9235" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014636f6f707265636f7264732e626173652e657468000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20b", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000512b55b00d744fc2edb8474f223a7498c3e5a7ce", "0x0438fe68dfba94bd7d48ed691ea58d3fdbab5b2e6a88839809e23d1486ba1584" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20c", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20d", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000145418707f24784906915bce1304c7f290c7110f47000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x20f", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x210", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x50aa122858ef744096731acec2847287cf63d8fec2373c3a257b35de635488e3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e69736b72612e626173652e657468000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x211", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x212", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000005418707f24784906915bce1304c7f290c7110f47", "0xdbe57c5928061dbb7583cc2131b32594e2b6c3ee95fc80aa2acfa297b9f4de42" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x213", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x214", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x215", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001454dcbe3cdff4543316c020d35fa583c0c47a3850000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x216", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x217", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x29d39a2b6f55ae262b63d561157f2c7a5a338996cd57acc3d5c9d15137bc6762" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010657468657266692e626173652e65746800000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x218", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x219", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000054dcbe3cdff4543316c020d35fa583c0c47a3850", "0x9ed682ab063e39bdebd1d4192ad9adc4cab7e77a19e842400e6efc8e9e6696ea" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21a", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21b", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001456592ecad18fe1b3438b21d718afd97885350afc000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21e", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x54f0596c885784d2d6607e0bf847b53d354cfddb664a71324141dd1e4271e7af" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6574686c61732e626173652e6574680000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x21f", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x220", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000056592ecad18fe1b3438b21d718afd97885350afc", "0x8ae898ecb273e9c18dbe5e28707c940261c2177ce20d9c70c4a81b936ac53848" ], "data": "0x", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x221", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x85b2a1d8f86f5bb736b84706e6d1455dd8f3fa758f8869bbe8a0831e7d9bacdd0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "logIndex": "0x222", "removed": false } ], "logsBloom": "0x12000000c851041018cda900100001018625100104100000050810801481060400000540040028c00810052105048180118220009364140200844210480ac00280a400008018002348040008800089000dd8040004002120210000125811000a0080424d286001550000040c0400904a00002020700840006100201082c2410008388400a001200c0004804001200000300008100020d2a000940408810120001428c0020e020000d810000267040480010c60195000000c4000400f52080e1a6060c002128a8800020002120032410821504010c0340420a0020001082008014081004d4a120002100000000832000004821420010400006000c00282120081", "type": "0x2", "transactionHash": "0x10d0588091653ce2f1f6a5a9eca1eb4180207da630a2d730a737304e710e2f70", "transactionIndex": "0x43", "blockHash": "0xf895452624ab7f8fe47f729b9b9dc5090b776e089ebb465f1216419eea77e15a", "blockNumber": "0x12884f7", "gasUsed": "0x712bdc", "effectiveGasPrice": "0x86457b", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x1207cb4ce22", "l1GasPrice": "0x12193f1bc", "l1GasUsed": "0x1b710" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1725654743, "chain": 8453, "commit": "b5dba18" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1745611292.json ================================================ { "transactions": [ { "hash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c734523800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x15a418", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000224000000000000000000000000000000000000000000000000000000000000020c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2da0687", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002260000000000000000000000000000000000000000000000000000000000000236000000000000000000000000000000000000000000000000000000000000020c482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000000000000000000000000000000011800000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000134000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019e00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001f8000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec35800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be90000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec3580000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358b5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd717dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722137dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e810000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc1640000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd714d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722134d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a30000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36711847e4d2515a63e4b3d5ab03837b016dffc08fa88b62c1036eb2c96516eaa5b96fb12c7b842a381b7b3dee76cb1a01cb0153569aa49a0866318209384d30d1cabb57f2031efc2c69395e2e7195226463408f0521af473faf96587bc0e78303e50b5dd750e003a1aff520daf70e30f3c4678fbd76b03f1f128ec820e513acd7f1b918ef7c0ded7679fce261707876649746c5fe614fcaf358f61fac6e67700511173972138b3acc2cd7281dd9be431cd0460b61e807dafd9a4785286e75a3aced31c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3f8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3f9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3fa", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec358000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3fb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9" ], "data": "0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3fc", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9" ], "data": "0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014c925bd0e839e8e22a7ddebe7f4c21b187deec358000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3fd", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd141a9f3f7eb7d62cda4e55e84e6f65915cc9482cd94e28d03cdb2561d091be9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001774616c656e7470726f746f636f6c2e626173652e657468000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3fe", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c" ], "data": "0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x3ff", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000c925bd0e839e8e22a7ddebe7f4c21b187deec358", "0xb5d476799dff6b6d757dbae15d87228f4de24a51d5dc8691f781b13c9212043c" ], "data": "0x", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x400", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x401", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x402", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x403", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b" ], "data": "0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x404", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b" ], "data": "0x0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000142270a4ca23614ece42905045b1ff2cb2a396c4ff000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x405", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x7dd4452681bde5a29306f3b0fd241afefe4f2819d53fee813220fbaa108cf81b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d747962672e626173652e65746800000000000000000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x406", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81" ], "data": "0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x407", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000002270a4ca23614ece42905045b1ff2cb2a396c4ff", "0x3de01aed86946337bae5d8d52ad7c687f30e6899c1a6759217606b8819f44e81" ], "data": "0x", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x408", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x409", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb" ], "data": "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb" ], "data": "0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6560b78ae0ff5b08858757c94d31c2db266b6ebe75ac00750a052dfa628f20bb" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f6d6f7270686f2e626173652e6574680000000000000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e" ], "data": "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x40f", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "0x281335d191299304b6bdb3c4042efa6414c8988df37f941868fa00511796515e" ], "data": "0x", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x410", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x411", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x412", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x413", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164" ], "data": "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x414", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164" ], "data": "0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x415", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x4d2a42cde797c099bc5454871b45d3c229f23831e914c61b7dd4e7eb0f8fc164" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000136d6f7270686f626c75652e626173652e65746800000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x416", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238" ], "data": "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x417", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000ec5e4a3ce93c284441dc6a2dd5f0d46a202f00a3", "0x506369533a4049ff6e824bf324d7af625a52b4612c9a04722db34c87c7345238" ], "data": "0x", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x418", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xeaa1f2b292b2b379edb04303b9a71300d4a6919de51fedd98bd943c7f2aeb73a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "logIndex": "0x419", "removed": false } ], "logsBloom": "0x10000200400200001800000000000100000000000400000001000090140040004000000000000020000000000200000000000000000010100000000000028000000000000000000248000008000000000100048004000000000000140000000400800200000000000800000004000080000002000000400080000010c00000000420000000000000000000000000000000000000000040000000040000000000000000000402000048000000040004010404000008040000000000040009020000000002020000000000000000024202000000000000040000000000000000000000000000000000000800000000000000000400000001000000000004000004", "type": "0x2", "transactionHash": "0xbf171c56054b6332385f4687e7dbd52d8d9c3e8bc8d58b3a20927e80d8786a11", "transactionIndex": "0x70", "blockHash": "0x9542d7b2cc46d53f172d06a693895545d7ef691e43cbde2960cde837779de41e", "blockNumber": "0x1c0c69c", "gasUsed": "0xecc1a", "effectiveGasPrice": "0x190fa6", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x2a232b13", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0xcc6a0b6696", "l1GasPrice": "0x1e79d2d7", "l1GasUsed": "0x47bc" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1745611292, "chain": 8453, "commit": "7c40651" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1749233082.json ================================================ { "transactions": [ { "hash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c9900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x41163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0xf6b33", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a2000000000000000000000000000000000000000000000000000000000000018a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2f5c9b2", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001b4000000000000000000000000000000000000000000000000000000000000018a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000010e000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000176000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda500000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda50000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e720000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70ad807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954ebd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd71d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008477372213d807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc00000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0b88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c0000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd716fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084773722136fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc10000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6cf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf60000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6f0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341163b524ec4986c6bccc59cfba9312c8a30077b3ee24bac29603c92dd9d161208cbb4956736d88be824d42f9620126d716effe8863d1314ae75dbd8631f3d151c1904a510cfceecfb5fd4df7e99687149637f368796e1a6abc339c79900950829116833e32000b9d7cc4211830a5a10ef99fec3a791ee06f093919f7d2262014c1bb1c71aedcba038537e48fbc7d757e71a30be3f30321c0a29f19fd36254eb17582d5c94ed5c9524be1663cb40706632ca376e6a21bb1e3e92ce3487c6cf130b261c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1f8", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1f9", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1fa", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1fb", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5" ], "data": "0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1fc", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5" ], "data": "0x00000000000000000000000000000000000000000000000000000000800021050000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001497bcd93504d89d9d236e773e8f5c20feae466e72000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1fd", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6164d1f7a07bbe655d43fadbfb85cbe7c3f2326a6d5f2274cc0df36e0deedda5" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d626173652e626173652e65746800000000000000000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1fe", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" ], "data": "0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x1ff", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x00000000000000000000000097bcd93504d89d9d236e773e8f5c20feae466e72", "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f" ], "data": "0x", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x200", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x201", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x202", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc0000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x203", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa" ], "data": "0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x204", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa" ], "data": "0x0000000000000000000000000000000000000000000000000000000080002105000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000146c199d7b757cb3e16bcb7fd666eafb6609754bc0000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x205", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0xd807221bd60c0b3ab5ff8d86108b9b51ab39d4eef6ed08003dca6aeef8a41efa" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017636f696e6261736577616c6c65742e626173652e657468000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x206", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c" ], "data": "0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x207", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x0000000000000000000000006c199d7b757cb3e16bcb7fd666eafb6609754bc0", "0xb88a58ba805204d97fb517db6eb19b28604935a83ad04b4f5bccaab1d1d7072c" ], "data": "0x", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x208", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x209", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20a", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20b", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1" ], "data": "0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20c", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1" ], "data": "0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014f28efd5f546e3c0669e4a049abee25fda18a4cf6000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20d", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x6fbd0a2000011283a1db760bf007576ecbac241f7865c36c5802f433611cddc1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000e74726164652e626173652e657468000000000000000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20e", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99" ], "data": "0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x20f", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000f28efd5f546e3c0669e4a049abee25fda18a4cf6", "0xf0ab6bbf074217bd209077ef38d1fe65034d0327dbceeb5dc94a0d7050798c99" ], "data": "0x", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x210", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x01fe69784ab01f8a0aae3fa936e56ec7a030dadcb80461b8906c4e6ee36aa3220000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "logIndex": "0x211", "removed": false } ], "logsBloom": "0x1000000040000000180010000000010000000000040000000100808414000000000000000000000204000000000000000100000000001000000000000002800000000000000000024800000800000000010004000400000000000010000000002080020000000802010000000400000000000000000040000000001004000000002040400000000000000000000000000000000000104000000004000000000000000000040200004c000000040804100004000000800000000000040000020000000002000000000000000000024010001000000000040000000020000000000000000000000080000100000000000000000000020000000000000000008002", "type": "0x2", "transactionHash": "0x523b918e343607d3b43081dab6752fa1e26d97875c2fdcb2b09f08e414a566d3", "transactionIndex": "0xf0", "blockHash": "0x40429466293dabcfb73a612e9b609bd1cd4891bbe0afcb08884f80bec30edf29", "blockNumber": "0x1dc686b", "gasUsed": "0xb29b4", "effectiveGasPrice": "0x153ea3", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x10699da770", "l1GasPrice": "0x7570b7d4", "l1GasUsed": "0x3d97" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749233082, "chain": 8453, "commit": "294c5a0" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/records/DisburseBasenames.sol/8453/run-1757534662694.json ================================================ { "transactions": [ { "hash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d667763698200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x44e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b" ], "transaction": { "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x6c82b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e0000000000000000000000000000000000000000000000000000000000000086482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c344e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x9909f6", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000086482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000072000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000b94704422c2a1e396835a571837aa5ae53285a950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441896f70a15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd00000000000000000000000000000000000000000000000000000000000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000344e32954eb15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb74740000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a48b95dd7115c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000847737221315c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004428ed4f6c1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802240000000000000000000000000000000000000000000000000000000000000000000000000000000003c4738ee98ae44591e1a4a4f3cab6641d95dd9a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006442842e0e000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff802241efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c344e75f88021c84ae3a1341748a421499e2899bd47bbbfd4b1880241d3ce5f1464483bab3073768b7a9a46426b4d4c6c8f3a7b8075c99dd3109d4fba786a131df1b88307ce07e67e1f6dcfd9e05d8696e19ed8789b5f7b13ac80d0dd72c6bd6071c7581913838c9377e1f47fc4fda73985352eaae6563646a732b2ecf36ca16d0961cbd94f3927059ebd9ecce3d679974752f2dee55825ac64161105f43cd7b7bbc576350c65f27a0cc476dff0158d76121ea57c5043ae76379625b53173e5c2a86121b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b0450000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xdc", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982" ], "data": "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xdd", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0", "0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474" ], "data": "0x000000000000000000000000c6d566a56a1aff6508b41f6c90ff131615583bcd", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xde", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474" ], "data": "0x000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff80224000000000000000000000000", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xdf", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2", "0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474" ], "data": "0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe0", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0x65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752", "0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474" ], "data": "0x000000000000000000000000000000000000000000000000000000008000210500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014feea32fb5a83ffff0ffdec4f853377557ff80224000000000000000000000000", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe1", "removed": false }, { "address": "0xc6d566a56a1aff6508b41f6c90ff131615583bcd", "topics": [ "0xb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7", "0x15c95660c520d5728ec1fd9df184694461f1c20cd23c0bffa0b91293a9fb7474" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000116261736563616d702e626173652e657468000000000000000000000000000000", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe2", "removed": false }, { "address": "0xb94704422c2a1e396835a571837aa5ae53285a95", "topics": [ "0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82", "0xff1e3c0eb00ec714e34b6114125fbde1dea2f24a72fbf672e7b7fd5690328e10", "0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982" ], "data": "0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe3", "removed": false }, { "address": "0x03c4738ee98ae44591e1a4a4f3cab6641d95dd9a", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf6", "0x000000000000000000000000feea32fb5a83ffff0ffdec4f853377557ff80224", "0x1efd509f11c0e255636c4798aba4db901883a0dfb4a8052ecf386d6677636982" ], "data": "0x", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe4", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xdb18c67f095948c472fd3dcc41e3d504ed98756ea3e692cacd9ce21bd2cd85130000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "blockTimestamp": "0x68c1d9c7", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "logIndex": "0xe5", "removed": false } ], "logsBloom": "0x10000008400000001800000040000100000000000c10000001000080140000000000000000000000000000000000000000000000000010000000000000028000000000000000000248000008000000000100040004000000000000100000000000800200000000800000000004000000000000000000400000000010000000000020000000000000000000000800000000000000000040000000040000000000000800000402000048000000040004000004000000000000000000040000020000000002000000000000000000024000000000000000240000000000000000000000000000000000000000000000000002000000000000000000000000000000", "type": "0x2", "transactionHash": "0xda7a7503eaa8e507e2eb55375a888e87337d08e826e37ecf021cb8ba3765a330", "transactionIndex": "0x2c", "blockHash": "0x86666f8ccb278100cf53842bf3d0afcd0ef26de97c18820d3b82d4adbd246812", "blockNumber": "0x21bbe72", "gasUsed": "0x4e8f5", "effectiveGasPrice": "0x23186f", "from": "0x89ebc5eb7163470e23fcc24833eea6bb93a7b045", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x2e5e8d3e1", "l1GasPrice": "0x20f72825", "l1GasUsed": "0x26be" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1757534662694, "chain": 8453, "commit": "ac9c068" } ================================================ FILE: mainnet/2024-08-27-disburse-basenames/script/DisburseBasenames.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; import {Registry} from "basenames/L2/Registry.sol"; import {BaseRegistrar} from "basenames/L2/BaseRegistrar.sol"; import {L2Resolver, NameResolver, Multicallable} from "basenames/L2/L2Resolver.sol"; import {BASE_ETH_NODE} from "basenames/util/Constants.sol"; import { MultisigBuilder, Simulator, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; import { Vm } from "forge-std/Vm.sol"; interface IERC721 { function safeTransferFrom(address from, address to, uint256 id) external; } interface AddrResolver { function setAddr(bytes32 node, uint256 cointype, bytes memory addr) external; } contract DisburseBasenames is MultisigBuilder { address internal ECOSYSTEM_MULTISIG = vm.envAddress("ECOSYSTEM_MULTISIG"); address internal BASE_REGISTRAR_ADDR = vm.envAddress("BASE_REGISTRAR_ADDR"); address internal REGISTRY_ADDR = vm.envAddress("REGISTRY_ADDR"); address internal L2_RESOLVER_ADDR = vm.envAddress("L2_RESOLVER_ADDR"); uint256 NONCE; uint256 constant ETH_COINTYPE = 60; uint256 constant BASE_COINTYPE = 0x80000000 | 0x00002105; function signWithNonce(uint256 nonce_) public { NONCE = nonce_; sign(); } function executeWithNonce(uint256 nonce_, bytes calldata signatures) public { NONCE = nonce_; run(signatures); } struct Disbursement { Single[] singles; } struct Single { address addr; string name; } function _parseFile() internal view returns (Disbursement memory) { string memory json = vm.readFile("disbursement.json"); bytes memory data = vm.parseJson(json); return abi.decode(data, (Disbursement)); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { Disbursement memory allData = _parseFile(); uint256 callcount = allData.singles.length * 5; // 5 calls per disbursement IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](callcount); uint256 accumulator; for(uint256 i; i < allData.singles.length; i++) { IMulticall3.Call3[] memory singleCalls = new IMulticall3.Call3[](5); singleCalls = _buildCallsForSingle(allData.singles[i]); calls[accumulator++] = singleCalls[0]; calls[accumulator++] = singleCalls[1]; calls[accumulator++] = singleCalls[2]; calls[accumulator++] = singleCalls[3]; calls[accumulator++] = singleCalls[4]; } return calls; } function _buildCallsForSingle(Single memory single) internal view returns (IMulticall3.Call3[] memory) { uint256 id = _getIdFromName(single.name); address addr = single.addr; string memory name = single.name; IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](5); // CALL 0 :: call reclaim to give the multisig permission to edit records for this name. calls[0] = IMulticall3.Call3({ target: BASE_REGISTRAR_ADDR, allowFailure: false, callData: abi.encodeWithSelector(BaseRegistrar.reclaim.selector, id, ECOSYSTEM_MULTISIG) }); // CALL 1 :: set the L2 resolver as the resolver for the node in the regsitry calls[1] = IMulticall3.Call3({ target: REGISTRY_ADDR, allowFailure: false, callData: abi.encodeWithSelector(Registry.setResolver.selector, _getNodeFromId(id), L2_RESOLVER_ADDR) }); // CALL 2 :: set the resolver data for the name using `setAddr` and `setName` encoded for multicall. calls[2] = IMulticall3.Call3({ target: L2_RESOLVER_ADDR, allowFailure: false, callData: _buildResolverData(_getNodeFromId(id), addr, name) }); // CALL 3 :: call reclaim on behalf of the new owner. calls[3] = IMulticall3.Call3({ target: BASE_REGISTRAR_ADDR, allowFailure: false, callData: abi.encodeWithSelector(BaseRegistrar.reclaim.selector, id, addr) }); // CALL 4 :: call safeTransferFrom to transfer the name to the new owner. calls[4] = IMulticall3.Call3({ target: BASE_REGISTRAR_ADDR, allowFailure: false, callData: abi.encodeWithSelector(IERC721.safeTransferFrom.selector, ECOSYSTEM_MULTISIG, addr, id) }); return calls; } function _getNodeFromId(uint256 id) internal pure returns (bytes32 node) { node = keccak256(abi.encodePacked(BASE_ETH_NODE, bytes32(id))); } function _getIdFromName(string memory name) internal pure returns (uint256 id) { id = uint256(keccak256(bytes(name))); } function _buildResolverData(bytes32 node, address addr, string memory name) internal pure returns (bytes memory data) { bytes[] memory multicallData = new bytes[](3); multicallData[0] = abi.encodeWithSelector(AddrResolver.setAddr.selector, node, ETH_COINTYPE, _addressToBytes(addr)); multicallData[1] = abi.encodeWithSelector(AddrResolver.setAddr.selector, node, BASE_COINTYPE, _addressToBytes(addr)); multicallData[2] = abi.encodeWithSelector(NameResolver.setName.selector, node, string.concat(name,".base.eth")); return abi.encodeWithSelector(Multicallable.multicallWithNodeCheck.selector, node, multicallData); } /// @dev Multisig overrides for simulation and execution function _ownerSafe() internal override view returns (address) { return ECOSYSTEM_MULTISIG; } function _addOverrides(address _safe) internal override view returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } function _getNonce(IGnosisSafe) internal view override returns (uint256) { return NONCE; } function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { Disbursement memory data = _parseFile(); for(uint256 i; i < data.singles.length; i++){ Single memory s = data.singles[i]; bytes32 node = _getNodeFromId(_getIdFromName(s.name)); assert(Registry(REGISTRY_ADDR).owner(_getNodeFromId(_getIdFromName(s.name))) == s.addr); assert(Registry(REGISTRY_ADDR).resolver(_getNodeFromId(_getIdFromName(s.name))) == L2_RESOLVER_ADDR); assert(BaseRegistrar(BASE_REGISTRAR_ADDR).ownerOf(_getIdFromName(s.name)) == s.addr); assert(L2Resolver(L2_RESOLVER_ADDR).addr(node) == s.addr); assert(keccak256(bytes(L2Resolver(L2_RESOLVER_ADDR).name(node))) == keccak256(bytes(string.concat(s.name,".base.eth")))); } } function _addressToBytes(address a) internal pure returns (bytes memory b) { b = new bytes(20); assembly { mstore(add(b, 32), mul(a, exp(256, 12))) } } } ================================================ FILE: mainnet/2024-09-23-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-09-23-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 120M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-09-23-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 31 to 32: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000031 After: 0x00000000000000000000000000000000000000000000000000000000000000032 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 120M to 132M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007270E00 After: 0x0000000000000000000000000000000000000000000000000000000007DE2900 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000032 After: 0x00000000000000000000000000000000000000000000000000000000000000033 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007DE2900 After: 0x0000000000000000000000000000000000000000000000000000000007270E00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-09-23-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-09-23-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1727285381.json ================================================ { "transactions": [ { "hash": "0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007de290000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x017ff79766835f103551eaa646554b2292747942ca6e85d386d14a8f0c2cc82921657ea5aaba836a712b9573111a2198456350d4a04a0e5dbf927df64686b6621ca2247b84262a7ead7cbbdbf1ee3cf24461b17666409bafa7f1744b9501c2127c6e8e1a02612f4bbae23fbc90cd8768e17b9be6b74517504c3bd5fc3253ab95cf1b531ff49878d813d701adbd4515b25fd6061e3b1789e7f3546398b6790576f3494d972f8464a8d80bc965c0dac7ad2a04ce0495b5e8cb540488e4271a7d24d3761b" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203dc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007de2900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3017ff79766835f103551eaa646554b2292747942ca6e85d386d14a8f0c2cc82921657ea5aaba836a712b9573111a2198456350d4a04a0e5dbf927df64686b6621ca2247b84262a7ead7cbbdbf1ee3cf24461b17666409bafa7f1744b9501c2127c6e8e1a02612f4bbae23fbc90cd8768e17b9be6b74517504c3bd5fc3253ab95cf1b531ff49878d813d701adbd4515b25fd6061e3b1789e7f3546398b6790576f3494d972f8464a8d80bc965c0dac7ad2a04ce0495b5e8cb540488e4271a7d24d3761b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb05935", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007de2900", "blockHash": "0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a", "blockNumber": "0x13dd3bf", "transactionHash": "0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6", "transactionIndex": "0x7c", "logIndex": "0x176", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2fdf94d3ee5d3c2b1adbcead732f1c2130e4f96a36bc75676f0cf2a5c3e7d08f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a", "blockNumber": "0x13dd3bf", "transactionHash": "0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6", "transactionIndex": "0x7c", "logIndex": "0x177", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xae5e258b1c25a09a6357acb235de36ff077f7e0f0206de9cba222f97b01c21a6", "transactionIndex": "0x7c", "blockHash": "0x1178bcf4fbd6ed52be60f51744b018c040371a8837957427e92f0b036a439d4a", "blockNumber": "0x13dd3bf", "gasUsed": "0x160ba", "effectiveGasPrice": "0x676411ab4", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1727285381, "chain": 1, "commit": "0f4b41a" } ================================================ FILE: mainnet/2024-10-01-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-10-01-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 144M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-09-23-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 32 to 33: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000020 After: 0x00000000000000000000000000000000000000000000000000000000000000021 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 132M to 144M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007DE2900 After: 0x0000000000000000000000000000000000000000000000000000000008954400 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000021 After: 0x00000000000000000000000000000000000000000000000000000000000000022 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000008954400 After: 0x0000000000000000000000000000000000000000000000000000000007DE2900 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-10-01-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-10-01-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1727888979.json ================================================ { "transactions": [ { "hash": "0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000895440000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xe20392ad9d53434f8d8e8a494ecc8df24d4c397053473b14f093dc1a944e35a374761628c12c8c12c2c05453575c6a4cef651743438df6a77c09bd92187aacb01b4f6ff10fe354e4c4ec89a339b2ddcc8e57a5d7ed3b6de47a09e399ae8892038b3fa6c7de3d34b55f4ec78d9fa1424701f6d0f2a5c67608c5a543719ade066f8d1c7d9179112e06b3aab0209f941af28b212c316a3132767acaa1bf14e0f10d64a7262e34b5dc2fa3e8879d80d9e3155cd9398a0bd81de93ac7173a77509447bdf01c" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203dc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008954400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e20392ad9d53434f8d8e8a494ecc8df24d4c397053473b14f093dc1a944e35a374761628c12c8c12c2c05453575c6a4cef651743438df6a77c09bd92187aacb01b4f6ff10fe354e4c4ec89a339b2ddcc8e57a5d7ed3b6de47a09e399ae8892038b3fa6c7de3d34b55f4ec78d9fa1424701f6d0f2a5c67608c5a543719ade066f8d1c7d9179112e06b3aab0209f941af28b212c316a3132767acaa1bf14e0f10d64a7262e34b5dc2fa3e8879d80d9e3155cd9398a0bd81de93ac7173a77509447bdf01c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x151603f", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008954400", "blockHash": "0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08", "blockNumber": "0x13e9770", "transactionHash": "0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc", "transactionIndex": "0x81", "logIndex": "0x245", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xfcf91431b8866c0f985d7f59d82af1f1ad64f6e94739b2124c454b17699684af0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08", "blockNumber": "0x13e9770", "transactionHash": "0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc", "transactionIndex": "0x81", "logIndex": "0x246", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xed7e69063c77704b24d882df61e0640f92fc81c1f696a27e7814720a665c81dc", "transactionIndex": "0x81", "blockHash": "0x4b3300ae320cf29ce2c64815bd02bdeedb11c12adf30b504f6ece51bba2ace08", "blockNumber": "0x13e9770", "gasUsed": "0x160ba", "effectiveGasPrice": "0x86b1b9398", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1727888979, "chain": 1, "commit": "c886565" } ================================================ FILE: mainnet/2024-10-08-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-10-08-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 156M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-10-08-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 38 to 39: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000026 After: 0x00000000000000000000000000000000000000000000000000000000000000027 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 144M to 156M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000008954400 After: 0x00000000000000000000000000000000000000000000000000000000094c5f00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000027 After: 0x00000000000000000000000000000000000000000000000000000000000000028 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000094c5f00 After: 0x0000000000000000000000000000000000000000000000000000000008954400 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-10-08-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-10-08-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1728494142.json ================================================ { "transactions": [ { "hash": "0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000094c5f0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xefd839548737efa749602c32b4a5575d09fbd058ed0e7554b29de60492dc97ca250190d61946528dcc8fba42b8bf397708ff9df92d4f5b665a06021f1075e03b1c328748d63c46414f28a0a649b3626af38f2e9d90f3896cdc4287d24e73bfce6b6cd468c05ec06f3ecf6f0c8695e82ad6286cc4eb19134333655a2f79cf9e9df21cddce3a7652c14c4fc6ccfb1f32b4f1456843a6dbd91d66075010f19fbfeb3bad5ff1a76ad304a78ee6745785ebadf320e84294b067542f849d9ca9c27abb81371b" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203dc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000094c5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3efd839548737efa749602c32b4a5575d09fbd058ed0e7554b29de60492dc97ca250190d61946528dcc8fba42b8bf397708ff9df92d4f5b665a06021f1075e03b1c328748d63c46414f28a0a649b3626af38f2e9d90f3896cdc4287d24e73bfce6b6cd468c05ec06f3ecf6f0c8695e82ad6286cc4eb19134333655a2f79cf9e9df21cddce3a7652c14c4fc6ccfb1f32b4f1456843a6dbd91d66075010f19fbfeb3bad5ff1a76ad304a78ee6745785ebadf320e84294b067542f849d9ca9c27abb81371b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd6b3aa", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000094c5f00", "blockHash": "0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30", "blockNumber": "0x13f5bba", "transactionHash": "0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9", "transactionIndex": "0x7b", "logIndex": "0x212", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x61540d905a1cb953f53e6adf26e77e3ea285d23e1385226ae0c4dc697797fc9f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30", "blockNumber": "0x13f5bba", "transactionHash": "0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9", "transactionIndex": "0x7b", "logIndex": "0x213", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xc9a0ada8d8b54df3e3459478972a336a7253c4881bc9c46c39b01a9be644b9d9", "transactionIndex": "0x7b", "blockHash": "0xdda4e1c3ab7af1b072d9a166f33c01789fef74ffdd45c301a06a8fecad8e5f30", "blockNumber": "0x13f5bba", "gasUsed": "0x160ba", "effectiveGasPrice": "0x807f2c9f6", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1728494142, "chain": 1, "commit": "6807e75" } ================================================ FILE: mainnet/2024-10-15-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-10-15-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 168M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-10-15-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 39 to 40: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000027 After: 0x00000000000000000000000000000000000000000000000000000000000000028 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 156M to 168M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000094c5f00 After: 0x000000000000000000000000000000000000000000000000000000000a037a00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000028 After: 0x00000000000000000000000000000000000000000000000000000000000000029 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000a037a00 After: 0x00000000000000000000000000000000000000000000000000000000094c5f00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-10-15-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-10-15-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1729105634.json ================================================ { "transactions": [ { "hash": "0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000a037a0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x65b913acf6667e62c73a4db4cf4e51eada9fe6bc3e548125e32c624ea162e03209c83650715abd8d335c42ed9d68559819e8059a76b80d892d69c1910a8e398c1bb084346d289c38ee73e8cfaa34f34ed63e1f4889064abdda737d0b28dab46cc82014610c0ec773fc5fdbab62817456d904b9b808120dd9f01fdb30e12b21117d1beeb21f6289490f3f5fc1936b53590ff8817bdc0ce36577fc3707455cdc755fa22bc902dfcfc1bd215ee8246c223a88da4098c40e4504230bb5e05f410fbcbb8d1c" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203dc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000a037a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c365b913acf6667e62c73a4db4cf4e51eada9fe6bc3e548125e32c624ea162e03209c83650715abd8d335c42ed9d68559819e8059a76b80d892d69c1910a8e398c1bb084346d289c38ee73e8cfaa34f34ed63e1f4889064abdda737d0b28dab46cc82014610c0ec773fc5fdbab62817456d904b9b808120dd9f01fdb30e12b21117d1beeb21f6289490f3f5fc1936b53590ff8817bdc0ce36577fc3707455cdc755fa22bc902dfcfc1bd215ee8246c223a88da4098c40e4504230bb5e05f410fbcbb8d1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2b8901", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000a037a00", "blockHash": "0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae", "blockNumber": "0x140218c", "transactionHash": "0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6", "transactionIndex": "0x33", "logIndex": "0x4f", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x50d5498ecfdf96896c94a91acdbe59d23a61898e76cec54e32c651f02691a8ec0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae", "blockNumber": "0x140218c", "transactionHash": "0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6", "transactionIndex": "0x33", "logIndex": "0x50", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x81e2e685546af58cd2a7d3616b7a7c409adaba4011dd30b34299b2418136d1e6", "transactionIndex": "0x33", "blockHash": "0xf3105decf57433939e4ac5dc4fb5861b6649a7e575b57a3bd0c07c349a17ccae", "blockNumber": "0x140218c", "gasUsed": "0x160ba", "effectiveGasPrice": "0x38a14f11b", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1729105634, "chain": 1, "commit": "38f9bf6" } ================================================ FILE: mainnet/2024-10-22-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-10-22-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-10-22-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 40 to 41: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000028 After: 0x00000000000000000000000000000000000000000000000000000000000000029 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 168M to 180M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000a037a00 After: 0x000000000000000000000000000000000000000000000000000000000aba9500 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000029 After: 0x0000000000000000000000000000000000000000000000000000000000000002a ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000aba9500 After: 0x00000000000000000000000000000000000000000000000000000000a037a00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-10-22-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-10-22-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1729703140.json ================================================ { "transactions": [ { "hash": "0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000aba950000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xbae61e31c37a835dd25e2412de67d186f0895234a3d83b29952cf349de95d4f61e1d7147c3179a2aea6a9064cc9544fbad4f1c0aca34a249f46cd41a1b56a7741b3c887d1fb6e978f46a6aa2da461c92e50e3bba673ea998d7591fb5d4292b86ab613ea4f43ea0355afd3a562f47ee879dc2de1b565e73484b243059dae0fb01bd1bc6e740112bdc7a0f468366a17261a9c499f39395be36628836ddcb2939fdc6fb00b22343c1cb14d40a455646c5a4c0d5febee2cf3d99bfdc9212d0efb50834661b" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e722", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000aba9500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bae61e31c37a835dd25e2412de67d186f0895234a3d83b29952cf349de95d4f61e1d7147c3179a2aea6a9064cc9544fbad4f1c0aca34a249f46cd41a1b56a7741b3c887d1fb6e978f46a6aa2da461c92e50e3bba673ea998d7591fb5d4292b86ab613ea4f43ea0355afd3a562f47ee879dc2de1b565e73484b243059dae0fb01bd1bc6e740112bdc7a0f468366a17261a9c499f39395be36628836ddcb2939fdc6fb00b22343c1cb14d40a455646c5a4c0d5febee2cf3d99bfdc9212d0efb50834661b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb02a80", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000aba9500", "blockHash": "0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6", "blockNumber": "0x140e325", "transactionHash": "0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6", "transactionIndex": "0xb6", "logIndex": "0xce", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x829d0f3f028a052136212c66ba3397d03615bd87111206838dc089bc8a2ea1e60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6", "blockNumber": "0x140e325", "transactionHash": "0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6", "transactionIndex": "0xb6", "logIndex": "0xcf", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x967ae038f533ae45588fbc24417079d87fc7c56fd548f925f1e84c7cf4bd11e6", "transactionIndex": "0xb6", "blockHash": "0xff408cbea48b007589b1f8b8b661aa827bcae34d117f94a567969c19a958e8b6", "blockNumber": "0x140e325", "gasUsed": "0x160ae", "effectiveGasPrice": "0x75b842ac4", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1729703140, "chain": 1, "commit": "365a08a" } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif # Overwriting this from top level makefile to change the branch .PHONY: checkout-op-commit checkout-op-commit: rm -rf lib/optimism mkdir -p lib/optimism cd lib/optimism; \ git init; \ git remote add origin $(OPTIMISM_REPO); \ git fetch --depth=1 origin tag $(OPTIMISM_VERSION) --no-tags; \ git checkout $(OPTIMISM_VERSION); \ git apply ../../$(OPTIMISM_CONTRACT_PATCH) .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySystemConfig --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --verify --broadcast .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "sign(address)" $(CB_MULTISIG) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "sign(address)" $(OP_MULTISIG) .PHONY: approve-cb approve-cb: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "approve(address,bytes)" $(CB_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "approve(address,bytes)" $(OP_MULTISIG) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: run-upgrade run-upgrade: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/README.md ================================================ # [EXECUTED] Upgrade to new system config with 400m max gas limit execution hash: https://etherscan.io/tx/0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294 ## Objective Base is continuing to scale and we need higher block gas limit to support the increased demand. In this upgrade, we will change the SystemConfig implementation to a patched version that sets the max gas limit to 400m. ## Approving the transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-11-18-increase-max-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-op # or make sign-cb for Coinbase signers ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Nested Multisig under the "GnosisSafeProxy" at address `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `Proxy Admin Owner (L1)` ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000003 After: 0x0000000000000000000000000000000000000000000000000000000000000004 ``` 2. And for the same contract, verify that another key is set from 0 to 1 reflecting an entry in the approvedHashes mapping: ``` Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0x0000000000000000000000000000000000000000000000000000000000000001 ``` 3. Verify that the nonce is incremented for your multisig. If you are an OP signer - the OP Foundation Multisig should be under the "GnosisSafeProxy" at address `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `L1 Nested Safe Signer (Optimism)` ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000060 After: 0x0000000000000000000000000000000000000000000000000000000000000061 ``` If you are a CB signer - the Coinbase Multisig should be under the address `0x9855054731540A48b28990B63DcF4f33d8AE46A1`: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#base-mainnet-1) `L1 Nested Safe Signer (Coinbase)` ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000000f After: 0x0000000000000000000000000000000000000000000000000000000000000010 ``` 1. Verify that the state changes for Base SystemConfigProxy `0x73a79Fab69143498Ed3712e519A88a918e1f4072` are correctly pointing to the new implementation: Double confirm with [Base Contracts](https://docs.base.org/docs/base-contracts/#ethereum-mainnet) `System Config` ``` Key: 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc Before: 0x000000000000000000000000f56d96b2535b932656d3c04ebf51babff241d886 After: 0x00000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f ``` Current implementation: [0xf56d96b2535b932656d3c04ebf51babff241d886](https://etherscan.io/address/0xf56d96b2535b932656d3c04ebf51babff241d886#code) New implementation: [0x45c4e267ae21e90f72c8abf43ddb5941c953482f](https://etherscan.io/address/0x45c4e267ae21e90f72c8abf43ddb5941c953482f#code) #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-op # or make sign-cb for Coinbase signers ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check that: 1. signer address is the right one. 2. domain hash and message hash match the ones you noted down. ## [For Facilitator ONLY] Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `SIGNATURES=xxx make approve-cb` with Coinbase signer signatures. 4. Run `SIGNATURES=xxx make approve-op` with Optimism signer signatures. 5. Run `make run-upgrade` to execute the transaction onchain. ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', 'src/=lib/optimism/packages/contracts-bedrock/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/output ================================================ Start verifying contract `0x57563A1Ad5b07CEB7e77B395d767E6144699C887` deployed on sepolia ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/patch/max-gas-limit.patch ================================================ diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol index 67a8353ae..ae72faf92 100644 --- a/packages/contracts-bedrock/src/L1/SystemConfig.sol +++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol @@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken { /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks /// on L2 are not too large to process and prove. Over time, this value can be increased as various /// optimizations and improvements are made to the system at large. - uint64 internal constant MAX_GAS_LIMIT = 200_000_000; + uint64 internal constant MAX_GAS_LIMIT = 400_000_000; /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation. uint256 public overhead; @@ -115,8 +115,8 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken { event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data); /// @notice Semantic version. - /// @custom:semver 2.2.0 - string public constant version = "2.2.0"; + /// @custom:semver 2.2.0+max-gas-limit-400M + string public constant version = "2.2.0+max-gas-limit-400M"; /// @notice Constructs the SystemConfig contract. Cannot set /// the owner to `address(0)` due to the Ownable contract's ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/records/DeploySystemConfig.s.sol/1/run-1733860170.json ================================================ { "transactions": [ { "hash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionType": "CREATE", "contractName": "SystemConfig", "contractAddress": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "function": null, "arguments": null, "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "gas": "0x24a69b", "value": "0x0", "input": "0x60806040523480156200001157600080fd5b506200004962000032600160008051602062002b0983398151915262000c98565b60001b600019620000c960201b62000de81760201c565b6040805160c080820183526001808352602080840182905260028486015260006060808601829052608080870183905260a08088018490528851968701895283875293860183905296850182905284018190529483018590528201849052620000c39361dead9390928392839290918391908290620000cd565b62000dbb565b9055565b600054610100900460ff1615808015620000ee5750600054600160ff909116105b806200011e57506200010b30620004df60201b62000dec1760201c565b1580156200011e575060005460ff166001145b620001875760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620001ab576000805461ff0019166101001790555b620001b5620004ee565b620001c08a62000556565b620001cb87620005d5565b620001d7898962000627565b620001e2866200068b565b620002197f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0886620000c960201b62000de81760201c565b6200025f6200024a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59862000c98565b60001b84620000c960201b62000de81760201c565b620002a96200029060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063762000c98565b60001b8360000151620000c960201b62000de81760201c565b620002f3620002da60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a862000c98565b60001b8360200151620000c960201b62000de81760201c565b6200033d6200032460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637762000c98565b60001b8360400151620000c960201b62000de81760201c565b620003876200036e60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90762000c98565b60001b8360600151620000c960201b62000de81760201c565b620003d1620003b860017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad62000c98565b60001b8360800151620000c960201b62000de81760201c565b6200041b6200040260017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d62000c98565b60001b8360a00151620000c960201b62000de81760201c565b6200042562000787565b6200043084620007f8565b6200043a62000b3c565b6001600160401b0316866001600160401b031610156200048c5760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b8015620004d3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b03163b151590565b600054610100900460ff166200054a5760405162461bcd60e51b815260206004820152602b602482015260008051602062002ae983398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200017e565b6200055462000b69565b565b6200056062000bd0565b6001600160a01b038116620005c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200017e565b620005d28162000c2c565b50565b60678190556040805160208082018490528251808303909101815290820190915260005b600060008051602062002ac9833981519152836040516200061b919062000cb2565b60405180910390a35050565b60658290556066819055604080516020810184905290810182905260009060600160408051601f1981840301815291905290506001600060008051602062002ac9833981519152836040516200067e919062000cb2565b60405180910390a3505050565b6200069562000b3c565b6001600160401b0316816001600160401b03161015620006e75760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b6317d784006001600160401b0382161115620007465760405162461bcd60e51b815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016200017e565b606880546001600160401b0319166001600160401b0383169081179091556040805160208082019390935281518082039093018352810190526002620005f9565b620007bb620007a7600160008051602062002b0983398151915262000c98565b60001b62000c7e60201b62000e081760201c565b600003620005545762000554620007e3600160008051602062002b0983398151915262000c98565b60001b43620000c960201b62000de81760201c565b8060a001516001600160801b0316816060015163ffffffff161115620008875760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016200017e565b6001816040015160ff1611620008f85760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201526e65206c6172676572207468616e203160881b60648201526084016200017e565b606854608082015182516001600160401b03909216916200091a919062000d0a565b63ffffffff1611156200095f5760405162461bcd60e51b815260206004820152601f602482015260008051602062002aa983398151915260448201526064016200017e565b6000816020015160ff1611620009d05760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201526e06965722063616e6e6f74206265203608c1b60648201526084016200017e565b8051602082015163ffffffff82169160ff90911690620009f290829062000d35565b620009fe919062000d67565b63ffffffff161462000a795760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016200017e565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff96871664ffffffffff199095169490941764010000000060ff948516021764ffffffffff60281b191665010000000000939092169290920263ffffffff60301b19161766010000000000009185169190910217600160501b600160f01b0319166a01000000000000000000009390941692909202600160701b600160f01b03191692909217600160701b6001600160801b0390921691909102179055565b60695460009062000b649063ffffffff6a010000000000000000000082048116911662000d96565b905090565b600054610100900460ff1662000bc55760405162461bcd60e51b815260206004820152602b602482015260008051602062002ae983398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200017e565b620005543362000c2c565b6033546001600160a01b03163314620005545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200017e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b5490565b634e487b7160e01b600052601160045260246000fd5b60008282101562000cad5762000cad62000c82565b500390565b600060208083528351808285015260005b8181101562000ce15785810183015185820160400152820162000cc3565b8181111562000cf4576000604083870101525b50601f01601f1916929092016040019392505050565b600063ffffffff80831681851680830382111562000d2c5762000d2c62000c82565b01949350505050565b600063ffffffff8084168062000d5b57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161562000d8d5762000d8d62000c82565b02949350505050565b60006001600160401b0382811684821680830382111562000d2c5762000d2c62000c82565b611cde8062000dcb6000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80639b7d7f0a11610145578063e2a3285c116100bd578063f45e65d81161008c578063f8c68de011610071578063f8c68de01461058a578063fd32aa0f14610592578063ffa1ad741461059a57600080fd5b8063f45e65d81461056d578063f68016b71461057657600080fd5b8063e2a3285c14610541578063e81b2c6d14610549578063f2b4e61714610552578063f2fde38b1461055a57600080fd5b8063c4e8ddfa11610114578063cc731b02116100f9578063cc731b02146103fd578063dac6e63a14610531578063e0e2016d1461053957600080fd5b8063c4e8ddfa146103e2578063c9b26f61146103ea57600080fd5b80639b7d7f0a146103b7578063a7119869146103bf578063b40a817c146103c7578063bc49ce5f146103da57600080fd5b80631fd19ee1116101d857806354fd4d50116101a7578063715018a61161018c578063715018a61461037e5780638da5cb5b14610386578063935f029e146103a457600080fd5b806354fd4d501461032d5780635d73369c1461037657600080fd5b80631fd19ee1146102ee57806348cd4cb1146102f65780634add321d146102fe5780634f16540b1461030657600080fd5b80630bbb7968116102145780630bbb7968146102b55780630c18c162146102ca57806318d13918146102d357806319f5cea8146102e657600080fd5b806306c9265714610246578063078f29cf146102615780630a49cb031461028e5780630ae14b1b14610296575b600080fd5b61024e6105a2565b6040519081526020015b60405180910390f35b6102696105d0565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b610269610609565b6317d784005b60405167ffffffffffffffff9091168152602001610258565b6102c86102c336600461196a565b610639565b005b61024e60655481565b6102c86102e1366004611aab565b610a37565b61024e610a4b565b610269610a76565b61024e610aa0565b61029c610ad0565b61024e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b6103696040518060400160405280601881526020017f322e322e302b6d61782d6761732d6c696d69742d3430304d000000000000000081525081565b6040516102589190611b38565b61024e610af6565b6102c8610b21565b60335473ffffffffffffffffffffffffffffffffffffffff16610269565b6102c86103b2366004611b4b565b610b35565b610269610b4b565b610269610b7b565b6102c86103d5366004611b6d565b610bab565b61024e610bbc565b610269610be7565b6102c86103f8366004611b88565b610c17565b6104c16040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516102589190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b610269610c28565b61024e610c58565b61024e610c83565b61024e60675481565b610269610cae565b6102c8610568366004611aab565b610cde565b61024e60665481565b60685461029c9067ffffffffffffffff1681565b61024e610d92565b61024e610dbd565b61024e600081565b6105cd60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b81565b600061060461060060017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b5490565b905090565b600061060461060060017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b600054610100900460ff16158080156106595750600054600160ff909116105b806106735750303b158015610673575060005460ff166001145b610704576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561076257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61076a610e0c565b6107738a610cde565b61077c87610eab565b6107868989610f0c565b61078f86610f9d565b6107b87f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b6107eb6107e660017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b849055565b61081f61081960017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b83519055565b61085661084d60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60208401519055565b61088d61088460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b60408401519055565b6108c46108bb60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b60608401519055565b6108fb6108f260017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b60808401519055565b61093261092960017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b60a08401519055565b61093a6110f3565b6109438461115b565b61094b610ad0565b67ffffffffffffffff168667ffffffffffffffff1610156109c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b8015610a2b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b610a3f6115cf565b610a4881611650565b50565b6105cd60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60006106047f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b600061060461060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6069546000906106049063ffffffff6a0100000000000000000000820481169116611be7565b6105cd60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610b296115cf565b610b3360006116d4565b565b610b3d6115cf565b610b478282610f0c565b5050565b600061060461060060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b600061060461060060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610bb36115cf565b610a4881610f9d565b6105cd60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b600061060461060060017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b610c1f6115cf565b610a4881610eab565b600061060461060060017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b6105cd60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6105cd60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b600061060461060060017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b610ce66115cf565b73ffffffffffffffffffffffffffffffffffffffff8116610d89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106fb565b610a48816116d4565b6105cd60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b6105cd60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b600054610100900460ff16610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b3361174b565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f009190611b38565b60405180910390a35050565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f909190611b38565b60405180910390a3505050565b610fa5610ad0565b67ffffffffffffffff168167ffffffffffffffff161015611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b6317d7840067ffffffffffffffff8216111561109a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016106fb565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610ecf565b61112161060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b600003610b3357610b3361115660017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff16111561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016106fb565b6001816040015160ff16116112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016106fb565b6068546080820151825167ffffffffffffffff909216916112c39190611c13565b63ffffffff161115611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b6000816020015160ff16116113c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016106fb565b8051602082015163ffffffff82169160ff909116906113e8908290611c32565b6113f29190611c7c565b63ffffffff1614611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016106fb565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106fb565b6116797f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003610ecf565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b33336116d4565b803573ffffffffffffffffffffffffffffffffffffffff8116811461180f57600080fd5b919050565b803567ffffffffffffffff8116811461180f57600080fd5b60405160c0810167ffffffffffffffff81118282101715611876577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff8116811461180f57600080fd5b803560ff8116811461180f57600080fd5b600060c082840312156118b357600080fd5b60405160c0810181811067ffffffffffffffff821117156118fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061190c836117eb565b815261191a602084016117eb565b602082015261192b604084016117eb565b604082015261193c606084016117eb565b606082015261194d608084016117eb565b608082015261195e60a084016117eb565b60a08201525092915050565b6000806000806000806000806000898b0361026081121561198a57600080fd5b6119938b6117eb565b995060208b0135985060408b0135975060608b013596506119b660808c01611814565b95506119c460a08c016117eb565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156119f657600080fd5b506119ff61182c565b611a0b60c08c0161187c565b8152611a1960e08c01611890565b6020820152611a2b6101008c01611890565b6040820152611a3d6101208c0161187c565b6060820152611a4f6101408c0161187c565b60808201526101608b01356fffffffffffffffffffffffffffffffff81168114611a7857600080fd5b60a08201529250611a8c6101808b016117eb565b9150611a9c8b6101a08c016118a1565b90509295985092959850929598565b600060208284031215611abd57600080fd5b611ac6826117eb565b9392505050565b6000815180845260005b81811015611af357602081850181015186830182015201611ad7565b81811115611b05576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ac66020830184611acd565b60008060408385031215611b5e57600080fd5b50508035926020909101359150565b600060208284031215611b7f57600080fd5b611ac682611814565b600060208284031215611b9a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611be257611be2611ba1565b500390565b600067ffffffffffffffff808316818516808303821115611c0a57611c0a611ba1565b01949350505050565b600063ffffffff808316818516808303821115611c0a57611c0a611ba1565b600063ffffffff80841680611c70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff80831681851681830481118215151615611c9f57611c9f611ba1565b0294935050505056fea264697066735822122074c7472e8301ca2f8267aee4ee0e71a54402f3da00f609a02e02dbc55452701264736f6c634300080f003353797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77001d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069a11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0", "nonce": "0x9", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb741e9", "logs": [ { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6" ], "data": "0x", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x10d", "removed": false }, { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x10e", "removed": false }, { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x10f", "removed": false }, { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x110", "removed": false }, { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x111", "removed": false }, { "address": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "logIndex": "0x112", "removed": false } ], "logsBloom": "0x04000000000010000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000001000002040000000002004000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000004040000000000000000000080000000020000000000000800000000000000000100000400000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000060000000200000000000000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xfe5e4c2c2bdb05c50b19faab2180152427c997b846ab028d16fe43883ac9133f", "transactionIndex": "0x81", "blockHash": "0x6568d65255c0c78393ef00324d685577e9fa8c4d872d7bfd04a05eab7d4b8c29", "blockNumber": "0x146255a", "gasUsed": "0x1c3418", "effectiveGasPrice": "0x67b8573c2", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": null, "contractAddress": "0x45c4e267ae21e90f72c8abf43ddb5941c953482f" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1733860170, "chain": 1, "commit": "433bdf5" } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733947633.json ================================================ { "transactions": [ { "hash": "0xa6477b520b8091ee24986b95606c8a5d0866ef23c055b376c5be33f8df1eaed5", "transactionType": "CREATE2", "contractName": "Simulation", "contractAddress": "0x06036c9d89f70b103d47cb3a9e4a069658a5c667", "function": null, "arguments": null, "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x273e9d", "input": "0x0000000000000000000000000000000000000000000000000000000000000000611ef061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062be68721461005a5780630482b1631461006f57806342257f7414610082578063986bfec3146100ab575b600080fd5b61006d610068366004611385565b6100be565b005b61006d61007d36600461140d565b610117565b61009561009036600461165a565b610b45565b6040516100a29190611686565b60405180910390f35b6100956100b9366004611700565b610bf0565b610112838383600060405190808252806020026020018201604052801561010c57816020015b6040805180820190915260008152606060208201528152602001906001900390816100e45790505b50610117565b505050565b604080518082018252601081527f54454e4445524c595f50524f4a45435400000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c9161019a916004016117bb565b600060405180830381865afa1580156101b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101fd9190810190611802565b604080518082018252601181527f54454e4445524c595f555345524e414d45000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152919250600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916102849190600401611879565b600060405180830381865afa1580156102a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102e79190810190611802565b60408051808201909152600381527f2535420000000000000000000000000000000000000000000000000000000000602082015290915060005b84518110156106a857600085828151811061033e5761033e6118c0565b6020026020010151905060008211156103745782604051602001610362919061190b565b60405160208183030381529060405292505b80516040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201528390737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261043d9190810190611802565b60405160200161044e92919061194c565b604051602081830303815290604052925060005b8160200151518110156106715780156104985783604051602001610486919061190b565b60405160208183030381529060405293505b837f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663b11a19e8846020015184815181106104ee576104ee6118c0565b6020026020010151600001516040518263ffffffff1660e01b815260040161051891815260200190565b600060405180830381865afa158015610535573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261057b9190810190611802565b60208401518051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163b11a19e891869081106105ae576105ae6118c0565b6020026020010151602001516040518263ffffffff1660e01b81526004016105d891815260200190565b600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261063b9190810190611802565b60405160200161064d939291906119ce565b6040516020818303038152906040529350808061066990611abe565b915050610462565b50826040516020016106839190611af6565b60405160208183030381529060405292505080806106a090611abe565b915050610321565b50806040516020016106ba9190611b37565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252466004830152915060009083908590737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261079d9190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108619190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109259190810190611802565b8660405160200161093b96959493929190611b78565b6040516020818303038152906040529050611f2c8751600261095d9190611ce0565b82516109699190611d1d565b1115610a5b57806040516020016109809190611d35565b604051602081830303815290604052905061099a81610ca9565b6040517f71aad10d000000000000000000000000000000000000000000000000000000008152610a5690737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d906109ee908b90600401611d9c565b600060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a519190810190611802565b610ca9565b610b3b565b6040517f71aad10d0000000000000000000000000000000000000000000000000000000081528190737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d90610aad908b90600401611d9c565b600060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b109190810190611802565b604051602001610b21929190611daf565b6040516020818303038152906040529050610b3b81610ca9565b5050505050505050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff841681526000906020810182604051908082528060200260200182016040528015610bca57816020015b6040805180820190915260008082526020820152815260200190600190039081610ba35790505b5090529050610bd98482610d3b565b9050610be6848285610ded565b9150505b92915050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff851681526000906020810182604051908082528060200260200182016040528015610c7557816020015b6040805180820190915260008082526020820152815260200190600190039081610c4e5790505b5090529050610c848582610d3b565b9050610c91858286610ea6565b9050610c9e858285610ded565b9150505b9392505050565b610d3881604051602401610cbd9190611d9c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526110b9565b50565b6040805180820190915260008152606060208201528273ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611e07565b600103610dcd575080610bea565b604080518082019091526004815260016020820152610ca29083906110c2565b604080518082019091526000815260606020820152818473ffffffffffffffffffffffffffffffffffffffff1663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611e07565b03610e7e575081610ca2565b604080518082019091526005815260208101839052610e9e9084906110c2565b949350505050565b60408051808201909152600081526060602082015260008473ffffffffffffffffffffffffffffffffffffffff1663a0e67e2b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f08573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f4e9190810190611e20565b905060005b8151811015610fc4578373ffffffffffffffffffffffffffffffffffffffff16828281518110610f8557610f856118c0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610fb2578492505050610ca2565b80610fbc81611abe565b915050610f53565b50604080518082019091526003815260016020820152610fe59085906110c2565b604080518082019091527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0815273ffffffffffffffffffffffffffffffffffffffff8516602082015290945061103c9085906110c2565b6040805180820190915273ffffffffffffffffffffffffffffffffffffffff8516606082015260026080820152909450610c9e9085908060a08101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602091820120825260019101526110c2565b610d38816111ff565b604080518082019091526000815260606020820152600083602001515160016110eb9190611d1d565b67ffffffffffffffff81111561110357611103611242565b60405190808252806020026020018201604052801561114857816020015b60408051808201909152600080825260208201528152602001906001900390816111215790505b50905060005b8460200151518110156111a95784602001518181518110611171576111716118c0565b602002602001015182828151811061118b5761118b6118c0565b602002602001018190525080806111a190611abe565b91505061114e565b508281856020015151815181106111c2576111c26118c0565b60209081029190910181019190915260408051808201909152945173ffffffffffffffffffffffffffffffffffffffff1685528401525090919050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d3857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561129457611294611242565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112e1576112e1611242565b604052919050565b600067ffffffffffffffff82111561130357611303611242565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261134057600080fd5b813561135361134e826112e9565b61129a565b81815284602083860101111561136857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561139a57600080fd5b83356113a581611220565b9250602084013567ffffffffffffffff8111156113c157600080fd5b6113cd8682870161132f565b92505060408401356113de81611220565b809150509250925092565b600067ffffffffffffffff82111561140357611403611242565b5060051b60200190565b6000806000806080858703121561142357600080fd5b61142d8535611220565b8435935067ffffffffffffffff6020860135111561144a57600080fd5b61145a866020870135870161132f565b92506114696040860135611220565b6040850135915067ffffffffffffffff6060860135111561148957600080fd5b85601f60608701358701011261149e57600080fd5b6114b161134e60608701358701356113e9565b6060860135860180358083526020808401939260059290921b909101018810156114da57600080fd5b602060608801358801015b60608801358801803560051b0160200181101561164d5767ffffffffffffffff8135111561151257600080fd5b8035606089013589010160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828c0301121561154e57600080fd5b611556611271565b6115636020830135611220565b6020820135815267ffffffffffffffff6040830135111561158357600080fd5b8a603f60408401358401011261159857600080fd5b6115ae61134e60206040850135850101356113e9565b6020604084810135850182810135808552928401939260061b01018d10156115d557600080fd5b6040808501358501015b6040858101358601602081013560061b010181101561162e576040818f03121561160857600080fd5b611610611271565b813581526020808301358183015290845292909201916040016115df565b50806020840152505080855250506020830192506020810190506114e5565b5094979396509194505050565b6000806040838503121561166d57600080fd5b823561167881611220565b946020939093013593505050565b6020808252825173ffffffffffffffffffffffffffffffffffffffff168282015282810151604080840181905281516060850181905260009392830191849160808701905b808410156116f457845180518352860151868301529385019360019390930192908201906116cb565b50979650505050505050565b60008060006060848603121561171557600080fd5b833561172081611220565b9250602084013561173081611220565b929592945050506040919091013590565b60005b8381101561175c578181015183820152602001611744565b8381111561176b576000848401525b50505050565b60008151808452611789816020860160208601611741565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601060408201527f54454e4445524c595f50524f4a454354000000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b60006020828403121561181457600080fd5b815167ffffffffffffffff81111561182b57600080fd5b8201601f8101841361183c57600080fd5b805161184a61134e826112e9565b81815285602083850101111561185f57600080fd5b611870826020830160208601611741565b95945050505050565b60408152601160408201527f54454e4445524c595f555345524e414d450000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151611901818560208601611741565b9290920192915050565b6000825161191d818460208701611741565b7f2c00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000835161195e818460208801611741565b7f25374222636f6e747261637441646472657373223a22000000000000000000009083019081528351611998816016840160208801611741565b7f222c2273746f72616765223a253542000000000000000000000000000000000060169290910191820152602501949350505050565b600084516119e0818460208901611741565b7f253742226b6579223a22000000000000000000000000000000000000000000009083019081528451611a1a81600a840160208901611741565b7f222c2276616c7565223a22000000000000000000000000000000000000000000600a92909101918201528351611a58816015840160208801611741565b7f22253744000000000000000000000000000000000000000000000000000000006015929091019182015260190195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aef57611aef611a8f565b5060010190565b60008251611b08818460208701611741565b7f2535442537440000000000000000000000000000000000000000000000000000920191825250600601919050565b60008251611b49818460208701611741565b7f2535440000000000000000000000000000000000000000000000000000000000920191825250600301919050565b7f68747470733a2f2f64617368626f6172642e74656e6465726c792e636f2f0000815260008751611bb081601e850160208c01611741565b7f2f00000000000000000000000000000000000000000000000000000000000000601e918401918201528751611bed81601f840160208c01611741565b7f2f73696d756c61746f722f6e65773f6e6574776f726b3d000000000000000000601f92909101918201528651611c2b816036840160208b01611741565b7f26636f6e7472616374416464726573733d000000000000000000000000000000603692909101918201528551611c69816047840160208a01611741565b7f2666726f6d3d000000000000000000000000000000000000000000000000000060479290910191820152611ca1604d8201866118ef565b7f2673746174654f76657272696465733d0000000000000000000000000000000081529050611cd360108201856118ef565b9998505050505050505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d1857611d18611a8f565b500290565b60008219821115611d3057611d30611a8f565b500190565b60008251611d47818460208701611741565b7f0a496e736572742074686520666f6c6c6f77696e672068657820696e746f20749201918252507f6865202752617720696e707574206461746127206669656c643a0000000000006020820152603a01919050565b602081526000610ca26020830184611771565b60008351611dc1818460208801611741565b7f2672617746756e6374696f6e496e7075743d00000000000000000000000000009083019081528351611dfb816012840160208801611741565b01601201949350505050565b600060208284031215611e1957600080fd5b5051919050565b60006020808385031215611e3357600080fd5b825167ffffffffffffffff811115611e4a57600080fd5b8301601f81018513611e5b57600080fd5b8051611e6961134e826113e9565b81815260059190911b82018301908381019087831115611e8857600080fd5b928401925b82841015611eaf578351611ea081611220565b82529284019290840190611e8d565b97965050505050505056fea2646970667358221220283474ba77b92d33cd2ac4c86126748fbbdefd6ee7a11433b35b02a8b7cadf7c64736f6c634300080f0033", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc1000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x521ed386e20c5aab4b66133e6f9b5bd6d4dc973ea8247a69f48832a2db3cd131719e69ddb48c9ab116c516161313fd43b7c48aa3457f41693c5697e18bed2b2f1b79ae6be514ea834a03b33cb5fcd592ddce7f83016dcbf96896020820df0a7147756cdd672eaef2be8a3ab3d80cbeaeb341fa8e4472de06ad43c1e074b48c80051c510aa6c94710b2a1dca0cc85b50254ccba9e985360e16486e2efddd25f45f21802e34642580601a2cc4b8a6039e3d633a583db2be6ec98c8bec5b7c7b72627c91b" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x22500", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3521ed386e20c5aab4b66133e6f9b5bd6d4dc973ea8247a69f48832a2db3cd131719e69ddb48c9ab116c516161313fd43b7c48aa3457f41693c5697e18bed2b2f1b79ae6be514ea834a03b33cb5fcd592ddce7f83016dcbf96896020820df0a7147756cdd672eaef2be8a3ab3d80cbeaeb341fa8e4472de06ad43c1e074b48c80051c510aa6c94710b2a1dca0cc85b50254ccba9e985360e16486e2efddd25f45f21802e34642580601a2cc4b8a6039e3d633a583db2be6ec98c8bec5b7c7b72627c91b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x89a9c5", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa6477b520b8091ee24986b95606c8a5d0866ef23c055b376c5be33f8df1eaed5", "transactionIndex": "0x5c", "blockHash": "0xb289eddb03a1f6011730eaf6839ababf71ace9b777aaef48932e1a6cdb956c9f", "blockNumber": "0x14641a7", "gasUsed": "0x1ad76f", "effectiveGasPrice": "0x6935a1502", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0xb1b9c2", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9", "blockNumber": "0x14641a8", "transactionHash": "0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975", "transactionIndex": "0x90", "logIndex": "0x127", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd433100360e0bd36b2894da9d0826ea34e59604a42b9665a5c5ca9d1c98c38600000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9", "blockNumber": "0x14641a8", "transactionHash": "0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975", "transactionIndex": "0x90", "logIndex": "0x128", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008200000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000400000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xd7d72ffe2d13820943d52c543f5f0c7593e90fce6786569c4ed7d6e5f9fc9975", "transactionIndex": "0x90", "blockHash": "0xbe73c410136a09f21bebb79f1ffe6b7d44f1811403a852760dbf6095c7112bb9", "blockNumber": "0x14641a8", "gasUsed": "0x18d78", "effectiveGasPrice": "0x654d98352", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [ "lib/base-contracts/script/universal/Simulation.sol:Simulation:0x06036C9d89F70b103d47CB3a9E4A069658A5C667" ], "pending": [], "returns": {}, "timestamp": 1733947633, "chain": 1, "commit": "2ed5d9a" } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733957906.json ================================================ { "transactions": [ { "hash": "0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc1000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000012fe0f37bf32df549f41324340b7c810b702d01892657f0ba0c3442299076674a4e41e6a22c1b4181aae0b317f1e9a7ec16230c0889ee65470d7247cc196a77ce1ce65a310bc16024cfcbf91ef97869a4db113b02f3f96a9a8a07a1745cdac738d15bf4f54a45638a9e4bdf289b71b372d44514bc6a6e177a0eb2445070f715aae61cf79b4f118225582f57ece302ff6de2b5f1d2f67d6435f65583f765af8bae449646a8aff7644214cbcbdf9b25b3f241b6da68490a82012d44c3502e0fdbd05e0a1c9c207529ba7dc127dc105b2bf86b607609f0131f9d8bcb7d17d7fd1b6f046a69737a9591ae496c8b29764ab74face3921a4d37373d19837d97306dc4a7a8ce2a1c" ], "transaction": { "from": "0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03", "to": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "gas": "0x29137", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014500000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000012fe0f37bf32df549f41324340b7c810b702d01892657f0ba0c3442299076674a4e41e6a22c1b4181aae0b317f1e9a7ec16230c0889ee65470d7247cc196a77ce1ce65a310bc16024cfcbf91ef97869a4db113b02f3f96a9a8a07a1745cdac738d15bf4f54a45638a9e4bdf289b71b372d44514bc6a6e177a0eb2445070f715aae61cf79b4f118225582f57ece302ff6de2b5f1d2f67d6435f65583f765af8bae449646a8aff7644214cbcbdf9b25b3f241b6da68490a82012d44c3502e0fdbd05e0a1c9c207529ba7dc127dc105b2bf86b607609f0131f9d8bcb7d17d7fd1b6f046a69737a9591ae496c8b29764ab74face3921a4d37373d19837d97306dc4a7a8ce2a1c000000000000000000000000000000000000000000000000000000", "nonce": "0x26", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x966531", "logs": [ { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc10", "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a" ], "data": "0x", "blockHash": "0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac", "blockNumber": "0x14644fb", "transactionHash": "0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685", "transactionIndex": "0x4f", "logIndex": "0xf3", "removed": false }, { "address": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xec80cfb1f4522a8e2aa3da25517e04232a0b458dea38c43241052ff57cdc81390000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac", "blockNumber": "0x14644fb", "transactionHash": "0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685", "transactionIndex": "0x4f", "logIndex": "0xf4", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000000000001000000000000000000000000000000000000000200000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000000000000000000000008400000000000000800000000001000000000000000000000000000000000000000000000000000000000000000000200000400000000000100000000000000000", "type": "0x2", "transactionHash": "0x6b534288283f8fd5489c40a3dcdb333f9d96554d5e3edadefd092503ade10685", "transactionIndex": "0x4f", "blockHash": "0x7269d3d080fe0511e28d4cb01985fe522a40b7c763a47ce1ec5e3e57e75779ac", "blockNumber": "0x14644fb", "gasUsed": "0x1c161", "effectiveGasPrice": "0x4334ddbdf", "from": "0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03", "to": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1733957906, "chain": 1, "commit": "a56f5e7" } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/1/run-1733958067.json ================================================ { "transactions": [ { "hash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03", "to": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "gas": "0x1d0d3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x27", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc0f8e1", "logs": [ { "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000045c4e267ae21e90f72c8abf43ddb5941c953482f" ], "data": "0x", "blockHash": "0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c", "blockNumber": "0x1464508", "transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294", "transactionIndex": "0x90", "logIndex": "0x193", "removed": false }, { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x499da11d771fc773313dadbe714656d12e9ba8579a55b77bd3175d0177bafc100000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c", "blockNumber": "0x1464508", "transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294", "transactionIndex": "0x90", "logIndex": "0x194", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000000000000000040010000000008000000000000000000004000000000000100000000000000000000000001000000000000000000000000002000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000040000000000000200000000000000000000000000000004000", "type": "0x2", "transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294", "transactionIndex": "0x90", "blockHash": "0xc8d0b3e244dc6fb2caf52377f59b411dfa03d968632fb6f7a6cd0d4a82ba4a5c", "blockNumber": "0x1464508", "gasUsed": "0x15087", "effectiveGasPrice": "0x463c6a44d", "from": "0xbbc9b955BE73cA4eEB28E988e9D21D2538978F03", "to": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1733958067, "chain": 1, "commit": "a56f5e7" } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/script/DeploySystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; contract DeploySystemConfig is Script { function run() public { vm.startBroadcast(); SystemConfig systemConfigImpl = new SystemConfig(); console.log("SystemConfig implementation deployed at: ", address(systemConfigImpl)); vm.stopBroadcast(); } } ================================================ FILE: mainnet/2024-11-18-increase-max-gas-limit/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Simulation} from "@base-contracts/script/universal/MultisigBuilder.sol"; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; interface IProxyAdmin { function upgrade(address _proxy, address _implementation) external; } interface IProxy { function implementation() external view returns (address); } contract UpgradeSystemConfig is NestedMultisigBuilder { address internal SAFE_ADDRESS = vm.envAddress("SAFE_ADDRESS"); address internal PROXY_ADMIN_ADDRESS = vm.envAddress("PROXY_ADMIN_ADDRESS"); address internal SYSTEM_CONFIG_ADDRESS = vm.envAddress("SYSTEM_CONFIG_ADDRESS"); address internal NEW_IMPLEMENTATION = vm.envAddress("NEW_IMPLEMENTATION"); function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { // NOTE: Bypass `proxyCallIfNotAdmin` modifier. vm.prank(PROXY_ADMIN_ADDRESS); require(IProxy(SYSTEM_CONFIG_ADDRESS).implementation() == NEW_IMPLEMENTATION); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3); calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_ADDRESS, allowFailure: false, // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`). callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG_ADDRESS, NEW_IMPLEMENTATION)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SAFE_ADDRESS; } } ================================================ FILE: mainnet/2024-12-04-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-12-04-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-12-04-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 41 to 42: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000029 After: 0x000000000000000000000000000000000000000000000000000000000000002a ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 180M to 198M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000aba9500 After: 0x000000000000000000000000000000000000000000000000000000000bcd3d80 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002a After: 0x000000000000000000000000000000000000000000000000000000000000002b ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000bcd3d80 After: 0x00000000000000000000000000000000000000000000000000000000aba9500 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-12-04-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-12-04-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1733328181.json ================================================ { "transactions": [ { "hash": "0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bcd3d8000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x757c71e3e951077dd3082eb76e4eb1ae939e97cc3c024e9c19c064ef768507c4177305b5cabbd6892e3a3ddf594bd4f623ace0622e4b2f9edc04b48fc4fb77ac1c9e86471cc9acf55c2caf297f7672da55e606cdd4eceedb97045a562ba35bf10214647ff949a7d27bb8b9bea676a842edd7cf1dbbb3afbb3dbfc4ed6c5bf32c571b35af538af352762ad9e18f2b78306c3f1f1af5a19f6189af7b38f7121655e37d298f91666cf5a1bf52acd3aa131f8279c1398b1920390cd1cf140f559a1f0ccd1b" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e752", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bcd3d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3757c71e3e951077dd3082eb76e4eb1ae939e97cc3c024e9c19c064ef768507c4177305b5cabbd6892e3a3ddf594bd4f623ace0622e4b2f9edc04b48fc4fb77ac1c9e86471cc9acf55c2caf297f7672da55e606cdd4eceedb97045a562ba35bf10214647ff949a7d27bb8b9bea676a842edd7cf1dbbb3afbb3dbfc4ed6c5bf32c571b35af538af352762ad9e18f2b78306c3f1f1af5a19f6189af7b38f7121655e37d298f91666cf5a1bf52acd3aa131f8279c1398b1920390cd1cf140f559a1f0ccd1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x9dac7e", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bcd3d80", "blockHash": "0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132", "blockNumber": "0x1457918", "transactionHash": "0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85", "transactionIndex": "0x8a", "logIndex": "0xee", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xdb0af2544f678250773b553e85b42154552fadc014dfdff1882d81812295d2d70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132", "blockNumber": "0x1457918", "transactionHash": "0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85", "transactionIndex": "0x8a", "logIndex": "0xef", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xa14ff02fbd97f66e8cc6c27652c2c203af56d7611ca377f98fb0e0e38f737f85", "transactionIndex": "0x8a", "blockHash": "0x72c4ecde55db028fdcb5756cc256a3a524072eb65955d364f04121ec99699132", "blockNumber": "0x1457918", "gasUsed": "0x160d0", "effectiveGasPrice": "0xc9ebcc7ae", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1733328181, "chain": 1, "commit": "f4f835c" } ================================================ FILE: mainnet/2024-12-11-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-12-11-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-12-11-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 44 to 45: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002c After: 0x000000000000000000000000000000000000000000000000000000000000002d ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 198M to 216M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000bcd3d80 After: 0x000000000000000000000000000000000000000000000000000000000cdfe600 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002d After: 0x000000000000000000000000000000000000000000000000000000000000002e ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000cdfe600 After: 0x000000000000000000000000000000000000000000000000000000000bcd3d80 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-12-11-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-12-11-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1733962358.json ================================================ { "transactions": [ { "hash": "0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000cdfe60000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x58e2d3211d217a52d7adee2b146290cd6e34d2b158a3bd55e9e4cc37e5a74e3e2ee3d2786ff1da421f63faaee50982f64095e85d8a313fa80df2ecc193f55cab1b14bb3e6b1750af308370f3afc7eb089788a4b3e931a4a1b24b255e736785ed436651dae7e21e444ad89abdadb1a9ffd731539a56c1f49331f04c0d3e0cf7f1db1b31a24461fad08d797d28c988b2f1d5831a9077ca6f0635ff3dbacf3a5117748d2150af1ad0c90ad5567977ae3bead55236c060997cba0f74a1f7999f722ee3ae1b" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e741", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000cdfe600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c358e2d3211d217a52d7adee2b146290cd6e34d2b158a3bd55e9e4cc37e5a74e3e2ee3d2786ff1da421f63faaee50982f64095e85d8a313fa80df2ecc193f55cab1b14bb3e6b1750af308370f3afc7eb089788a4b3e931a4a1b24b255e736785ed436651dae7e21e444ad89abdadb1a9ffd731539a56c1f49331f04c0d3e0cf7f1db1b31a24461fad08d797d28c988b2f1d5831a9077ca6f0635ff3dbacf3a5117748d2150af1ad0c90ad5567977ae3bead55236c060997cba0f74a1f7999f722ee3ae1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xcc2b6c", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000cdfe600", "blockHash": "0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab", "blockNumber": "0x146466c", "transactionHash": "0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280", "transactionIndex": "0x82", "logIndex": "0x166", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x04fd6d68c63bf7ffd663c4570055a6211809985563a5c29917d9f09ad20ec15f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab", "blockNumber": "0x146466c", "transactionHash": "0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280", "transactionIndex": "0x82", "logIndex": "0x167", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xfd09126498cd8b4bb2c1b80d604a40e827c865a28f598baa217b6588fe2b6280", "transactionIndex": "0x82", "blockHash": "0xedb8d1619547f481a7b862d17375a713223e8e3a552fd61951e1985d2ad9e7ab", "blockNumber": "0x146466c", "gasUsed": "0x160c4", "effectiveGasPrice": "0x440cd7521", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1733962358, "chain": 1, "commit": "2ed5d9a" } ================================================ FILE: mainnet/2024-12-18-holocene-deployments/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # Deploy command ## .PHONY: deploy deploy: L2_CHAIN_ID=$(L2_CHAIN_ID) forge script --rpc-url $(L1_RPC_URL) DeployHoloceneContracts --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --verify --broadcast ================================================ FILE: mainnet/2024-12-18-holocene-deployments/README.md ================================================ # Deploy Holocene contracts ## Objective To support the Holocene Network Upgrade, we need to deploy the latest version of the following contracts: - [FaultDisputeGame](https://github.com/ethereum-optimism/optimism/blob/dff5f16c510e7f44f1be0574372ccb08bfec045c/packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol) - [PermissionedDisputeGame](https://github.com/ethereum-optimism/optimism/blob/dff5f16c510e7f44f1be0574372ccb08bfec045c/packages/contracts-bedrock/src/dispute/PermissionedDisputeGame.sol) ## Deploying the contracts ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-12-18-holocene-deployments make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Deploy the contracts ``` make deploy ``` ================================================ FILE: mainnet/2024-12-18-holocene-deployments/deployed/addresses.json ================================================ {} ================================================ FILE: mainnet/2024-12-18-holocene-deployments/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src', '@lib-keccak/=lib/lib-keccak/contracts/lib', 'src/=lib/optimism/packages/contracts-bedrock/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-12-18-holocene-deployments/inputs/construct-config.sh ================================================ #!/bin/bash DEPLOY_FIELDS='"baseFeeVaultRecipient","batchSenderAddress","controller","deployerAddress","finalSystemOwner","finalizationPeriodSeconds","gasPriceOracleOverhead","gasPriceOracleScalar","l1ChainID","l1FeeVaultRecipient","l2BlockTime","l2ChainID","l2OutputOracleChallenger","l2OutputOracleProposer","l2OutputOracleStartingBlockNumber","l2OutputOracleStartingTimestamp","l2OutputOracleSubmissionInterval","p2pSequencerAddress","portalGuardian","proxyAdminOwnerL2","sequencerFeeVaultRecipient"' DEPLOY_CONFIG_FILE="inputs/deploy-config.json" MISC_CONFIG_FILE="inputs/misc-config.json" FOUNDRY_CONFIG_FILE="inputs/foundry-config.json" # Convert field from hex to decimal VALUE=$(jq -r '.l2GenesisBlockGasLimit' "$DEPLOY_CONFIG_FILE") GAS_LIMIT=$(printf %d $VALUE) # Construct config file which will be the input in deploy script jq -s '.[0] * .[1]' "$DEPLOY_CONFIG_FILE" "$MISC_CONFIG_FILE" | \ jq "with_entries(select([.key] | inside([$DEPLOY_FIELDS])))" | \ jq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \ jq --sort-keys | \ jq '{"deployConfig": .}' > "$FOUNDRY_CONFIG_FILE" ================================================ FILE: mainnet/2024-12-18-holocene-deployments/inputs/deploy-config.json ================================================ ================================================ FILE: mainnet/2024-12-18-holocene-deployments/inputs/misc-config.json ================================================ ================================================ FILE: mainnet/2024-12-18-holocene-deployments/records/DeployHoloceneContracts.s.sol/1/run-1734652451.json ================================================ { "transactions": [ { "hash": "0xb6178e6ff066add4d589c4e05f2947940d2adab55ce01207942e76a4a85524cb", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0xc5f3677c3c56db4031ab005a3c9c98e1b79d438e", "function": null, "arguments": [ "0", "0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568", "73", "30", "10800", "302400", "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C", "0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8", "0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf", "8453" ], "transaction": { "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "gas": "0x674aa9", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea26469706673582212200c2ab0d7a60a1fe8e3bd870cefc3b1dbdee450529a1609937b927b32be0271c064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x91f4f40a022f843841cab97cc75f9af29cb486160966c431171faa60222cae13", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0xf62c15e2f99d4869a925b8f57076cd85335832a2", "function": null, "arguments": [ "1", "0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568", "73", "30", "10800", "302400", "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C", "0x3E8a0B63f57e975c268d610ece93da5f78c01321", "0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf", "8453", "0x642229f238fb9dE03374Be34B0eD8D9De80752c5", "0x8Ca1E12404d16373Aef756179B185F27b2994F3a" ], "transaction": { "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "gas": "0x6a01e9", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220b6e75a171f3841af7d0083ce5fdb0a6dba89b46267c9bde293d74977c10951e964736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c0000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x187315e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb6178e6ff066add4d589c4e05f2947940d2adab55ce01207942e76a4a85524cb", "transactionIndex": "0xa6", "blockHash": "0x71775c9d532f6cd324b5df4b3f2755fa0646743e9b43837127a710d29afb00e3", "blockNumber": "0x14725e6", "gasUsed": "0x4f7ae2", "effectiveGasPrice": "0x2893f095d", "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "to": null, "contractAddress": "0xc5f3677c3c56db4031ab005a3c9c98e1b79d438e" }, { "status": "0x1", "cumulativeGasUsed": "0xb2f7d9", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x91f4f40a022f843841cab97cc75f9af29cb486160966c431171faa60222cae13", "transactionIndex": "0x56", "blockHash": "0x2f27dfbfbfbf761f0b24446aa1a3cf2c8ae5ce9fd4b285992b8b5f43d313da13", "blockNumber": "0x14725e7", "gasUsed": "0x5191e5", "effectiveGasPrice": "0x2d90bfb97", "from": "0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "to": null, "contractAddress": "0xf62c15e2f99d4869a925b8f57076cd85335832a2" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1734652451, "chain": 1, "commit": "4caa545" } ================================================ FILE: mainnet/2024-12-18-holocene-deployments/script/DeployHoloceneContracts.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import { FaultDisputeGame, IAnchorStateRegistry, IDelayedWETH, IBigStepper } from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; contract DeployHoloceneContracts is Script { GameType faultDisputeGameContractGameType = GameTypes.CANNON; GameType permissionedDisputeGameContractGameType = GameTypes.PERMISSIONED_CANNON; uint256 maxGameDepth = vm.envUint("MAX_GAME_DEPTH"); uint256 splitDepth = vm.envUint("SPLIT_DEPTH"); uint256 l2ChainId = vm.envUint("L2_CHAIN_ID"); address proposer = vm.envAddress("PROPOSER_ADDRESS"); address challenger = vm.envAddress("CHALLENGER_ADDRESS"); Duration clockExtension = Duration.wrap(uint64(vm.envUint("CLOCK_EXTENSION"))); Duration maxClockDuration = Duration.wrap(uint64(vm.envUint("MAX_CLOCK_DURATION"))); Claim absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); IDelayedWETH faultDisputeGameWeth = IDelayedWETH(payable(vm.envAddress("WETH_ADDRESS"))); IDelayedWETH permissionedDisputeGameWeth = IDelayedWETH(payable(vm.envAddress("PERMISSIONED_WETH_ADDRESS"))); IAnchorStateRegistry anchorStateRegistry = IAnchorStateRegistry(payable(vm.envAddress("ANCHOR_STATE_REGISTRY_ADDRESS"))); IBigStepper bigStepper = IBigStepper(payable(vm.envAddress("VM_ADDRESS"))); function run() public { vm.startBroadcast(); new FaultDisputeGame( faultDisputeGameContractGameType, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, faultDisputeGameWeth, anchorStateRegistry, l2ChainId ); new PermissionedDisputeGame( permissionedDisputeGameContractGameType, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, permissionedDisputeGameWeth, anchorStateRegistry, l2ChainId, proposer, challenger ); vm.stopBroadcast(); } } ================================================ FILE: mainnet/2024-12-18-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2024-12-18-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2024-12-18-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 45 to 46: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002d After: 0x000000000000000000000000000000000000000000000000000000000000002e ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 216M to 240M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000cdfe600 After: 0x000000000000000000000000000000000000000000000000000000000e4e1c00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002e After: 0x000000000000000000000000000000000000000000000000000000000000002f ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000e4e1c00 After: 0x000000000000000000000000000000000000000000000000000000000cdfe600 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2024-12-18-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2024-12-18-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1734551212.json ================================================ { "transactions": [ { "hash": "0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000e4e1c0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb8970e2cdde3d73be002a195ccb01ee8dacba365a5a15536f0537c76bbfeb0900fa1b820f0093466a2d8a234361f9d14c488fb38ec37004062ee42b9b27f66491cc2879ae8fc0ec705145e4d3470a69c3932de68a80cf0f3048bfef115267aed2811ab688813f0dad25d0a69a6c47ec766cf13ee45515083ecae1475bbbeeb8c5a1baef87e186ee1640e823a68580e5e298957078a4728647d5421211b1207e473fe3bc342a2a0a0243c65ec21d2d8410e581b3bef1a2d1a24515e26f8341f1ff8771b" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e730", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000e4e1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b8970e2cdde3d73be002a195ccb01ee8dacba365a5a15536f0537c76bbfeb0900fa1b820f0093466a2d8a234361f9d14c488fb38ec37004062ee42b9b27f66491cc2879ae8fc0ec705145e4d3470a69c3932de68a80cf0f3048bfef115267aed2811ab688813f0dad25d0a69a6c47ec766cf13ee45515083ecae1475bbbeeb8c5a1baef87e186ee1640e823a68580e5e298957078a4728647d5421211b1207e473fe3bc342a2a0a0243c65ec21d2d8410e581b3bef1a2d1a24515e26f8341f1ff8771b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xe985dc", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000e4e1c00", "blockHash": "0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74", "blockNumber": "0x1470529", "transactionHash": "0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19", "transactionIndex": "0xa7", "logIndex": "0x147", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x0ec0c03ce1196c34b71a69695b73290d3dbfb7f934d9ce9f5c07992239935a500000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74", "blockNumber": "0x1470529", "transactionHash": "0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19", "transactionIndex": "0xa7", "logIndex": "0x148", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x216445a4c7f5f9784e66ea2acc5cc5266c8b4e8d4a39af9fd101206ab42f0f19", "transactionIndex": "0xa7", "blockHash": "0xb869badbc4f1e78c9c624f06c8262b5d77c2f2c1839ef68b88dd3bba55103c74", "blockNumber": "0x1470529", "gasUsed": "0x160b8", "effectiveGasPrice": "0x437d503d5", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1734551212, "chain": 1, "commit": "d6b4b6c" } ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ## # NestedMultisigBuilder commands # The following commands can be used for tasks that utilize the NestedMultisigBuilder. # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. # See more documentation on the various steps in NestedMultisigBuilder.sol. ## # This step is run by signers on the "children" safes .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) TransferOwner \ --sig "sign(address)" $(CB_SIGNER_SAFE_ADDR) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) TransferOwner \ --sig "sign(address)" $(OP_SIGNER_SAFE_ADDR) # This step is run once per "child" safe, and can be run by anyone (doesn't have to be a signer) .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) TransferOwner \ --sig "approve(address,bytes)" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) TransferOwner \ --sig "approve(address,bytes)" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast # This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer) .PHONY: execute execute: forge script --rpc-url $(L2_RPC_URL) TransferOwner \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/README.md ================================================ # Transfer Proxy Admin Owner L1 Alias Status: EXECUTED https://basescan.org/tx/0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c ## Description This script transfers the ownership of the L2 ProxyAdmin contract to the alias address of the L1ProxyAdminOwner. You can read more about address aliasing [here](https://docs.optimism.io/stack/differences#address-aliasing). This allows us to use the same multisig for both L1 and L2 ProxyAdmin owners. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Sign the transaction Coinbase signer: ```bash make sign-cb ``` Optimism signer: ```bash make sign-op ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum mainnet or Sepolia. This must match the `` from above. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the "State Validations" instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.1.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 3.1.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## [For Facilitator ONLY] How to execute ### Approve the transaction 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 3. Run the `make approve` command as described below to approve the transaction in each multisig. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make approve-cb ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBB make approve-op ``` ### Execute the transaction Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/VALIDATION.MD ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the upgrade transactions. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Nested Safe State Overrides and Changes This task is executed by the nested 2/2 `ProxyAdminOwner` Safe. Refer to the [generic nested Safe execution validation document](https://github.com/ethereum-optimism/superchain-ops/blob/main/NESTED-VALIDATION.md) for the expected state overrides and changes. The `approvedHashes` mapping **key** of the `ProxyAdminOwner` (`0x2304CB33d95999dC29f4CeF1e35065e670a70050`) that should change during the simulation is - Base simulation: `0xcde595956d54c692d029b4d1dc86fafc883fb82f01147f60b6b964fa00f5c88b` - OP simulation: `0xb24bf3776c1f53a87c7f1ef62f639facf7791351b085317bd6ae049622adb10c` calculated as explained in the nested validation doc: ```sh SAFE_HASH=0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049 # "Nested hash:" SAFE_ROLE=0xd94E416cf2c7167608B2515B7e4102B41efff94f # "Council" - Base cast index bytes32 $SAFE_HASH $(cast index address $SAFE_ROLE 8) # 0xcde595956d54c692d029b4d1dc86fafc883fb82f01147f60b6b964fa00f5c88b SAFE_ROLE=0x28EDB11394eb271212ED66c08f2b7893C04C5D65 # OP cast index bytes32 $SAFE_HASH $(cast index address $SAFE_ROLE 8) # 0xb24bf3776c1f53a87c7f1ef62f639facf7791351b085317bd6ae049622adb10c ``` ## State Changes ### `0x4200000000000000000000000000000000000018` (`ProxyAdmin`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Before**: `0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050`
**After**: `0x0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d`
**Meaning**: Updates the `owner` of the `ProxyAdmin` contract from the current L2 Proxy Admin Owner (`0x2304CB33d95999dC29f4CeF1e35065e670a70050`) to the L1 Proxy Admin Owner alias (`0x8cc51c3008b3f03fe483b28b8db90e19cf076a6d`). ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] evm_version = "shanghai" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738699790.json ================================================ { "transactions": [ { "hash": "0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e057804900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "gas": "0x2ae2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c000000000000000000000000000000000000000000000000000000", "nonce": "0x10", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3774957", "logs": [ { "address": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450000000000000000000000001da898d47e057bc9af0a5709f20acbff900bde600000000000000000000000000000000000000000000000000000000000000000016a817d3d3a77111551753ad4999e4c7cf70ae61cd0a28260b8d808413f36406a6833fc052889edd5698bd21b5497dfbe540d7a2969bfc27ec985bd3eece0244d1bee3f5f2358bba5840bbe94403938a28bf2c474bff16d0867a5af13ffc275aed539818baf56a49da0d790bacafdf0455af050307c5d2fb9e127cf6cf053a2f6b41bdee4aaa9f1875ca9954ee87e0f2c687476b5240030ce5dec7f9f1aa3a4865b0f79f78246c7d6ca04cb0f6b08c4835165578d175a8a0709ae288e127cb23230901c4f9f73b411024c9d9f34ea123b3c4d094c0eded72edbf29f233931f410ace7323d50a8a3dc8b3e3ee2c7f8bcd82f3aae5d26f252c3e608518896046c5713284e1c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000005", "blockHash": "0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e", "blockNumber": "0x18c0b95", "transactionHash": "0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e", "transactionIndex": "0xe3", "logIndex": "0x305", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65" ], "data": "0x", "blockHash": "0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e", "blockNumber": "0x18c0b95", "transactionHash": "0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e", "transactionIndex": "0xe3", "logIndex": "0x306", "removed": false }, { "address": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd2fc780d0d5accfc9573e8f3a6a88a919345a8c58f8da7106e93aa1627c99a0a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e", "blockNumber": "0x18c0b95", "transactionHash": "0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e", "transactionIndex": "0xe3", "logIndex": "0x307", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000004000000000000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000020000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000500000002000400200000000000000004000000000000000000000000000000000000200000000000000000000000020000000000000000000000000000000000000000000000000200200000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x10abe1c5025670e09ca8186822dbd1af4cbb6852aec43db7e2b21b135bee319e", "transactionIndex": "0xe3", "blockHash": "0x7efcb84024a53fa51e683ef95dea4f826190b98b70df5f60696538237eefa03e", "blockNumber": "0x18c0b95", "gasUsed": "0x1f0c8", "effectiveGasPrice": "0x13dfdc4", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x28edb11394eb271212ed66c08f2b7893c04c5d65", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x17bc3c869", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x2c439033457", "l1GasPrice": "0xefe782b4", "l1GasUsed": "0x1ba9" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1738699790, "chain": 8453, "commit": "6e2cc87" } ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738702467.json ================================================ { "transactions": [ { "hash": "0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e057804900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x286da", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x11", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x219c96e", "logs": [ { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a6c6fbd96718f0508a478d1bd81565340c38ea41851e42fcecb15a144597949526af08b558479fd2a1ba6ec3ec05fefba927be21f2153d7757a2ce4de94912141b804b0e570454e60b183a3bea03ff421731e6d6a7e1f5639f8f6a572416c1c697390cbb363c7feedf690015b50a99696d5ef0b3cd03e31cf1e7891792da03e5f81bcc4060a6ae6f639a605f047ec63399ede0a802b30e656f3fef378c30aff3ce76665f44d7261f7e734803a48f4e2ba7c62f553eaaaa1c3be865504582715cc24a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa", "blockNumber": "0x18c10d0", "transactionHash": "0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2", "transactionIndex": "0x90", "logIndex": "0x159", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e0578049", "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f" ], "data": "0x", "blockHash": "0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa", "blockNumber": "0x18c10d0", "transactionHash": "0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2", "transactionIndex": "0x90", "logIndex": "0x15a", "removed": false }, { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8799780cc627b35caf50e48de1084aac7c844a84eb022504fa5d5b58528b29740000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa", "blockNumber": "0x18c10d0", "transactionHash": "0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2", "transactionIndex": "0x90", "logIndex": "0x15b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000004000000080000000000000040000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000400200000000000000004000000000000000000000000000000000004000000000000000000000000020000000200000000000000000000020000000000020000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x0f728f220e11282b995a5d8ea5b57ab0654b7f2cbf40ab2b0b65c5880c5f86b2", "transactionIndex": "0x90", "blockHash": "0x7d5ea7aabf528c3ba93059b211f921b6cee9d8975210aadd8f86abbc8a31caaa", "blockNumber": "0x18c10d0", "gasUsed": "0x1ba4b", "effectiveGasPrice": "0x126c6d3", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0xcaa0f9d0", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x136ba5617ea", "l1GasPrice": "0xc5a2a4e9", "l1GasUsed": "0x167c" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1738702467, "chain": 8453, "commit": "6e2cc87" } ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/records/TransferOwner.s.sol/8453/run-1738702575.json ================================================ { "transactions": [ { "hash": "0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "gas": "0x1cd69", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x12", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x204d9be", "logs": [ { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004200000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000028edb11394eb271212ed66c08f2b7893c04c5d65000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000bbc9b955be73ca4eeb28e988e9d21d2538978f030000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1", "blockNumber": "0x18c1105", "transactionHash": "0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c", "transactionIndex": "0x83", "logIndex": "0xeb", "removed": false }, { "address": "0x4200000000000000000000000000000000000018", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000002304cb33d95999dc29f4cef1e35065e670a70050", "0x0000000000000000000000008cc51c3008b3f03fe483b28b8db90e19cf076a6d" ], "data": "0x", "blockHash": "0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1", "blockNumber": "0x18c1105", "transactionHash": "0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c", "transactionIndex": "0x83", "logIndex": "0xec", "removed": false }, { "address": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x95d9b44bbd7e9b4f55023004e327ffa339986d5f7cc24feee87b3b19e05780490000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1", "blockNumber": "0x18c1105", "transactionHash": "0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c", "transactionIndex": "0x83", "logIndex": "0xed", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000800000040000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040400000000000000000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000000000000000000000000000000000000000000000000100000000000400200000000400000004000000000000000200000000000000000000000000020080000000000000220000400000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x54d61996fe28795556fe87e57fcecb7d38d35aa0c58fa7b7ae42709453c0ff2c", "transactionIndex": "0x83", "blockHash": "0xdb7a5b63e374da09c301ca1906246145e416f0e01dfa120959fc4c384a0c68b1", "blockNumber": "0x18c1105", "gasUsed": "0x14e0f", "effectiveGasPrice": "0x1256cf4", "from": "0xbbc9b955be73ca4eeb28e988e9d21d2538978f03", "to": "0x2304cb33d95999dc29f4cef1e35065e670a70050", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x12c0fa0ff", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x11cfb63e37d", "l1GasPrice": "0xc98d4c25", "l1GasUsed": "0xe11" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1738702575, "chain": 8453, "commit": "6e2cc87" } ================================================ FILE: mainnet/2025-01-08-transfer-proxyadmin-owner-L1alias/script/TransferOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@base-contracts/script/universal/NestedMultisigBuilder.sol"; contract TransferOwner is NestedMultisigBuilder { address internal _PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); address internal _L2_PROXY_ADMIN_OWNER = vm.envAddress("L2_PROXY_ADMIN_OWNER"); address internal _L1_PROXY_ADMIN_OWNER = vm.envAddress("L1_PROXY_ADMIN_OWNER"); // Using example from OP L1 Proxy Admin to confirm accuracy of `_convertToAliasAddress` address internal constant _OP_L1_PROXY_ADMIN = 0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A; address internal constant _OP_L1_PROXY_ADMIN_ALIAS = 0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b; /// @dev Confirm the alias address conversion is correct using Optimism L1 Proxy Admin as an example constructor() { require( _convertToAliasAddress(_OP_L1_PROXY_ADMIN) == _OP_L1_PROXY_ADMIN_ALIAS, "Something wrong with ConvertToAlias" ); } /// @dev Confirm the proxy admin owner is now the alias address of the L1 Proxy Admin Owner function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { OwnableUpgradeable proxyAdmin = OwnableUpgradeable(_PROXY_ADMIN); require( proxyAdmin.owner() == _convertToAliasAddress(_L1_PROXY_ADMIN_OWNER), "ProxyAdmin owner did not get updated" ); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: _PROXY_ADMIN, allowFailure: false, callData: abi.encodeCall(OwnableUpgradeable.transferOwnership, (_convertToAliasAddress(_L1_PROXY_ADMIN_OWNER))) }); return calls; } function _ownerSafe() internal view override returns (address) { return _L2_PROXY_ADMIN_OWNER; } /// @dev An alias address is the original address + 0x1111000000000000000000000000000000001111 function _convertToAliasAddress(address addr) private pure returns (address) { uint160 enumeratedAddress = uint160(addr); uint160 offset = uint160(0x1111000000000000000000000000000000001111); return address(enumeratedAddress + offset); } } ================================================ FILE: mainnet/2025-01-15-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-01-15-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 252M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-01-15-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 47 to 48: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000002f After: 0x0000000000000000000000000000000000000000000000000000000000000030 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 240M to 252M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000e4e1c00 After: 0x000000000000000000000000000000000000000000000000000000000f053700 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000030 After: 0x0000000000000000000000000000000000000000000000000000000000000031 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x000000000000000000000000000000000000000000000000000000000000006800 Before: 0x000000000000000000000000000000000000000000000000000000000f053700 After: 0x000000000000000000000000000000000000000000000000000000000e4e1c00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-01-15-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-01-15-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1736968347.json ================================================ { "transactions": [ { "hash": "0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000f05370000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2071d04403fbcff4a77436e02be38085e5eb2fbcd76529fdd9d5b9825378e5bb67ccd088c3631e5222e291f7f1c726ca1d74f80ccb6a30ff7b6b498a7c3e4d6b1ce31c878915ad4b6b63f9d0e7ca3556b98cb95b573f0ad7492a79b005761db6934a12f628473577b1aec30e75745c8d99893d9475a556fed634ce4eacded110d91c0c3ed272040f55a14fd211c8426eb46a620caf2aed5b4a02c56a022553696ae02d258783d931738e6dbb31c7feb22e24db6532854d7fb7d338e29c62fbf1477b1c" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e741", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000f053700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32071d04403fbcff4a77436e02be38085e5eb2fbcd76529fdd9d5b9825378e5bb67ccd088c3631e5222e291f7f1c726ca1d74f80ccb6a30ff7b6b498a7c3e4d6b1ce31c878915ad4b6b63f9d0e7ca3556b98cb95b573f0ad7492a79b005761db6934a12f628473577b1aec30e75745c8d99893d9475a556fed634ce4eacded110d91c0c3ed272040f55a14fd211c8426eb46a620caf2aed5b4a02c56a022553696ae02d258783d931738e6dbb31c7feb22e24db6532854d7fb7d338e29c62fbf1477b1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x267102", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000f053700", "blockHash": "0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a", "blockNumber": "0x14a1397", "transactionHash": "0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663", "transactionIndex": "0x31", "logIndex": "0x39", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x96946cf710380631566c11c89283a81d247f1d6ac69f3fa0fc8c467133c792270000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a", "blockNumber": "0x14a1397", "transactionHash": "0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663", "transactionIndex": "0x31", "logIndex": "0x3a", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x4c2a555b7ec1f53070359ac0133c133f1ffdb0fa519fd38260b88e0088448663", "transactionIndex": "0x31", "blockHash": "0xf18bea244215afca32aa1c580b252a435227067e2a125f523903cfc8b0a8528a", "blockNumber": "0x14a1397", "gasUsed": "0x160c4", "effectiveGasPrice": "0x3e2b1fa9e", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1736968347, "chain": 1, "commit": "b3ec061" } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deps deps: forge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5 .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySafes --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateSigners \ --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/README.md ================================================ # Nested Ownership Transfer Status: EXECUTED (https://etherscan.io/tx/0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f) ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-01-15-nested-ownership-transfer make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Safes ```bash make deploy ``` This will output the new addresses of the `SafeA` and `SafeB` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### CB Signer Safe: `0x9855054731540A48b28990B63DcF4f33d8AE46A1` > > - Domain Hash: `0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b` > - Message Hash: `0x6d94fb1830256047147a93745f0826cac47380b7c57a32625b1259e8a3f8e27c` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Task State Overrides ### CB Signer Safe (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000004` **Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` **Meaning**: Overrides the threshold to 1 so the simulation can occur. ## Task State Changes ### CB Signer Safe (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000003` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000006` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000002` \ **Value Type**: uint256 \ **Decoded Old Value**: 6 \ **Decoded New Value**: 2 \ **Meaning**: Updates the owner count. - **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000004` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000002` \ **Value Type**: uint256 \ **Decoded Old Value**: 1 \ **Decoded New Value**: 2 \ **Meaning**: Updates the safe's signing threshold. The previous value is actually 3, but the state diff presents this way because of the state override above. - **Raw Slot**: `0x0000000000000000000000000000000000000000000000000000000000000005` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000014` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000015` \ **Value Type**: uint256 \ **Decoded Old Value**: 20 \ **Decoded New Value**: 21 \ **Meaning**: Nonce increment. - **Raw Slot**: `0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82` \ **Raw Old Value**: `0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0x6CD3850756b7894774Ab715D136F9dD02837De50` from the owners linked list. Confirm the storage key with `cast index address 0x6CD3850756b7894774Ab715D136F9dD02837De50 2`. - **Raw Slot**: `0x46b3491a8cd829af805c1f7fb76736ca5fd88e02a78fcec356aaa2b41bf599db` \ **Raw Old Value**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993` from the owners linked list. Confirm the storage key with `cast index address 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993 2`. - **Raw Slot**: `0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0x0000000000000000000000000000000000000001` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c` from the owners linked list. Confirm the storage key with `cast index address 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c 2`. - **Raw Slot**: `0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8` \ **Raw Old Value**: `0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E` from the owners linked list. Confirm the storage key with `cast index address 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E 2`. - **Raw Slot**: `0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Raw New Value**: `0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110` \ **Value Type**: address \ **Decoded Old Value**: `0x0000000000000000000000000000000000000000` \ **Decoded New Value**: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` \ **Meaning**: Adds `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` to the owners linked list. Confirm the storage key with `cast index address 0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd 2`. - **Raw Slot**: `0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778` \ **Raw Old Value**: `0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7` from the owners linked list. Confirm the storage key with `cast index address 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7 2`. - **Raw Slot**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0` \ **Raw Old Value**: `0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50` \ **Raw New Value**: `0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd` \ **Value Type**: address \ **Decoded Old Value**: `0x6CD3850756b7894774Ab715D136F9dD02837De50` \ **Decoded New Value**: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` \ **Meaning**: Sets the updated head of the owners linked list to `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`. Confirm storage key with `cast index address 0x0000000000000000000000000000000000000001 2`. - **Raw Slot**: `0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357` \ **Raw Old Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000001` \ **Value Type**: address \ **Decoded Old Value**: `0x0000000000000000000000000000000000000000` \ **Decoded New Value**: `0x0000000000000000000000000000000000000001` \ **Meaning**: Sets the updated tail of the owners linked list to `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`. Confirm storage key with `cast index address 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110 2`. - **Raw Slot**: `0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4` \ **Raw Old Value**: `0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993` \ **Raw New Value**: `0x0000000000000000000000000000000000000000000000000000000000000000` \ **Value Type**: address \ **Decoded Old Value**: `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993` \ **Decoded New Value**: `0x0000000000000000000000000000000000000000` \ **Meaning**: Removes `0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1` from the owners linked list. Confirm the storage key with `cast index address 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1 2`. ### Your Signer Address - Nonce increment ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/addresses.json ================================================ { "SafeA": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "SafeB": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/records/DeploySafes.s.sol/1/run-1745514205.json ================================================ { "transactions": [ { "hash": "0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0x8656c", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [ { "transactionType": "CREATE2", "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false }, { "hash": "0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f0000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0xa7e08", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000284b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [ { "transactionType": "CREATE2", "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x7a0cf1", "logs": [ { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec9900000000000000000000000000000000000000000000000000000000000000060000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c", "blockHash": "0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83", "blockNumber": "0x154e284", "blockTimestamp": "0x680a6ec3", "transactionHash": "0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca", "transactionIndex": "0x4f", "logIndex": "0xf7", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83", "blockNumber": "0x154e284", "blockTimestamp": "0x680a6ec3", "transactionHash": "0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca", "transactionIndex": "0x4f", "logIndex": "0xf8", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008800000000000040000000000000000000500000000000000000000000100000000000000000000000800000000000200000000000000001000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000001000", "type": "0x2", "transactionHash": "0xccd26920dc9b1bdc90df1ebb831bfb0bd8c6a65839f732a73ecf1709daa6b1ca", "transactionIndex": "0x4f", "blockHash": "0x5d7f55c31f609e39e104c87c4fd2b54d272bf04c5b121fdcf65dfa22984e4e83", "blockNumber": "0x154e284", "gasUsed": "0x5bdb1", "effectiveGasPrice": "0xf6edac59", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x67fabe", "logs": [ { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc600000000000000000000000082c80f34c4b5c153db76122a11aad2f77c99e766000000000000000000000000a8ee754fd1d069fb4b5d652730a0ca5e07a3fb060000000000000000000000001c56a6d2a6af643cea4e62e72b75b9bde8d62e2b000000000000000000000000a5657b88a0130a626fcdd6aaa59522373438cdfe00000000000000000000000021c7d1e6a81daca071ba94839ab74c39a25f851f000000000000000000000000a5959a39ca67b9fb473e4a3a898c611eeac9cb7300000000000000000000000018e982274f8c5b548d5aac7abef44d61504e1b3e00000000000000000000000099db5bba0db16e9ad05e3ff53310683cc3c971d20000000000000000000000000e8a99738a50d523871739c6d676554b0e34252f", "blockHash": "0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3", "blockNumber": "0x154e286", "blockTimestamp": "0x680a6edb", "transactionHash": "0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6", "transactionIndex": "0x48", "logIndex": "0xb9", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3", "blockNumber": "0x154e286", "blockTimestamp": "0x680a6edb", "transactionHash": "0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6", "transactionIndex": "0x48", "logIndex": "0xba", "removed": false } ], "logsBloom": "0x00000000000000001000000000000000000000000000000000000008000000000000000000000000800000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000000400000000000000000000000000500000000000000000000000100000000000010000000000800000000000200000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000000000", "type": "0x2", "transactionHash": "0x12c239a869d6ed67758af5f3884a7bf5bae603eb2cc1cfff01cd3e6444b5fed6", "transactionIndex": "0x48", "blockHash": "0xca0e9e49c2efa5f2c6192ceacc1769ec8dc4227580b32c93ce5d49902d7d09c3", "blockNumber": "0x154e286", "gasUsed": "0x72c9b", "effectiveGasPrice": "0xf878246c", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1745514205, "chain": 1, "commit": "a324b9f" } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/records/UpdateSigners.s.sol/1/run-1745938970.json ================================================ { "transactions": [ { "hash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x23081b5afc483c1dca2bb88fc3497339f9425cacdfc810e4acee719ab6bd8df34b42da9cba32cb2c543caa8b7590dc239ea8e5220d269e1c1199599425a746931c7e47a48d29b4eaefa81342a230360ffc4b8273116a38f968def10faa7b8049bc24f06616a727363509798753b321adbcaa39c4aeb2a7c5038ca3e8f2f9b47f631c3da87fcd8b6e0549329e433e635df83d8e61c2830ff8f4eba07f72272a83fbcb60e27b1b05efd9e26bc53cba1ff24bc93d6c472776a44042d564f657cef6b5e61c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x3b096", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000090482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c323081b5afc483c1dca2bb88fc3497339f9425cacdfc810e4acee719ab6bd8df34b42da9cba32cb2c543caa8b7590dc239ea8e5220d269e1c1199599425a746931c7e47a48d29b4eaefa81342a230360ffc4b8273116a38f968def10faa7b8049bc24f06616a727363509798753b321adbcaa39c4aeb2a7c5038ca3e8f2f9b47f631c3da87fcd8b6e0549329e433e635df83d8e61c2830ff8f4eba07f72272a83fbcb60e27b1b05efd9e26bc53cba1ff24bc93d6c472776a44042d564f657cef6b5e61c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xbdbd39", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x169", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16a", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16b", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16c", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16d", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16e", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x16f", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x170", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x171", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf51603cedaa13c518857616fa4e855fe6408f1791b7f99604780990bbd84721a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "blockTimestamp": "0x6810ea17", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "logIndex": "0x172", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000088000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0xfeff9bf53acee54f6f54a90140b893e07ab5e7e2b250b884b1caf2d2d3ea0b0f", "transactionIndex": "0x7e", "blockHash": "0x03c614325cb66093de5d20636b5aaaf652c29db808aba9e24a4304f669cb4010", "blockNumber": "0x1556c3c", "gasUsed": "0x2abde", "effectiveGasPrice": "0x4b57825d", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1745938970, "chain": 1, "commit": "8e14532" } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/script/DeploySafes.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {stdJson} from "forge-std/StdJson.sol"; import {Script} from "forge-std/Script.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; contract DeploySafes is Script { using Strings for address; using stdJson for string; address public constant Z_ADDR = address(0); address public immutable SAFE_IMPLEMENTATION; address public immutable FALLBACK_HANDLER; address public immutable SAFE_PROXY_FACTORY; address public immutable OWNER_SAFE; uint256 public immutable EXPECTED_OWNER_SAFE_THRESHOLD; uint256 public immutable EXPECTED_OWNER_SAFE_OWNER_COUNT; uint256 public immutable OWNER_SAFE_THRESHOLD; uint256 public immutable SAFE_B_THRESHOLD; uint256 public immutable EXPECTED_SAFE_B_OWNER_COUNT; address[] public OWNER_SAFE_OWNERS; address[] public SAFE_B_OWNERS; constructor() { SAFE_IMPLEMENTATION = vm.envAddress("L1_GNOSIS_SAFE_IMPLEMENTATION"); FALLBACK_HANDLER = vm.envAddress("L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER"); SAFE_PROXY_FACTORY = vm.envAddress("SAFE_PROXY_FACTORY"); OWNER_SAFE = vm.envAddress("OWNER_SAFE"); EXPECTED_OWNER_SAFE_THRESHOLD = vm.envUint("EXPECTED_OWNER_SAFE_THRESHOLD"); EXPECTED_OWNER_SAFE_OWNER_COUNT = vm.envUint("EXPECTED_OWNER_SAFE_OWNER_COUNT"); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/signers.json"); string memory jsonData = vm.readFile(path); SAFE_B_OWNERS = abi.decode(jsonData.parseRaw(".signers"), (address[])); Safe ownerSafe = Safe(payable(OWNER_SAFE)); OWNER_SAFE_OWNERS = ownerSafe.getOwners(); OWNER_SAFE_THRESHOLD = ownerSafe.getThreshold(); SAFE_B_THRESHOLD = vm.envUint("SAFE_B_THRESHOLD"); EXPECTED_SAFE_B_OWNER_COUNT = vm.envUint("EXPECTED_SAFE_B_OWNER_COUNT"); } function run() public { require(EXPECTED_OWNER_SAFE_THRESHOLD == 3, "Expected owner safe threshold must be 3"); require(EXPECTED_OWNER_SAFE_OWNER_COUNT == 6, "Expected owner safe owner count must be 6"); require(SAFE_B_THRESHOLD == 7, "Expected safe B threshold must be 7"); require(EXPECTED_SAFE_B_OWNER_COUNT == 10, "Expected safe B owner count must be 10"); require(OWNER_SAFE_THRESHOLD == EXPECTED_OWNER_SAFE_THRESHOLD, "Owner safe threshold must be 3"); require(OWNER_SAFE_OWNERS.length == EXPECTED_OWNER_SAFE_OWNER_COUNT, "Owner safe owners length must be 6"); require(SAFE_B_OWNERS.length == EXPECTED_SAFE_B_OWNER_COUNT, "Safe B owners length must be 10"); console.log("Deploying SafeA with owners:"); _printOwners(OWNER_SAFE_OWNERS); console.log("Deploying SafeB with owners:"); _printOwners(SAFE_B_OWNERS); console.log("Threshold of SafeA:", OWNER_SAFE_THRESHOLD); console.log("Threshold of SafeB:", SAFE_B_THRESHOLD); vm.startBroadcast(); // First safe maintains the same owners + threshold as the current owner safe address safeA = _createAndInitProxy(OWNER_SAFE_OWNERS, OWNER_SAFE_THRESHOLD); // Second safe specifies its own owners + threshold address safeB = _createAndInitProxy(SAFE_B_OWNERS, SAFE_B_THRESHOLD); vm.stopBroadcast(); _postCheck(safeA, safeB); vm.writeFile( "addresses.json", string.concat( "{", "\"SafeA\": \"", safeA.toHexString(), "\",", "\"SafeB\": \"", safeB.toHexString(), "\"" "}" ) ); } function _postCheck(address safeAAddress, address safeBAddress) private view { Safe safeA = Safe(payable(safeAAddress)); Safe safeB = Safe(payable(safeBAddress)); address[] memory safeAOwners = safeA.getOwners(); uint256 safeAThreshold = safeA.getThreshold(); address[] memory safeBOwners = safeB.getOwners(); uint256 safeBThreshold = safeB.getThreshold(); require(safeAThreshold == EXPECTED_OWNER_SAFE_THRESHOLD, "PostCheck 1"); require(safeAOwners.length == EXPECTED_OWNER_SAFE_OWNER_COUNT, "PostCheck 2"); require(safeBThreshold == SAFE_B_THRESHOLD, "PostCheck 3"); require(safeBOwners.length == EXPECTED_SAFE_B_OWNER_COUNT, "PostCheck 4"); for (uint256 i; i < safeAOwners.length; i++) { require(safeAOwners[i] == OWNER_SAFE_OWNERS[i], "PostCheck 5"); } for (uint256 i; i < safeBOwners.length; i++) { require(safeBOwners[i] == SAFE_B_OWNERS[i], "PostCheck 6"); } console.log("PostCheck passed"); } function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) { bytes memory initializer = abi.encodeCall(Safe.setup, (owners, threshold, Z_ADDR, "", FALLBACK_HANDLER, Z_ADDR, 0, payable(Z_ADDR))); return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0)); } function _printOwners(address[] memory owners) private pure { for (uint256 i; i < owners.length; i++) { console.logAddress(owners[i]); } } } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigBuilder} from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {OwnerManager} from "safe-smart-account/contracts/base/OwnerManager.sol"; // Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2 // `SAFE_A` should have same owners as `OWNER_SAFE` // `SAFE_A` should have same threshold as `OWNER_SAFE` // `SAFE_B` should be a 7-of-10 multisig contract UpdateSigners is MultisigBuilder { using stdJson for string; address payable private SAFE_A; address payable private SAFE_B; uint256 internal constant THRESHOLD = 2; address payable internal OWNER_SAFE = payable(vm.envAddress("OWNER_SAFE")); string private ADDRESSES; address[] private A_OWNERS; address[] private B_OWNERS; uint256 private A_THRESHOLD; uint256 private B_THRESHOLD; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); ADDRESSES = vm.readFile(path); SAFE_A = payable(ADDRESSES.readAddress(".SafeA")); SAFE_B = payable(ADDRESSES.readAddress(".SafeB")); A_OWNERS = Safe(SAFE_A).getOwners(); A_THRESHOLD = Safe(SAFE_A).getThreshold(); require(A_OWNERS.length == 6, "A owners length must be 6"); require(A_THRESHOLD == 3, "A threshold must be 3"); B_OWNERS = Safe(SAFE_B).getOwners(); B_THRESHOLD = Safe(SAFE_B).getThreshold(); require(B_OWNERS.length == 10, "B owners length must be 10"); require(B_THRESHOLD == 7, "B threshold must be 7"); address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold(); require(ownerSafeOwners.length == A_OWNERS.length, "Precheck owner count mismatch - A"); require(ownerSafeThreshold == A_THRESHOLD, "Precheck threshold mismatch - A"); for (uint256 i; i < ownerSafeOwners.length; i++) { require(ownerSafeOwners[i] == A_OWNERS[i], "Precheck owner mismatch - A"); } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address[] memory aOwners = Safe(SAFE_A).getOwners(); address[] memory bOwners = Safe(SAFE_B).getOwners(); uint256 aThreshold = Safe(SAFE_A).getThreshold(); uint256 bThreshold = Safe(SAFE_B).getThreshold(); address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold(); require(aThreshold == A_THRESHOLD, "Postcheck new signer threshold mismatch - A"); require(bThreshold == B_THRESHOLD, "Postcheck new signer threshold mismatch - B"); require(aOwners.length == A_OWNERS.length, "Postcheck length mismatch - A"); require(bOwners.length == B_OWNERS.length, "Postcheck length mismatch - B"); require(ownerSafeThreshold == THRESHOLD, "Postcheck owner threshold mismatch"); require(ownerSafeOwners.length == 2, "Postcheck owner count mismatch"); require(ownerSafeOwners[0] == SAFE_B, "Postcheck new signer mismatch - B"); require(ownerSafeOwners[1] == SAFE_A, "Postcheck new signer mismatch - A"); for (uint256 i; i < aOwners.length; i++) { require(aOwners[i] == A_OWNERS[i], "PostCheck 5"); } for (uint256 i; i < bOwners.length; i++) { require(bOwners[i] == B_OWNERS[i], "PostCheck 6"); } } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length); calls[0] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD)) }); calls[1] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD)) }); address prevOwner = SAFE_A; for (uint256 i; i < A_OWNERS.length; i++) { calls[2 + i] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD)) }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-01-15-nested-ownership-transfer/signers.json ================================================ { "signers": [ "0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "0x82C80F34C4b5c153dB76122a11AaD2F77C99E766", "0xa8ee754FD1d069fb4B5d652730A0ca5e07a3fb06", "0x1C56A6d2A6Af643cea4E62e72B75B9bDe8d62e2B", "0xA5657B88A0130a626fcDd6aAA59522373438CdFE", "0x21C7D1e6A81Daca071bA94839ab74C39A25f851F", "0xa5959a39cA67b9fb473E4A3A898C611EEAc9CB73", "0x18e982274f8C5B548D5aAc7aBef44D61504e1b3E", "0x99DB5BbA0db16e9aD05e3ff53310683CC3C971D2", "0x0E8A99738a50D523871739c6d676554b0E34252f" ] } ================================================ FILE: mainnet/2025-01-22-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-01-22-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5) ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 180M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-01-22-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 48 to 49: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000030 After: 0x0000000000000000000000000000000000000000000000000000000000000031 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 252M to 264M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000f053700 After: 0x000000000000000000000000000000000000000000000000000000000fbc5200 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000031 After: 0x0000000000000000000000000000000000000000000000000000000000000032 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000fbc5200 After: 0x000000000000000000000000000000000000000000000000000000000f053700 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-01-22-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-01-22-increase-gas-limit/records/UpgradeGasLimit.sol/1/run-1737568790.json ================================================ { "transactions": [ { "hash": "0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000fbc520000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xc486bff84018a09a6df707288c5cd54995f31a29f184598b2e9280cdca43ff2968123a4cdc2bdb6b95223ad40390229086cf96db08a9eb179c16342d39b717e81ca5ccdb3d6c3e283e11c30a153c176506d3f99e8d1841de5e1b9b346807d641ed008aba2ae175c5b738cfbd046be4ce1caa13c2f3eaa4792c52156582889ea56d1bb667630789dc7f6b7b59b7a096b766ba2d25ac6f1b788594e46489d0acadca4b093e1cec1fe10ddd041fc95c06b7f37ff1a0ea66e5db0e3885e2a099722026d81b" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e730", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000fbc5200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c486bff84018a09a6df707288c5cd54995f31a29f184598b2e9280cdca43ff2968123a4cdc2bdb6b95223ad40390229086cf96db08a9eb179c16342d39b717e81ca5ccdb3d6c3e283e11c30a153c176506d3f99e8d1841de5e1b9b346807d641ed008aba2ae175c5b738cfbd046be4ce1caa13c2f3eaa4792c52156582889ea56d1bb667630789dc7f6b7b59b7a096b766ba2d25ac6f1b788594e46489d0acadca4b093e1cec1fe10ddd041fc95c06b7f37ff1a0ea66e5db0e3885e2a099722026d81b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa68274", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000fbc5200", "blockHash": "0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933", "blockNumber": "0x14ad610", "transactionHash": "0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5", "transactionIndex": "0x7e", "logIndex": "0x114", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5da9d02e3cb60f664d7649cfc79ed3b6c55cd5107d897dff5cae54b4baaa1dab0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933", "blockNumber": "0x14ad610", "transactionHash": "0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5", "transactionIndex": "0x7e", "logIndex": "0x115", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x8d5f102659ce0442a583e69709b82170b9e18e0e693a9b505155ae3bba26e7b5", "transactionIndex": "0x7e", "blockHash": "0xd47dd3d0714ce1557482789b0eaabdcec3bfdc5bd5ccac1cb9d6b86038b4e933", "blockNumber": "0x14ad610", "gasUsed": "0x160b8", "effectiveGasPrice": "0x26686b6d5", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1737568790, "chain": 1, "commit": "c28016b" } ================================================ FILE: mainnet/2025-01-29-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-01-29-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: EXECUTED ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, as defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 288M gas if invoked as part of the "upgrade" process, or revert to the old limit of 264M gas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-01-29-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 49 to 50: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000031 After: 0x0000000000000000000000000000000000000000000000000000000000000032 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 264000000 to 288000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000fbc5200 After: 0x00000000000000000000000000000000000000000000000000000000112a8800 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000032 After: 0x0000000000000000000000000000000000000000000000000000000000000033 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000112a8800 After: 0x000000000000000000000000000000000000000000000000000000000fbc5200 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-01-29-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-02-12-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-02-12-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-02-12-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 51 to 52: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000033 After: 0x0000000000000000000000000000000000000000000000000000000000000034 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000005b8d800 After: 0x0000000000000000000000000000000000000000000000000000000005f5e100 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000034 After: 0x0000000000000000000000000000000000000000000000000000000000000035 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000005f5e100 After: 0x0000000000000000000000000000000000000000000000000000000005b8d800 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-02-12-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-02-12-increase-gas-limit/records/SetGasLimit.sol/1/run-1739387882.json ================================================ { "transactions": [ { "hash": "0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x841ec425f53bd2889e1d3c44d153304b03861816bc475c67d2d9b39521edcbb726340c78bc65dcd032d720ca6fb65d1737f92160748e30a499b6f44f0e7329a01cf471e909b0dc9e6aa175fd2340130892d126dac15d387c7217246edc996647ce36f21956f0a3b21785fab77331a1bb7adb81b44adac0562f157ac619878a0b0f1b888f014868aeadf826a0c8b77faf88faa9ae4fe7f9289ffb2592d35c5c214ce559cf7af30781e7fc58db6d9741735989ee4acc65ca97501dadf3a995ea5c55321c" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e75a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3841ec425f53bd2889e1d3c44d153304b03861816bc475c67d2d9b39521edcbb726340c78bc65dcd032d720ca6fb65d1737f92160748e30a499b6f44f0e7329a01cf471e909b0dc9e6aa175fd2340130892d126dac15d387c7217246edc996647ce36f21956f0a3b21785fab77331a1bb7adb81b44adac0562f157ac619878a0b0f1b888f014868aeadf826a0c8b77faf88faa9ae4fe7f9289ffb2592d35c5c214ce559cf7af30781e7fc58db6d9741735989ee4acc65ca97501dadf3a995ea5c55321c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xe", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb05443", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000005f5e100", "blockHash": "0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259", "blockNumber": "0x14d22fa", "transactionHash": "0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1", "transactionIndex": "0x7c", "logIndex": "0x155", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5f8808f9520ed34b2baedbab7146543b54f8e3890dd40bfe4917f0cccd85439b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259", "blockNumber": "0x14d22fa", "transactionHash": "0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1", "transactionIndex": "0x7c", "logIndex": "0x156", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x6fc570103d7b91929313806022050ad1c24f1edca299a6b1afc77c7155a13da1", "transactionIndex": "0x7c", "blockHash": "0x1d659f61cbeecddde9d0aeb7f4ce79f86052f4b8f2bb9125c53c9f6066981259", "blockNumber": "0x14d22fa", "gasUsed": "0x160d6", "effectiveGasPrice": "0x49ad423d", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1739387882, "chain": 1, "commit": "7ad4d5b" } ================================================ FILE: mainnet/2025-02-19-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-02-19-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-02-19-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 54 to 55: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000036 After: 0x0000000000000000000000000000000000000000000000000000000000000037 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 100000000 to 104000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000005f5e100 After: 0x000000000000000000000000000000000000000000000000000000000632ea00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000037 After: 0x0000000000000000000000000000000000000000000000000000000000000038 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000632ea00 After: 0x0000000000000000000000000000000000000000000000000000000005f5e100 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-02-19-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-02-19-increase-gas-limit/records/SetGasLimit.sol/1/run-1739987678.json ================================================ { "transactions": [ { "hash": "0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000632ea0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xdbd4a13a444cbf1d946d4e72c97ce731d3f7c298d6ee97d3b4c9ff7d72f623647ad9fb32e02eafe87d60dc6fe9650cbe355c3f3f2389f27a0e521ec8710416c81c91dd6b7af4340b39244d432c6856a84e93054ed3810bb25781e6e83d498c837a7e3b1e5d393957912d0016a0f50cc48862334cf65cf2ad0eaf5116cb3b07ed911c63cac3bde2a61793d5e2cda85388ed4c30f6732f10a2b5fa7619ff633daba2104fb914d7e755de4e4de6ae8b60751610edbc4ea20b4ad2a05dc870ce1876a3031c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203f3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000632ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3dbd4a13a444cbf1d946d4e72c97ce731d3f7c298d6ee97d3b4c9ff7d72f623647ad9fb32e02eafe87d60dc6fe9650cbe355c3f3f2389f27a0e521ec8710416c81c91dd6b7af4340b39244d432c6856a84e93054ed3810bb25781e6e83d498c837a7e3b1e5d393957912d0016a0f50cc48862334cf65cf2ad0eaf5116cb3b07ed911c63cac3bde2a61793d5e2cda85388ed4c30f6732f10a2b5fa7619ff633daba2104fb914d7e755de4e4de6ae8b60751610edbc4ea20b4ad2a05dc870ce1876a3031c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xda4010", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000632ea00", "blockHash": "0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301", "blockNumber": "0x14de4b6", "blockTimestamp": "0x67b61adb", "transactionHash": "0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3", "transactionIndex": "0xbd", "logIndex": "0x17b", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x0d1c16809c392b04b126adbb0fa0e6c8716ab9831181f3dd4b0c79797a021cd70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301", "blockNumber": "0x14de4b6", "blockTimestamp": "0x67b61adb", "transactionHash": "0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3", "transactionIndex": "0xbd", "logIndex": "0x17c", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xeac02f2c7bf9aa206dc1cfa36e9083e9686697c91f0473e74ab5621890d97ed3", "transactionIndex": "0xbd", "blockHash": "0x47668fb8ebbed173d2ce9d1642df4439cf7b653bc3202bbf3265856b5a405301", "blockNumber": "0x14de4b6", "gasUsed": "0x160ca", "effectiveGasPrice": "0x41a45694", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1739987678, "chain": 1, "commit": "4bfbe29" } ================================================ FILE: mainnet/2025-02-25-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-02-25-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the "upgrade" process, or revert to the old limit of 104 Mgas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-02-25-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 55 to 56: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000037 After: 0x0000000000000000000000000000000000000000000000000000000000000038 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 104000000 to 108000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000632ea00 After: 0x00000000000000000000000000000000000000000000000000000000066ff300 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000038 After: 0x0000000000000000000000000000000000000000000000000000000000000039 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000066ff300 After: 0x0000000000000000000000000000000000000000000000000000000006a20c00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-02-25-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-02-25-increase-gas-limit/records/SetGasLimit.sol/1/run-1740593054.json ================================================ { "transactions": [ { "hash": "0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000066ff30000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x41488a1027d5baa6d17ae46c0cc5e5dfea048d573e642ec387d1dba8f2bd236969cc7acc9ea506951a520c420c192d0919f9825c3029f9c318a3cbab2782adf71b4513000f1a114386adda65376d46e3273637b76848201799c5d137b7d0c40f5f47cce4a4922a9217e16e164d73b84f27a7e37fe3f82edb0318beb572421324ca1bcb9cf070b8fa682422eb1884281b6566f06a0911bf0b9a177a22750b758a9cac5208958ef95f5c8216171404273409b8b9cff335f06157340f53a14250356d911c" ], "transaction": { "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203f3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000066ff300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c341488a1027d5baa6d17ae46c0cc5e5dfea048d573e642ec387d1dba8f2bd236969cc7acc9ea506951a520c420c192d0919f9825c3029f9c318a3cbab2782adf71b4513000f1a114386adda65376d46e3273637b76848201799c5d137b7d0c40f5f47cce4a4922a9217e16e164d73b84f27a7e37fe3f82edb0318beb572421324ca1bcb9cf070b8fa682422eb1884281b6566f06a0911bf0b9a177a22750b758a9cac5208958ef95f5c8216171404273409b8b9cff335f06157340f53a14250356d911c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd97bb2", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000066ff300", "blockHash": "0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c", "blockNumber": "0x14ea892", "transactionHash": "0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec", "transactionIndex": "0x80", "logIndex": "0x16c", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x12a9032852a095146ad550d30bbb7c3f2750cc0ee9e5fa7729b3879a5f844f4e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c", "blockNumber": "0x14ea892", "transactionHash": "0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec", "transactionIndex": "0x80", "logIndex": "0x16d", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x5a88354da7ce0b8f42b67ba4af43e455988c9cbb2f7c7e7ce1e9478f4ebd58ec", "transactionIndex": "0x80", "blockHash": "0x2a9d388c2d658e17fbf3de136800f882e6559ece9e8ffb2270d42de5d44fcc2c", "blockNumber": "0x14ea892", "gasUsed": "0x160ca", "effectiveGasPrice": "0x647e7eb4", "from": "0x26c72586fb396325f58718152fefa94e93cf177b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1740593054, "chain": 1, "commit": "9b5e28f" } ================================================ FILE: mainnet/2025-03-05-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-03-05-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the "upgrade" process, or revert to the old limit of 104 Mgas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-03-05-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 55 to 56: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000038 After: 0x0000000000000000000000000000000000000000000000000000000000000039 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 104000000 to 108000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x00000000000000000000000000000000000000000000000000000000066ff300 After: 0x0000000000000000000000000000000000000000000000000000000006acfc00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000039 After: 0x000000000000000000000000000000000000000000000000000000000000003a ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006acfc00 After: 0x00000000000000000000000000000000000000000000000000000000066ff300 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-03-05-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-03-05-increase-gas-limit/records/SetGasLimit.sol/1/run-1741194410.json ================================================ { "transactions": [ { "hash": "0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006acfc0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xee10f86fe61655e9d4e74f4764868360ea8763d1861fa79139df6af8826f9e5c08316e92239f47107f3471fcf43b59a40e814ce95caf9fc2795c8606b076dd281c497b62d40410f73d02d97330a5b43da28c81c3fb1a0fd9d65c2b6e65b97cf799230f6f5a0851d9a33995a11afcc77a75539c33d6c8921fe2eb16613ba26cb6251c8dd0323b8f8f606fb2c405006489c9bcab1233025d678054f7b9d02a85729ecf78928444d16bc4b0f997f121f26a2414ab6d963ea9b75738d19f9d1032f9aafa1b" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203f3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006acfc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ee10f86fe61655e9d4e74f4764868360ea8763d1861fa79139df6af8826f9e5c08316e92239f47107f3471fcf43b59a40e814ce95caf9fc2795c8606b076dd281c497b62d40410f73d02d97330a5b43da28c81c3fb1a0fd9d65c2b6e65b97cf799230f6f5a0851d9a33995a11afcc77a75539c33d6c8921fe2eb16613ba26cb6251c8dd0323b8f8f606fb2c405006489c9bcab1233025d678054f7b9d02a85729ecf78928444d16bc4b0f997f121f26a2414ab6d963ea9b75738d19f9d1032f9aafa1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xf", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x114a4c2", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006acfc00", "blockHash": "0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239", "blockNumber": "0x14f6b74", "transactionHash": "0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645", "transactionIndex": "0x95", "logIndex": "0x161", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xebf89c3651c520996802b1ee1c4ae86af24f677fae3b4262bce56eeba953ea9c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239", "blockNumber": "0x14f6b74", "transactionHash": "0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645", "transactionIndex": "0x95", "logIndex": "0x162", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xa0f1c6b7132b770c5136fc6b87e0284ee7767f0066d3415a94e892a5f9c5e645", "transactionIndex": "0x95", "blockHash": "0x92a936502a2902b526c7e30289624fb6ffbc62ec1ad05bed4b24acb8a291f239", "blockNumber": "0x14f6b74", "gasUsed": "0x160ca", "effectiveGasPrice": "0x3c4cd76b", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1741194410, "chain": 1, "commit": "5ef1678" } ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ## # NestedMultisigBuilder commands # The following commands can be used for tasks that utilize the NestedMultisigBuilder. # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. # See more documentation on the various steps in NestedMultisigBuilder.sol. ## # This step is run by signers on the "children" safes .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address)" $(CB_SIGNER_SAFE_ADDR) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address)" $(OP_SIGNER_SAFE_ADDR) # This step is run once per "child" safe, and can be run by anyone (doesn't have to be a signer) .PHONY: approve-cb approve-cb: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address,bytes)" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address,bytes)" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast # This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer) .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/README.md ================================================ # Upgrade Fault Proofs Status: [EXECUTED](https://etherscan.io/tx/0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668) ## Description This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-03-05-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Dispute Game Implementations ```bash make deploy ``` This will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction Coinbase signer: ```bash make sign-cb ``` Op signer: ```bash make sign-op ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make approve` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make approve-cb ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBB make approve-op ``` #### Execute the transaction Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/VALIDATION.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the upgrade transactions. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Expected Domain and Message Hashes > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### CB Signers > > - Domain Hash: `0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b` > - Message Hash: `0x9ef8cce91c002602265fd0d330b1295dc002966e87cd9dc90e2a76efef2517dc` > > ### OP Signers > > - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890` > - Message Hash: `0xc7991c24a74ab490b5fc16fb1ed3b21d1b2feea08a1caa0cf35e2da0be256303` ## Expected Nested Hash `0x327dcf25f029c9623dbd799635f384b0c63acfcdeb2bded32fde3ebc6c878f0d` ## Mainnet State Overrides ### `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Nested Safe [For CB Signers] `0x9855054731540A48b28990B63DcF4f33d8AE46A1` (`CB Nested Safe`) [For OP Signers] `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` (`OP Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ## Mainnet State Changes ### `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000007`
**Meaning**: Nonce increment. #### For CB Signers - **Key**: `0x8cb5f50dcfb02589430ed0b4a4f27b2874c87b778dee6e2a74b223075947171c`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets an approval for this transaction from the signer. **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` #### For OP Signers - **Key**: `0xf248e3d2bff4db2695f9a01b649a5d616c363e8f02c966a13778d0c4e7047c67`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets an approval for this transaction from the signer. **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` ### `0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e` (`DisputeGameFactory`) - **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x000000000000000000000000f62c15e2f99d4869a925b8f57076cd85335832a2`
**After**: `0x0000000000000000000000008cf5972cedf63b099406b3e7da81566885453d8e`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0xF62c15e2F99d4869A925B8F57076cD85335832A2` to `0x8cf5972cedf63b099406b3e7da81566885453d8e`. **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal. - **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x000000000000000000000000c5f3677c3c56db4031ab005a3c9c98e1b79d438e`
**After**: `0x000000000000000000000000fe884b822eddb5864e86626e088120c73c0a4364`
**Meaning**: Updates the `FaultDisputeGame` implementation address from `0xc5f3677c3C56DB4031ab005a3C9c98e1B79D438e` to `0xfe884b822eddb5864e86626e088120c73c0a4364`. **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal. ### Nested Safe [For CB Signers] `0x9855054731540A48b28990B63DcF4f33d8AE46A1` (`CB Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000012`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000013`
**Meaning**: Nonce increment. [For OP Signers] `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` (`OP Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000065`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000066`
**Meaning**: Nonce increment. ### Signing Address Nonce increment. ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/addresses.json ================================================ { "faultDisputeGame": "0xfe884b822eddb5864e86626e088120c73c0a4364", "permissionedDisputeGame": "0x8cf5972cedf63b099406b3e7da81566885453d8e" } ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/1/run-1742911814.json ================================================ { "transactions": [ { "hash": "0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0xfe884b822eddb5864e86626e088120c73c0a4364", "function": null, "arguments": [ "0", "0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568", "73", "30", "10800", "302400", "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C", "0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8", "0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf", "8453" ], "transaction": { "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "gas": "0x674aa9", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x9fb4d1524e8076b61f33cf659f44b61180a2ad035726a28d28e74ff57c931f4c", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x8cf5972cedf63b099406b3e7da81566885453d8e", "function": null, "arguments": [ "1", "0x03f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f83568", "73", "30", "10800", "302400", "0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C", "0x3E8a0B63f57e975c268d610ece93da5f78c01321", "0xdB9091e48B1C42992A1213e6916184f9eBDbfEDf", "8453", "0x642229f238fb9dE03374Be34B0eD8D9De80752c5", "0x8Ca1E12404d16373Aef756179B185F27b2994F3a" ], "transaction": { "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "gas": "0x6a01f8", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103f89406817db1ed7fd8b31e13300444652cdb0b9c509a674de43483b2f835680000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000005fe03a12c1236f9c22cb6479778ddaa4bce6299c0000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000db9091e48b1c42992a1213e6916184f9ebdbfedf0000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5f0e06", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xac0db12a427a31ccbaf4a154cf6d5acf0b83c791a4bd7f93a54c9b150b9aa668", "transactionIndex": "0xb", "blockHash": "0xa4d3dc42b104ad9cbffa9c19a10c2dbce7380ce3a24220f075cf2ba528f17dff", "blockNumber": "0x1519786", "gasUsed": "0x4f7ae2", "effectiveGasPrice": "0x224f7eb1", "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "to": null, "contractAddress": "0xfe884b822eddb5864e86626e088120c73c0a4364" }, { "status": "0x1", "cumulativeGasUsed": "0x8a99fc", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9fb4d1524e8076b61f33cf659f44b61180a2ad035726a28d28e74ff57c931f4c", "transactionIndex": "0x15", "blockHash": "0xc212f8e60e34a0599d7509868780de6eec84c880b39f71eb97b6ebe9367b51e2", "blockNumber": "0x1519787", "gasUsed": "0x5191f1", "effectiveGasPrice": "0x227b6f02", "from": "0x49243dce94e0f5a1b08b9556bbec5a84363c3839", "to": null, "contractAddress": "0x8cf5972cedf63b099406b3e7da81566885453d8e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1742911814, "chain": 1, "commit": "4b7de5b" } ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import { FaultDisputeGame, IAnchorStateRegistry, IDelayedWETH, IBigStepper } from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); DisputeGameFactory dgfProxy; uint256 maxGameDepth; uint256 splitDepth; uint256 l2ChainId; address proposer; address challenger; Duration clockExtension; Duration maxClockDuration; IDelayedWETH faultDisputeGameWeth; IDelayedWETH permissionedDisputeGameWeth; IAnchorStateRegistry anchorStateRegistry; IBigStepper bigStepper; function setUp() public { dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); absolutePrestate = currentFdg.absolutePrestate(); maxGameDepth = currentFdg.maxGameDepth(); splitDepth = currentFdg.splitDepth(); clockExtension = currentFdg.clockExtension(); maxClockDuration = currentFdg.maxClockDuration(); bigStepper = currentFdg.vm(); faultDisputeGameWeth = currentFdg.weth(); anchorStateRegistry = currentFdg.anchorStateRegistry(); l2ChainId = currentFdg.l2ChainId(); permissionedDisputeGameWeth = currentPdg.weth(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); } function run() public { (address fdg, address pdg) = _deployContracts(); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { vm.startBroadcast(); address fdg = address( new FaultDisputeGame( GameTypes.CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, faultDisputeGameWeth, anchorStateRegistry, l2ChainId ) ); address pdg = address( new PermissionedDisputeGame( GameTypes.PERMISSIONED_CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, permissionedDisputeGameWeth, anchorStateRegistry, l2ChainId, proposer, challenger ) ); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: mainnet/2025-03-05-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {NestedMultisigBuilder} from "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {GameTypes, GameType, Duration, Hash} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {FaultDisputeGame} from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is NestedMultisigBuilder { using stdJson for string; address internal _OWNER_SAFE = vm.envAddress("OWNER_SAFE"); DisputeGameFactory dgfProxy; address fdgImpl; address pdgImpl; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = DisputeGameFactory(SystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(GameTypes.CANNON, fdgImpl); _precheckDisputeGameImplementation(GameTypes.PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(GameType targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType.raw()); FaultDisputeGame currentImpl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(targetGameType)))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } FaultDisputeGame faultDisputeGame = FaultDisputeGame(newImpl); require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), "10"); require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), "20"); require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require( uint64(Duration.unwrap(currentImpl.maxClockDuration())) == uint64(Duration.unwrap(faultDisputeGame.maxClockDuration())), "70" ); require( uint64(Duration.unwrap(currentImpl.clockExtension())) == uint64(Duration.unwrap(faultDisputeGame.clockExtension())), "80" ); if (targetGameType.raw() == GameTypes.PERMISSIONED_CANNON.raw()) { PermissionedDisputeGame currentPDG = PermissionedDisputeGame(address(currentImpl)); PermissionedDisputeGame permissionedDisputeGame = PermissionedDisputeGame(address(faultDisputeGame)); require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), "90"); require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(address(dgfProxy.gameImpls(GameTypes.CANNON)) == fdgImpl, "post-110"); require(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)) == pdgImpl, "post-120"); _postcheckHasAnchorState(GameTypes.CANNON); _postcheckHasAnchorState(GameTypes.PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(GameType gameType) internal view { console.log("check anchor state exists", gameType.raw()); FaultDisputeGame impl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(gameType)))); (Hash root, uint256 rootBlockNumber) = FaultDisputeGame(address(impl)).anchorStateRegistry().anchors(gameType); require(root.raw() != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2); calls[0] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(DisputeGameFactory.setImplementation, (GameTypes.CANNON, IDisputeGame(fdgImpl))) }); calls[1] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall( DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(pdgImpl)) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return _OWNER_SAFE; } } ================================================ FILE: mainnet/2025-03-19-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-03-19-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the "upgrade" process, or revert to the old limit of 104 Mgas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-03-19-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 57 to 58: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000039 After: 0x000000000000000000000000000000000000000000000000000000000000003a ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 112000000 to 116000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006acfc00 After: 0x0000000000000000000000000000000000000000000000000000000006ea0500 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003a After: 0x000000000000000000000000000000000000000000000000000000000000003b ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006ea0500 After: 0x0000000000000000000000000000000000000000000000000000000006acfc00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-03-19-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-03-19-increase-gas-limit/records/SetGasLimit.sol/1/run-1742400711.json ================================================ { "transactions": [ { "hash": "0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006ea050000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x48a4751f2f4641c6b81d78bc061413b140e8f0324e7d9d5cb44b30014d2e7a5f649a708bff88e1029c1346abd523627523e45ffa9c8876fee3a5d3978fef7a0d1ba26b700c992d5cfdba40a926a625b8713360ae7bb21cf77ce52764a4cfe12e6b2d306c904ca174b0e84d1d388e432511d0ebca5c53cd71790f06816842645af81bdf49a9fe0f8f74e482f866e51441cdc448300a1be5cc149c5acd5cb9f0ef3dfb013f49feae871c78dd84cef7787769cfe62527489772fe70f6e44fdc5158dc311c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e75a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000006ea0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c348a4751f2f4641c6b81d78bc061413b140e8f0324e7d9d5cb44b30014d2e7a5f649a708bff88e1029c1346abd523627523e45ffa9c8876fee3a5d3978fef7a0d1ba26b700c992d5cfdba40a926a625b8713360ae7bb21cf77ce52764a4cfe12e6b2d306c904ca174b0e84d1d388e432511d0ebca5c53cd71790f06816842645af81bdf49a9fe0f8f74e482f866e51441cdc448300a1be5cc149c5acd5cb9f0ef3dfb013f49feae871c78dd84cef7787769cfe62527489772fe70f6e44fdc5158dc311c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa422e1", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000006ea0500", "blockHash": "0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab", "blockNumber": "0x150f1ea", "blockTimestamp": "0x67daecc3", "transactionHash": "0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec", "transactionIndex": "0x98", "logIndex": "0x122", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x3e9675ccacd24f91d050daea3f28cfd57d42cce6d1ac6d9665e1d3782f272e9e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab", "blockNumber": "0x150f1ea", "blockTimestamp": "0x67daecc3", "transactionHash": "0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec", "transactionIndex": "0x98", "logIndex": "0x123", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x326789ce7962c3605511b6bf216d28ea9555e12482eb6700c3b6d0acf8b9b3ec", "transactionIndex": "0x98", "blockHash": "0xeed006bfbeef7447162ba5864057470787073685af8cd6c05726bdb25571ecab", "blockNumber": "0x150f1ea", "gasUsed": "0x160d6", "effectiveGasPrice": "0x5b1f5917", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1742400711, "chain": 1, "commit": "42d3e25" } ================================================ FILE: mainnet/2025-03-26-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-03-26-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 108 Mgas if invoked as part of the "upgrade" process, or revert to the old limit of 104 Mgas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-03-26-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 58 to 59: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003a After: 0x000000000000000000000000000000000000000000000000000000000000003b ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 116000000 to 120000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000006ea0500 After: 0x0000000000000000000000000000000000000000000000000000000007270e00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003b After: 0x000000000000000000000000000000000000000000000000000000000000003c ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007270e00 After: 0x0000000000000000000000000000000000000000000000000000000006ea0500 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-03-26-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-03-26-increase-gas-limit/records/SetGasLimit.sol/1/run-1743002773.json ================================================ { "transactions": [ { "hash": "0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007270e0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2c6f159ae248018bc80d947d9a2a2fcae4090bcd7333c97462c68a31c7647fa82d4fa2c69ebbe6313d3d2389c43fc02cadc7cbf0ef8ef792f90aab09228f55b91c4f8484a3bfc6f100d07a76f99811ed02deeaf9fbd38f85544b9d7a163ab49d8c1572249bdae523c0fe771aa08d57569edf7682463a92c37d1b951770d17bebe71c5d7b61cf5fec33ca3b3282649abbf93e50a03a1bca0dce06d49b51eb188fe84b0b4b0b122b95be5e283d981397c01820c1aee67e6d27f4340b22cfcc0279be911c" ], "transaction": { "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x203f3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007270e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32c6f159ae248018bc80d947d9a2a2fcae4090bcd7333c97462c68a31c7647fa82d4fa2c69ebbe6313d3d2389c43fc02cadc7cbf0ef8ef792f90aab09228f55b91c4f8484a3bfc6f100d07a76f99811ed02deeaf9fbd38f85544b9d7a163ab49d8c1572249bdae523c0fe771aa08d57569edf7682463a92c37d1b951770d17bebe71c5d7b61cf5fec33ca3b3282649abbf93e50a03a1bca0dce06d49b51eb188fe84b0b4b0b122b95be5e283d981397c01820c1aee67e6d27f4340b22cfcc0279be911c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x10", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa90f82", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007270e00", "blockHash": "0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8", "blockNumber": "0x151b500", "transactionHash": "0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93", "transactionIndex": "0x91", "logIndex": "0x119", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xec12a7a696d4613ec1397198b190dbdf2bdc02a5639f65b55f7515d0ba6d9d730000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8", "blockNumber": "0x151b500", "transactionHash": "0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93", "transactionIndex": "0x91", "logIndex": "0x11a", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x797e6976cfc1e3b332e9ead3c8eb81fab30a928819922e176b388644aad3ab93", "transactionIndex": "0x91", "blockHash": "0xc242ff2a04f2356867effe57395a2c50f5ab203312934f5c029b81b17f5760b8", "blockNumber": "0x151b500", "gasUsed": "0x160ca", "effectiveGasPrice": "0x53cb2bf3", "from": "0x73565876170a336fa02fde34eed03e3121f70ba6", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743002773, "chain": 1, "commit": "d47cce1" } ================================================ FILE: mainnet/2025-04-07-init-smart-escrow-ownership-transfer/Makefile ================================================ include ../../Makefile include ../.env include .env L2_RPC_URL=https://mainnet.optimism.io ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \ --sig "sign(address)" $(CB_SIGNER_SAFE_ADDR) .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \ --sig "sign(address)" $(OP_SIGNER_SAFE_ADDR) .PHONY: approve-cb approve-cb: forge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \ --sig "approve(address,bytes)" $(CB_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-op approve-op: forge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \ --sig "approve(address,bytes)" $(OP_SIGNER_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute execute: forge script --rpc-url $(L2_RPC_URL) InitOwnershipTransfer \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-04-07-init-smart-escrow-ownership-transfer/README.md ================================================ # Initiate SmartEscrow Ownership Transfer Status: PENDING ## Description We wish to update the owner of our [SmartEscrow](https://optimistic.etherscan.io/address/0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) contract on OP Mainnet to be the aliased address of our L1 [ProxyAdminOwner](https://etherscan.io/address/0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c). The `SmartEscrow` contract inherits access control mechanisms from OpenZeppelin's `AccessControlDefaultAdminRules`, which requires an ownership transfer to be invoked in two separate steps: 1. Initiate the transfer to a new owner from the existing owner 2. Accept the transfer from the pending new owner after a configured delay This task represents the initiation step. A subsequent task will be written for ownership acceptance after a 5 day delay. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-04-07-init-smart-escrow-ownership-transfer make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### Sign the transaction Coinbase signer: ```bash make sign-cb ``` Op signer: ```bash make sign-op ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is OP Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Approve the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make approve` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make approve-cb ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBB make approve-op ``` #### Execute the transaction Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: mainnet/2025-04-07-init-smart-escrow-ownership-transfer/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Child Safe 1: `0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6` (Base) > > - Domain Hash: `0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1` > - Message Hash: `0x3a25fa618752b5d5408cef7c063ff8f08f6a833e3ac131666452d099c4cb1896` > > ### Child Safe 2: `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0` (Optimism Foundation) > > - Domain Hash: `0xb34978142f4478f3e5633915597a756daa58a1a59a3e0234f9acd5444f1ca70e` > - Message Hash: `0x810c12369f2efe81a2a6825b3b41e8d9b4315ba44fdf286ff23d5c4637755689` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### `0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940` (`ProxyAdminOwner` on OP Mainnet) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Nested Safe [For CB Signers] `0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6` (`CB Nested Safe`) [For OP Signers] `0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0` (`OP Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940
  Contract:          ProxyAdminOwner - OP Mainnet
  Chain ID:          10
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000002
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000003
  Decoded Kind:      uint256
  Decoded Old Value: 2
  Decoded New Value: 3

  Summary:           Increment nonce in ProxyAdminOwner

----- DecodedStateDiff[1] -----
  Who:               0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940
  Contract:          ProxyAdminOwner - OP Mainnet
  Chain ID:          10
  Raw Slot:          0xe23f453082938f6d8fda616d15a8d5919aec431dff18fc69ddf7fd4cd01bd59e
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Transaction approval
  Detail:            Approves the ownership transfer initiation transaction on behalf of the signing safe. The slot derivation depends on which safe is being signed for. This can be derived with `cast index bytes32 0xd806ab578902502aa5b3caf2d4a5d03b14a9e9522c8b9214ba4e05af1c39e2f4 $(cast index address $SIGNER_SAFE 8)`. For OP signers, the slot should be `0x8f6ea3dc592330bb5d3d2f07897e65e16fda3259be1ad4bc00d0033f29399eee`.
----- DecodedStateDiff[2] -----
  Who:               0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6 or 0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0
  Contract:          Signer Safe - OP Mainnet
  Chain ID:          10
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Increment nonce in Signer safe

----- DecodedStateDiff[3] -----
  Who:               0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f
  Contract:          SmartEscrow - OP Mainnet
  Chain ID:          10
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000001
  Raw Old Value:     0x0000000697800000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000069780000067fba22c8cc51c3008b3f03fe483b28b8db90e19cf076a6d
  Decoded Kind:      uint48, uint48, address
  Decoded Old Value: 432000, 0, 0x0000000000000000000000000000000000000000
  Decoded New Value: 432000, 1744544300, 0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d

  Summary:           Sets the pending default admin for SmartEscrow
  Detail:            This is a packed storage slot containing three values: `_currentDelay`, `_pendingDefaultAdminSchedule` and `_pendingDefaultAdmin`. The `_currentDelay` is set to 432000 which is 5 days (in seconds). `_pendingDefaultAdminSchedule` gets set to `block.timestamp + _currentDelay`. NOTE: the `_pendingDefaultAdminSchedule` may be different from what you see in you Tenderly simulation - this is ok! It's derived based on the current block.timestamp. The `_pendingDefaultAdmin` address gets set to `0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d` which is the aliased address of `0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c` (`ProxyAdminOwner`).

ATTENTION TASK REVIEWER: It is safe to continue if `_pendingDefaultAdminSchedule` is different than what is seen in the Tenderly state diff.

----- Additional Balance Changes -----
  Who:               0x420000000000000000000000000000000000001A
  Contract:          L1FeeValue - OP Mainnet
  Chain ID:          10
  Old Balance:       1892652089755161
  New Balance:       1892663085405498

  Summary:           L1 fees collected from the transaction
  Detail:            Note: these values may differ from what you see in the Tenderly simulation - that is ok!

----- Additional Nonce Changes -----
  Who:               0x6CD3850756b7894774Ab715D136F9dD02837De50

  Details:           Nonce Updates for all addresses listed above.
  Summary:
    - 0x6CD3850756b7894774Ab715D136F9dD02837De50 is the caller
================================================ FILE: mainnet/2025-04-07-init-smart-escrow-ownership-transfer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-04-07-init-smart-escrow-ownership-transfer/script/InitOwnershipTransfer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {NestedMultisigBuilder} from "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import {AccessControlDefaultAdminRules} from "@openzeppelin/contracts/access/AccessControlDefaultAdminRules.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; contract InitOwnershipTransfer is NestedMultisigBuilder { using AddressAliasHelper for address; address public immutable OWNER_SAFE; address public immutable L1_SAFE; address public immutable TARGET; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); L1_SAFE = vm.envAddress("L1_SAFE"); TARGET = vm.envAddress("TARGET"); } // Confirm the proxy admin owner is now the pending admin of SmartEscrow function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { AccessControlDefaultAdminRules target = AccessControlDefaultAdminRules(TARGET); (address pendingAdmin,) = target.pendingDefaultAdmin(); require(pendingAdmin == L1_SAFE.applyL1ToL2Alias(), "Pending admin is not L1_SAFE"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: TARGET, allowFailure: false, callData: abi.encodeCall(AccessControlDefaultAdminRules.beginDefaultAdminTransfer, (L1_SAFE.applyL1ToL2Alias())) }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/Makefile ================================================ include ../../Makefile include ../.env include .env SCRIPT = OwnershipTransfer ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deps deps: go install github.com/jackchuma/state-diff@v0.0.1-rc.5 .PHONY: gen-validation gen-validation: $(GOPATH)/bin/state-diff --rpc $(L2_RPC_URL) -o VALIDATION.md \ -- forge script --rpc-url $(L2_RPC_URL) $(SCRIPT) \ --sig "sign(address[])" [] --sender 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) $(SCRIPT) --sig "sign(address[])" [] .PHONY: execute execute: forge script --rpc-url $(L2_RPC_URL) \ $(SCRIPT) --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/README.md ================================================ # Update FeeDispurser Ownership Status: EXECUTED (https://basescan.org/tx/0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351) ## Description This task updates the owner of our [FeeDispurser](https://basescan.org/address/0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA) contract on Base to be the aliased address of our [L1 upgrade multisig](https://etherscan.io/address/0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110). ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-04-07-update-fee-disperser-ownership make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Base. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### CB Signer Safe - Base Mainnet: `0xd94E416cf2c7167608B2515B7e4102B41efff94f` > > - Domain Hash: `0xd16e718462d25bb73b8c6aba4611b4bc91c8e12dbf5180f9cd42af8080cffae9` > - Message Hash: `0x5595fa81192e986455f2270dc4341488deef7151bf5729f7997db641d4a01981` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### CB Signer Safe - Base Mainnet (`0xd94E416cf2c7167608B2515B7e4102B41efff94f`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. ## Task State Changes ### Fee Dispurser - Base Mainnet (`0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA`) 0. **Key**: `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
**Before**: `0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f`
**After**: `0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221`
**Value Type**: address
**Decoded Old Value**: `0xd94E416cf2c7167608B2515B7e4102B41efff94f`
**Decoded New Value**: `0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221`
**Meaning**: Updates the proxy admin
### CB Signer Safe - Base Mainnet (`0xd94E416cf2c7167608B2515B7e4102B41efff94f`) 1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**After**: `0x000000000000000000000000000000000000000000000000000000000000000a`
**Value Type**: uint256
**Decoded Old Value**: `9`
**Decoded New Value**: `10`
**Meaning**: Increments the nonce
### Your Signer Address - Nonce increment You can now navigate back to the [README](./README.md/#32-validate-correctness-of-the-state-diff) to continue the signing process. ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/records/OwnershipTransfer.s.sol/8453/run-1749317765.json ================================================ { "transactions": [ { "hash": "0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351", "transactionType": "CALL", "contractName": null, "contractAddress": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b22100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x68801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "gas": "0x20bf3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c368801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x219c93c", "logs": [ { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000248f283970000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c368801fb4d3cb591cd71eee38abb07aa44a0d98e910633cad9b7bb7038104b30c596179bb37f0812be9479db30403a40dde8d3b0381d38da214b2fc085eb361ef1bb2f22c2e66a59a608970e64431ff501ecfd4af1778dd4aa76d1d7e892dc0c9e713bf51cd51005e66c18fa6e65e1437236f125691cb674fb3da6028b223c646bf1c894251e5b2cfe7a5978c377c6b246e4fed1c016c365ac765d6b6a90e59ae66e2204fc53714955405be5a8154014f3d428277ec8354fb3d382c6f7249ec9a44b21c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000009000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208", "blockNumber": "0x1dd0dd0", "transactionHash": "0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351", "transactionIndex": "0x90", "logIndex": "0x166", "removed": false }, { "address": "0x09c7bad99688a55a2e83644bfaed09e62bdcccba", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000d94e416cf2c7167608b2515b7e4102b41efff94f000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221", "blockHash": "0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208", "blockNumber": "0x1dd0dd0", "transactionHash": "0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351", "transactionIndex": "0x90", "logIndex": "0x167", "removed": false }, { "address": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x92e349a39ace7e6b34f188a34b38fcbc9beba9311fe7d4883532a96e4d497cf00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208", "blockNumber": "0x1dd0dd0", "transactionHash": "0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351", "transactionIndex": "0x90", "logIndex": "0x168", "removed": false } ], "logsBloom": "0x00000000400100000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000008000000800000000000000000000000000000000010000000000000000000000000000000000000000000000000800000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000400000000000000020000000000020000000000100000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3e6e5afba12c7f16b52e0ca4c6ef3d7e069d39d91dda86672d7f8231cf79a351", "transactionIndex": "0x90", "blockHash": "0x5b38dba51d06af67a719dab2aa147421ed772a44065bd3d259b0f396e3787208", "blockNumber": "0x1dd0dd0", "gasUsed": "0x16642", "effectiveGasPrice": "0xd306a", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xd94e416cf2c7167608b2515b7e4102b41efff94f", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x2cf5a480b", "l1GasPrice": "0x38857e49", "l1GasUsed": "0x15e9" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749317765, "chain": 8453, "commit": "2ac0ef1" } ================================================ FILE: mainnet/2025-04-07-update-fee-disperser-ownership/script/OwnershipTransfer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Proxy} from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; contract OwnershipTransfer is MultisigScript { using AddressAliasHelper for address; address public immutable OWNER_SAFE; address public immutable L1_SAFE; address public immutable TARGET; bytes32 public constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); L1_SAFE = vm.envAddress("L1_SAFE"); TARGET = vm.envAddress("TARGET"); } // Confirm the aliased L1 proxy admin owner is now the owner of the fee dispurser function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { address expectedAdmin = L1_SAFE.applyL1ToL2Alias(); vm.prank(expectedAdmin); address admin = Proxy(payable(TARGET)).admin(); require(admin == expectedAdmin, "Admin is not L1_SAFE"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: TARGET, allowFailure: false, callData: abi.encodeCall(Proxy.changeAdmin, (L1_SAFE.applyL1ToL2Alias())), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(OP_SIGNER_SAFE_ADDR)] .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address[],bytes)" [$(OP_SIGNER_SAFE_ADDR)] $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)] .PHONY: sign-sc sign-sc: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)] .PHONY: approve-cb approve-cb: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address[],bytes)" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)] $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-sc approve-sc: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address[],bytes)" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)] $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-coordinator approve-coordinator: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address[],bytes)" [$(COORDINATOR_SAFE_ADDR)] 0x \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "run(bytes)" 0x --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: gen-validation-op gen-validation-op: if [ ! -d validations ]; then mkdir validations; fi $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(OP_SIGNER_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 .PHONY: gen-validation-cb gen-validation-cb: if [ ! -d validations ]; then mkdir validations; fi $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/cb_test.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(CB_SIGNER_SAFE),$(COORDINATOR_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 .PHONY: gen-validation-sc gen-validation-sc: if [ ! -d validations ]; then mkdir validations; fi $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/sc_test.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address[])" [$(SECURITY_COUNCIL_SAFE),$(COORDINATOR_SAFE_ADDR)] --sender 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/README.md ================================================ # Upgrade 15 - Fault Proof Upgrades for Isthmus Status: [EXECUTED](https://etherscan.io/tx/0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718) ## Description This task upgrades the smart contracts as part of [Upgrade 15](https://docs.optimism.io/notices/upgrade-15) (governance approval [here](https://vote.optimism.io/proposals/8705916809146420472067303211131851783087744913535435360574720946039078686841)). Several contract changes needed for Isthmus were already included in Upgrade 14, so this upgrade mostly updates the fault proof contracts to be compatible with other changes in Isthmus. This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. If this is your first signing task, follow the initial setup instructions below. If you have previously signed tasks in this repo, you can skip directly to the [Procedure](#procedure). ## Initial Setup These instructions are for initial setup of your development environment to install basic tools (e.g Go, Git etc.) needed for the rest of the README. ### 1. Install Homebrew Open your terminal and run the following command: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` ### 2. Once the installation completes, follow next steps You should see "next steps" in your terminal. Copy/paste the suggested commands. They should look like: ```bash echo >> /Users/yourname/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/yourname/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" ``` ### 3. Install Golang ```bash brew install go ``` ### 4. Install Foundry if Needed Inside Terminal run: ```bash forge --version ``` If you see an output that starts with `forge Version`, you have foundry installed and can proceed to the next step. If you do not get an output from `forge --version`, you need to install foundry with: ```bash curl -L https://foundry.paradigm.xyz | bash ``` After installation completes, quit / re-open your terminal and run: ```bash foundryup ``` If you see a `libusb` warning (`warning: libusb not found...`), you can safely ignore it and continue to the next step. ### 5. Make a free [Tenderly](https://tenderly.co/) account if you don't already have one. We will use this later on for simulating and validating the task transaction. ### 6. Clone Repo Inside Terminal run: ```bash git clone https://github.com/base/contract-deployments.git ``` ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-04-23-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Connect and unlock your Ledger with your 8-digit pin. Open the Ethereum application on Ledger so it displays the message "Application is ready". ### 3. Produce Simulation Run one of the following commands in your terminal based on which signer you are. Please note that blind signing must first be enabled on your Ledger. Security Council signer: ```bash make sign-sc ``` Coinbase signer: ```bash make sign-cb ``` Optimism signer: ```bash make sign-op ``` You will see a "Simulation link" from the output (yes, it's a big link). Paste the URL from your terminal in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. If you see the following text after the link in your terminal, "Insert the following hex into the 'Raw input data' field:", the following 2 steps are required. 1. Click the "Enter raw input data" option towards the bottom of the `Contract` component on the left side of your screen in Tenderly. 2. Paste the data string below "Insert the following hex into the 'Raw input data' field:" in your terminal into the "Raw input data" field. Click "Simulate Transaction". Example link below (just for reference): ```txt https://dashboard.tenderly.co/TENDERLY_USERNAME/TENDERLY_PROJECT/simulator/new?network=1&contractAddress=0xcA11bde05977b3631167028862bE2a173976CA11&from=0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38&stateOverrides=%5B%7B"contractAddress":"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D,%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000003","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D,%7B"key":"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0","value":"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11"%7D,%7B"key":"0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D,%7B"contractAddress":"0x9855054731540A48b28990B63DcF4f33d8AE46A1","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D,%7B"contractAddress":"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D%5D ``` ### 4. Validate Simulation We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. > [!NOTE] > Ensure you have "Dev Mode" turned on in Tenderly for these validations. This switch is usually located towards the top right of the Tenderly UI. #### 4.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. #### 4.2. Validate correctness of the state diff. Now click on the "State" tab. - If **Security Council Signer** refer to the [Security Council State Validations](./validations/SC.md) instructions for the transaction you are signing. - If **CB Signer** refer to the [CB State Validations](./validations/CB.md) instructions for the transaction you are signing. - If **OP Signer** refer to the [OP State Validations](./validations/OP.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. #### 4.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab in the Tenderly UI, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash, in the format: **`0x1901[domain hash][message hash]`**. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 5. Sign the Transaction Once the validations are done, it's time to actually sign the transaction. **Note: if your ledger is displaying the lock screen, you will need to unlock your Ledger again before running the sign command.** > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is your ledger address. ### 6. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/addresses.json ================================================ {"faultDisputeGame": "0xab91fb6cef84199145133f75cbd96b8a31f184ed","permissionedDisputeGame": "0x7344da3a618b86cda67f8260c0cc2027d99f5b49"} ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/1/run-1745860191.json ================================================ { "transactions": [ { "hash": "0x0d255db3c8490310d1e4559f5b3333d16875be63f94fac356388f61b0563980a", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0xab91fb6cef84199145133f75cbd96b8a31f184ed", "function": null, "arguments": [ "(0, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0xa2f2aC6F5aF72e494A227d79Db20473Cf7A1FFE8, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 8453)" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "gas": "0x529235", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620052163803806200521683398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000b7f1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620030a61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000b7f1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516149de620008386000396000818161068c01528181611a3401528181611a9e0152611ad001526000818161098b0152612ffe01526000818161060f01528181611f960152818161203e015281816120b4015281816121ce0152612522015260008181610515015281816114b00152818161157a01528181611e1a015261245a01526000818161081c015281816124f9015261306a0152600081816104c10152818161194d01528181612bab0152612d640152600081816109de01528181610d63015281816118d601528181611aff01528181611b5a015281816126f80152612738015260008181610a11015281816117930152818161185f01528181611a6f01528181612a5401528181612ee5015281816134e401528181613a1401528181613b2f01528181613b8d0152613bd8015260008181610ab80152818161181b015281816119210152818161277c015281816127e9015281816129ed0152612a750152600081816107410152612af801526149de6000f3fe6080604052600436106102e45760003560e01c80636f03440911610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a65578063fa24f74314610a85578063fa315aa914610aa9578063fe2bbeb214610adc57600080fd5b8063dabd396d146109cf578063ec5e630814610a02578063eff0f59214610a3557600080fd5b8063c395e1ca146108a8578063c6f0308c146108c8578063cf09e0d01461093c578063d5d44d801461095c578063d6ae3cd51461097c578063d8cc1a3c146109af57600080fd5b80638b85902b11610149578063bbdc02db11610123578063bbdc02db14610805578063bcef3b5514610846578063bd8da9561461085b578063c0d8bb741461087b57600080fd5b80638b85902b1461071d5780638d450a9514610732578063a445ece61461076557600080fd5b80636f034409146106b057806370872aa5146106c3578063786b844b146106d85780637b0f0adc146106ed5780638129fc1c146107005780638980e0cc1461070857600080fd5b80633a7684631161024f57806357da950e11610208578063609d3334116101e2578063609d33341461063357806360e27464146106485780636361506d146106685780636b6716c01461067d57600080fd5b806357da950e146105b05780635a5fa2d9146105e05780635c0cba331461060057600080fd5b80633a768463146104b25780633e3ac912146104e55780633fc8cef314610506578063472777c614610539578063529d6a8c1461054c57806354fd4d501461057957600080fd5b806325fc2ace116102a157806325fc2ace146103f75780632810e1d6146104165780632ad69aeb1461042b57806330dbe5701461044b578063378dd48c1461048357806337b1b2291461049d57600080fd5b806301935130146102e957806303c2924d1461030b57806319effeb41461032b578063200d2ed21461036f578063222abf451461039d578063250e69bd146103dd575b600080fd5b3480156102f557600080fd5b506103096103043660046142bd565b610b0c565b005b34801561031757600080fd5b50610309610326366004614317565b610cea565b34801561033757600080fd5b5060005461035290600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561037b57600080fd5b5060005461039090600160801b900460ff1681565b6040516103669190614370565b3480156103a957600080fd5b506103cd6103b8366004614398565b600c6020526000908152604090205460ff1681565b6040519015158152602001610366565b3480156103e957600080fd5b50600a546103cd9060ff1681565b34801561040357600080fd5b506008545b604051908152602001610366565b34801561042257600080fd5b50610390611195565b34801561043757600080fd5b50610408610446366004614317565b611315565b34801561045757600080fd5b5060015461046b906001600160a01b031681565b6040516001600160a01b039091168152602001610366565b34801561048f57600080fd5b50600d546103909060ff1681565b3480156104a957600080fd5b5061046b611346565b3480156104be57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b3480156104f157600080fd5b506000546103cd90600160901b900460ff1681565b34801561051257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b6103096105473660046143b5565b611357565b34801561055857600080fd5b50610408610567366004614398565b60036020526000908152604090205481565b34801561058557600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b604051610366919061442e565b3480156105bc57600080fd5b506008546009546105cb919082565b60408051928352602083019190915201610366565b3480156105ec57600080fd5b506104086105fb366004614441565b611369565b34801561060c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b34801561063f57600080fd5b506105a36113a3565b34801561065457600080fd5b50610309610663366004614398565b6113b1565b34801561067457600080fd5b5061040861164c565b34801561068957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b6103096106be366004614468565b611658565b3480156106cf57600080fd5b50600954610408565b3480156106e457600080fd5b50610309611ec9565b6103096106fb3660046143b5565b612192565b61030961219f565b34801561071457600080fd5b50600254610408565b34801561072957600080fd5b506104086125b5565b34801561073e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561077157600080fd5b506107c7610780366004614441565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610366565b34801561081157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610366565b34801561085257600080fd5b506104086125c1565b34801561086757600080fd5b50610352610876366004614441565b6125cd565b34801561088757600080fd5b50610408610896366004614398565b600b6020526000908152604090205481565b3480156108b457600080fd5b506104086108c33660046144a9565b612760565b3480156108d457600080fd5b506108e86108e3366004614441565b6128a0565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610366565b34801561094857600080fd5b50600054610352906001600160401b031681565b34801561096857600080fd5b50610408610977366004614398565b612913565b34801561098857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b3480156109bb57600080fd5b506103096109ca3660046144d2565b61296b565b3480156109db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b348015610a0e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610a4157600080fd5b506103cd610a50366004614441565b60046020526000908152604090205460ff1681565b348015610a7157600080fd5b50610309610a803660046143b5565b612cfc565b348015610a9157600080fd5b50610a9a613068565b6040516103669392919061455d565b348015610ab557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610ae857600080fd5b506103cd610af7366004614441565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b2b57610b2b614339565b14610b495760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610b745760405163075173a960e11b815260040160405180910390fd5b610b82610b7f6125c1565b90565b610b99610b9436869003860186614598565b6130c0565b14610bb757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bcc92919061460b565b604051809103902014610bf25760405163d81d583b60e01b815260040160405180910390fd5b6000610c3b610c3684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061311c92505050565b613170565b90506000610c6282600881518110610c5557610c5561461b565b60200260200101516132f4565b9050602081511115610c875760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610c9e6125b5565b8103610cbd57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d0957610d09614339565b14610d275760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d3c57610d3c61461b565b906000526020600020906005020190506000610d57846125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610da65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610dd65760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610df357508515155b15610e55578354600160201b90046001600160a01b031660008115610e185781610e27565b60018601546001600160a01b03165b9050610e338187613376565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610ed9576001600160801b036040820152600181526000869003610ed9578195505b600086826020015163ffffffff16610ef19190614647565b90506000838211610f025781610f04565b835b602084015190915063ffffffff165b8181101561100a576000868281548110610f2f57610f2f61461b565b6000918252602080832090910154808352600690915260409091205490915060ff16610f6e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610f8357610f8361461b565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610fc95750600481015460408701516001600160801b039182169116115b15610ff55760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110029061465f565b915050610f13565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361118a57606083015160008a8152600660205260409020805460ff19166001179055891580156110f15750600054600160901b900460ff165b15611137576001546001600160a01b031661110c818a613376565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611188565b6111646001600160a01b0382161561114f578161115e565b60018901546001600160a01b03165b89613376565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111b6576111b6614339565b146111d45760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661121f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061123e5761123e61461b565b6000918252602090912060059091020154600160201b90046001600160a01b03161461126b57600161126e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156112d4576112d4614339565b0217905560028111156112e9576112e9614339565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061133157600080fd5b90600052602060002001600091509150505481565b600061135260006133b8565b905090565b6113648383836001611658565b505050565b6000818152600760209081526040808320600590925282208054825461139a90610100900463ffffffff1682614678565b95945050505050565b6060611352605460206133db565b6113b9611ec9565b60006002600d5460ff1660028111156113d4576113d4614339565b036113f857506001600160a01b0381166000908152600b602052604090205461144e565b6001600d5460ff16600281111561141157611411614339565b0361143557506001600160a01b03811660009081526003602052604090205461144e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611512576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156114f657600080fd5b505af115801561150a573d6000803e3d6000fd5b505050505050565b80600003611533576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5050905080611364576040516383e6cc6b60e01b815260040160405180910390fd5b6000611352603461341d565b60008054600160801b900460ff16600281111561167757611677614339565b146116955760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116aa576116aa61461b565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117545760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611781826001600160801b031661343d565b60ff1690508615806117bc57506117b97f00000000000000000000000000000000000000000000000000000000000000006002614647565b81145b80156117c6575084155b156117e4576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156117fb575086155b156118195760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561185a576040516356f57b2b60e01b815260040160405180910390fd5b6118857f00000000000000000000000000000000000000000000000000000000000000006001614647565b810361189757611897868885886134a9565b346118a183612760565b146118bf57604051638620aa1960e01b815260040160405180910390fd5b60006118ca886125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361191857604051630ce0744560e21b815260040160405180910390fd5b600061194560017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611a68577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd919061468f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e91906146ac565b611a61907f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166146c5565b9050611af9565b611a9360017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611acd57611a617f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026146f0565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b2c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b6001600160401b0316611b45836001600160401b031690565b6001600160401b03161115611b8a57611b87817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611be6576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611ddd9190614678565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e11908490614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e7357600080fd5b505af1158015611e87573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611ee257611ee2614339565b1480611f0457506001600d5460ff166002811115611f0257611f02614339565b145b15611f0b57565b6000600d5460ff166002811115611f2457611f24614339565b14611f42576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b0316600003611f7e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120099190614747565b90508061202957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561208a57600080fd5b505af192505050801561209b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121279190614747565b9050801561214157600d805460ff1916600117905561214f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916121869160ff90911690614370565b60405180910390a15050565b6113648383836000611658565b600054600160881b900460ff16156121c95760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224d9190614764565b90925090508161227057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146122a357639824bdab6000526004601cfd5b806122ac6125b5565b116122de576122b96125c1565b60405163f40239db60e01b81526004016122d591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff8152600060208201526002918101612303611346565b6001600160a01b03168152602001346001600160801b031681526020016123286125c1565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b90612422611346565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546124519190614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b357600080fd5b505af11580156124c7573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125999190614788565b600a805460ff191663ffffffff92909216929092141790555050565b6000611352605461341d565b6000611352601461341d565b600080600054600160801b900460ff1660028111156125ee576125ee614339565b1461260c5760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126215761262161461b565b600091825260208220600590910201805490925063ffffffff9081161461268757815460028054909163ffffffff1690811061265f5761265f61461b565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b60048201546000906126b090600160801b90046001600160401b03165b6001600160401b031690565b6126c3906001600160401b031642614678565b6126d96126a4846001600160801b031660401c90565b6001600160401b03166126ec9190614647565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611612736578061139a565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612775836001600160801b031661343d565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156127bb576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006127d683836147c4565b9050670de0b6b3a7640000600061280d827f00000000000000000000000000000000000000000000000000000000000000006147d8565b9050600061282b612826670de0b6b3a7640000866147d8565b61359e565b9050600061283984846137b4565b905060006128478383613803565b9050600061285482613831565b905060006128738261286e670de0b6b3a76400008f6147d8565b6139ae565b905060006128818b83613803565b905061288d818d6147d8565b9f9e505050505050505050505050505050565b600281815481106128b057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561292e5761292e614339565b0361294f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561298a5761298a614339565b146129a85760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106129bd576129bd61461b565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612a137f00000000000000000000000000000000000000000000000000000000000000006001614647565b612a25826001600160801b031661343d565b60ff1614612a4657604051630bea7bb360e31b815260040160405180910390fd5b6000808915612b2257612a997f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614678565b6001901b612aaf846001600160801b03166139df565b6001600160801b0316612ac291906147f7565b15612af657612aed612ade60016001600160801b03871661480b565b865463ffffffff1660006139fd565b60030154612b18565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612b43565b60038501549150612b40612ade6001600160801b038616600161482b565b90505b600882901b60088a8a604051612b5a92919061460b565b6040518091039020901b14612b825760405163696550ff60e01b815260040160405180910390fd5b6000612b8d8c613ac6565b90506000612b9c836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612bf0908f908f908f908f908a90600401614876565b6020604051808303816000875af1158015612c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3391906146ac565b600485015491149150600090600290612c54906001600160801b031661343d565b612c66896001600160801b031661343d565b612c7091906148b0565b612c7a91906148d3565b60ff161590508115158103612ca25760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612cd257604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612d1b57612d1b614339565b14612d395760405163067fe19560e41b815260040160405180910390fd5b600080600080612d4886613af5565b93509350935093506000612d5e85858585613d64565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de4919061468f565b905060018903612e8e576001600160a01b0381166352f0f3ad8a84612e0a610b7f61164c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8891906146ac565b5061118a565b60028903612ead576001600160a01b0381166352f0f3ad8a8489612e0a565b60038903612ecc576001600160a01b0381166352f0f3ad8a8487612e0a565b60048903612fd9576000612f096001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613e03565b600954612f169190614647565b612f21906001614647565b9050612f2b6125b5565b8110612f3e57612f396125b5565b612f40565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd291906146ac565b505061118a565b6005890361304c576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612e45565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600060606130956125c1565b915061309f6113a3565b9050909192565b60008183116130b557816130b7565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016130ff949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361315257604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061318085613e30565b91945092509050600181600181111561319b5761319b614339565b146131b9576040516325ce355f60e11b815260040160405180910390fd5b84516131c58385614647565b146131e357604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816131fa5790505093506000835b86518110156132e85760008061326d6040518060400160405280858c600001516132519190614678565b8152602001858c602001516132669190614647565b9052613e30565b5091509150604051806040016040528083836132899190614647565b8152602001848b6020015161329e9190614647565b8152508885815181106132b3576132b361461b565b60209081029190910101526132c9600185614647565b93506132d58183614647565b6132df9084614647565b92505050613227565b50845250919392505050565b6060600080600061330485613e30565b91945092509050600081600181111561331f5761331f614339565b1461333d576040516307fe6cb960e21b815260040160405180910390fd5b6133478284614647565b85511461336757604051630b8aa6f760e31b815260040160405180910390fd5b61139a85602001518484614126565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b03909316929091906133af908490614647565b90915550505050565b6000806133cd3660011981013560f01c900390565b929092013560601c92915050565b606060006133f13660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806134323660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006134bf6001600160801b038416600161482b565b905060006134cf828660016139fd565b9050600086901a8380613531575061350860027f00000000000000000000000000000000000000000000000000000000000000006147f7565b6004830154600290613522906001600160801b031661343d565b61352c91906148d3565b60ff16145b156135705760ff81166001148061354b575060ff81166002145b61356b5760405163f40239db60e01b8152600481018890526024016122d5565b613595565b60ff8116156135955760405163f40239db60e01b8152600481018890526024016122d5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136135f357631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026137f157637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138215763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361384957919050565b680755bf798b4a1bf1e582126138675763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006130b7670de0b6b3a7640000836139c68661359e565b6139d091906148f5565b6139da919061497a565b613831565b6000806139eb8361343d565b600160ff919091161b90920392915050565b60008082613a3d57613a386001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006141ba565b613a4f565b613a4f856001600160801b0316614229565b905060028481548110613a6457613a6461461b565b906000526020600020906005020191505b60048201546001600160801b03828116911614613abe57815460028054909163ffffffff16908110613aa957613aa961461b565b90600052602060002090600502019150613a75565b509392505050565b6000806000806000613ad786613af5565b9350935093509350613aeb84848484613d64565b9695505050505050565b6000806000806000859050600060028281548110613b1557613b1561461b565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b61906001600160801b031661343d565b60ff1611613b82576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbf906001600160801b031661343d565b60ff169250821115613c3457825463ffffffff16613bfe7f00000000000000000000000000000000000000000000000000000000000000006001614647565b8303613c08578391505b60028181548110613c1b57613c1b61461b565b9060005260206000209060050201935080945050613b86565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c79613c6d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d12576000613c9f836001600160801b03166139df565b6001600160801b03161115613cef576000613ccf613cc760016001600160801b03861661480b565b8960016139fd565b6003810154600490910154909c506001600160801b03169a50613cf59050565b6008549a505b600386015460048701549099506001600160801b03169750613d56565b6000613d2b613cc76001600160801b038516600161482b565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbf5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012061139a565b8282604051602001613de49291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0f8461343d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5a57604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7f57600060016000945094509450505061411f565b60b78111613f17576000613e94608083614678565b905080876000015111613eba576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee65750600160ff1b6001600160f81b03198216105b15613f045760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411f915050565b60bf8111613ff9576000613f2c60b783614678565b905080876000015111613f52576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fb25760405163babb01dd60e01b815260040160405180910390fd5b613fbc8184614647565b895111613fdc576040516366c9448560e01b815260040160405180910390fd5b613fe7836001614647565b975095506000945061411f9350505050565b60f7811161404557600061400e60c083614678565b905080876000015111614034576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411f915050565b600061405260f783614678565b905080876000015111614078576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a95760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d85760405163babb01dd60e01b815260040160405180910390fd5b6140e28184614647565b895111614102576040516366c9448560e01b815260040160405180910390fd5b61410d836001614647565b975095506001945061411f9350505050565b9193909250565b6060816001600160401b0381111561414057614140614582565b6040519080825280601f01601f19166020018201604052801561416a576020820181803683370190505b50905081156141b357600061417f8486614647565b90506020820160005b848110156141a0578281015182820152602001614188565b848111156141af576000858301525b5050505b9392505050565b6000816141cf846001600160801b031661343d565b60ff16116141e55763b34b5c226000526004601cfd5b6141ee83614229565b905081614203826001600160801b031661343d565b60ff16116130ba576130b7614219836001614647565b6001600160801b0383169061424d565b6000811960018301168161423c8261343d565b60ff169390931c8015179392505050565b6000806142598461343d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261428757600080fd5b5081356001600160401b0381111561429e57600080fd5b6020830191508360208285010111156142b657600080fd5b9250929050565b600080600083850360a08112156142d357600080fd5b60808112156142e157600080fd5b5083925060808401356001600160401b038111156142fe57600080fd5b61430a86828701614275565b9497909650939450505050565b6000806040838503121561432a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061436d57634e487b7160e01b600052602160045260246000fd5b50565b6020810161437d8361434f565b91905290565b6001600160a01b038116811461436d57600080fd5b6000602082840312156143aa57600080fd5b81356141b381614383565b6000806000606084860312156143ca57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b81811015614407576020818501810151868301820152016143eb565b81811115614419576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006130b760208301846143e1565b60006020828403121561445357600080fd5b5035919050565b801515811461436d57600080fd5b6000806000806080858703121561447e57600080fd5b843593506020850135925060408501359150606085013561449e8161445a565b939692955090935050565b6000602082840312156144bb57600080fd5b81356001600160801b03811681146141b357600080fd5b600080600080600080608087890312156144eb57600080fd5b8635955060208701356144fd8161445a565b945060408701356001600160401b038082111561451957600080fd5b6145258a838b01614275565b9096509450606089013591508082111561453e57600080fd5b5061454b89828a01614275565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061139a60608301846143e1565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156145aa57600080fd5b604051608081018181106001600160401b03821117156145da57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561465a5761465a614631565b500190565b60006001820161467157614671614631565b5060010190565b60008282101561468a5761468a614631565b500390565b6000602082840312156146a157600080fd5b81516141b381614383565b6000602082840312156146be57600080fd5b5051919050565b60006001600160401b038083168185168083038211156146e7576146e7614631565b01949350505050565b60006001600160401b038083168185168183048111821515161561471657614716614631565b02949350505050565b60006001600160401b038381169083168181101561473f5761473f614631565b039392505050565b60006020828403121561475957600080fd5b81516141b38161445a565b6000806040838503121561477757600080fd5b505080516020909101519092909150565b60006020828403121561479a57600080fd5b815163ffffffff811681146141b357600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826147d3576147d36147ae565b500490565b60008160001904831182151516156147f2576147f2614631565b500290565b600082614806576148066147ae565b500690565b60006001600160801b038381169083168181101561473f5761473f614631565b60006001600160801b038083168185168083038211156146e7576146e7614631565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061488a60608301878961484d565b828103602084015261489d81868861484d565b9150508260408301529695505050505050565b600060ff821660ff8416808210156148ca576148ca614631565b90039392505050565b600060ff8316806148e6576148e66147ae565b8060ff84160691505092915050565b60006001600160ff1b038184138284138082168684048611161561491b5761491b614631565b600160ff1b600087128281168783058912161561493a5761493a614631565b6000871292508782058712848416161561495657614956614631565b8785058712818416161561496c5761496c614631565b505050929093029392505050565b600082614989576149896147ae565b600160ff1b8214600019841416156149a3576149a3614631565b50059056fea264697066735822122042af6780a7c8dda46d8b2a5e18225ee0551564fb98a13883feff792f9f9e94d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc1000000000000000000000000a2f2ac6f5af72e494a227d79db20473cf7a1ffe8000000000000000000000000496286e5ee7758de84dd17e6d2d97afc2ace4cc70000000000000000000000000000000000000000000000000000000000002105", "nonce": "0x6", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xaf6a01bd98b0ad5b06f96c78a218b4df164643844fd7cd602b70b9e1d12e07e6", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x7344da3a618b86cda67f8260c0cc2027d99f5b49", "function": null, "arguments": [ "(1, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x3E8a0B63f57e975c268d610ece93da5f78c01321, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 8453)", "0x642229f238fb9dE03374Be34B0eD8D9De80752c5", "0x8Ca1E12404d16373Aef756179B185F27b2994F3a" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "gas": "0x54ce60", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620054a0380380620054a083398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c1b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b620022951760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c1b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614be5620008bb600039600081816105be015281816117310152611e9e01526000818161087d015281816116ff01528181611a630152611e6c0152600081816106f501528181612a0801528181612a720152612aa4015260008181610a2701526121ed0152600081816106780152818161184f015281816118f70152818161196d01528181612ecc015261322001526000818161054b0152818161154c0152818161161601528181612dee01526131580152600081816108b80152818161225901526131f70152600081816104f701528181611f530152818161292101526139a0015260008181610a7a01528181610dff01528181611bee01528181611c2e015281816128aa01528181612ad30152612b2e015260008181610aad015281816120d4015281816127670152818161283301528181612a430152818161384901528181613b2b01528181613b8901528181613bd4015281816141f101526142e0015260008181610b5401528181611c7201528181611cdf015281816127ef015281816128f5015281816137e2015261386a0152600081816107aa01526138ed0152614be56000f3fe60806040526004361061031a5760003560e01c80636f034409116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b01578063fa24f74314610b21578063fa315aa914610b45578063fe2bbeb214610b7857600080fd5b8063dabd396d14610a6b578063ec5e630814610a9e578063eff0f59214610ad157600080fd5b8063cf09e0d0116100d1578063cf09e0d0146109d8578063d5d44d80146109f8578063d6ae3cd514610a18578063d8cc1a3c14610a4b57600080fd5b8063c0d8bb7414610917578063c395e1ca14610944578063c6f0308c1461096457600080fd5b80638b85902b11610164578063a8e4fb901161013e578063a8e4fb901461086e578063bbdc02db146108a1578063bcef3b55146108e2578063bd8da956146108f757600080fd5b80638b85902b146107865780638d450a951461079b578063a445ece6146107ce57600080fd5b80636f0344091461071957806370872aa51461072c578063786b844b146107415780637b0f0adc146107565780638129fc1c146107695780638980e0cc1461077157600080fd5b80633e3ac9121161026a57806357da950e11610223578063609d3334116101fd578063609d33341461069c57806360e27464146106b15780636361506d146106d15780636b6716c0146106e657600080fd5b806357da950e146106195780635a5fa2d9146106495780635c0cba331461066957600080fd5b80633e3ac9121461051b5780633fc8cef31461053c578063472777c61461056f578063529d6a8c14610582578063534db0e2146105af57806354fd4d50146105e257600080fd5b806325fc2ace116102d757806330dbe570116102b157806330dbe57014610481578063378dd48c146104b957806337b1b229146104d35780633a768463146104e857600080fd5b806325fc2ace1461042d5780632810e1d61461044c5780632ad69aeb1461046157600080fd5b8063019351301461031f57806303c2924d1461034157806319effeb414610361578063200d2ed2146103a5578063222abf45146103d3578063250e69bd14610413575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046144c4565b610ba8565b005b34801561034d57600080fd5b5061033f61035c36600461451e565b610d86565b34801561036d57600080fd5b5060005461038890600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103b157600080fd5b506000546103c690600160801b900460ff1681565b60405161039c9190614577565b3480156103df57600080fd5b506104036103ee36600461459f565b600c6020526000908152604090205460ff1681565b604051901515815260200161039c565b34801561041f57600080fd5b50600a546104039060ff1681565b34801561043957600080fd5b506008545b60405190815260200161039c565b34801561045857600080fd5b506103c6611231565b34801561046d57600080fd5b5061043e61047c36600461451e565b6113b1565b34801561048d57600080fd5b506001546104a1906001600160a01b031681565b6040516001600160a01b03909116815260200161039c565b3480156104c557600080fd5b50600d546103c69060ff1681565b3480156104df57600080fd5b506104a16113e2565b3480156104f457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b34801561052757600080fd5b5060005461040390600160901b900460ff1681565b34801561054857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b61033f61057d3660046145bc565b6113f3565b34801561058e57600080fd5b5061043e61059d36600461459f565b60036020526000908152604090205481565b3480156105bb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156105ee57600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b60405161039c9190614635565b34801561062557600080fd5b50600854600954610634919082565b6040805192835260208301919091520161039c565b34801561065557600080fd5b5061043e610664366004614648565b611405565b34801561067557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156106a857600080fd5b5061060c61143f565b3480156106bd57600080fd5b5061033f6106cc36600461459f565b61144d565b3480156106dd57600080fd5b5061043e6116e8565b3480156106f257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b61033f61072736600461466f565b6116f4565b34801561073857600080fd5b5060095461043e565b34801561074d57600080fd5b5061033f611782565b61033f6107643660046145bc565b611a4b565b61033f611a58565b34801561077d57600080fd5b5060025461043e565b34801561079257600080fd5b5061043e611aab565b3480156107a757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b3480156107da57600080fd5b506108306107e9366004614648565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b0316606082015260800161039c565b34801561087a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156108ad57600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161039c565b3480156108ee57600080fd5b5061043e611ab7565b34801561090357600080fd5b50610388610912366004614648565b611ac3565b34801561092357600080fd5b5061043e61093236600461459f565b600b6020526000908152604090205481565b34801561095057600080fd5b5061043e61095f3660046146b0565b611c56565b34801561097057600080fd5b5061098461097f366004614648565b611d96565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e00161039c565b3480156109e457600080fd5b50600054610388906001600160401b031681565b348015610a0457600080fd5b5061043e610a1336600461459f565b611e09565b348015610a2457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610a5757600080fd5b5061033f610a663660046146d9565b611e61565b348015610a7757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b348015610aaa57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610add57600080fd5b50610403610aec366004614648565b60046020526000908152604090205460ff1681565b348015610b0d57600080fd5b5061033f610b1c3660046145bc565b611eeb565b348015610b2d57600080fd5b50610b36612257565b60405161039c93929190614764565b348015610b5157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610b8457600080fd5b50610403610b93366004614648565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bc757610bc7614540565b14610be55760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c105760405163075173a960e11b815260040160405180910390fd5b610c1e610c1b611ab7565b90565b610c35610c303686900386018661479f565b6122af565b14610c5357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c68929190614812565b604051809103902014610c8e5760405163d81d583b60e01b815260040160405180910390fd5b6000610cd7610cd284848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061230b92505050565b61235f565b90506000610cfe82600881518110610cf157610cf1614822565b60200260200101516124e3565b9050602081511115610d235760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d3a611aab565b8103610d5957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610da557610da5614540565b14610dc35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610dd857610dd8614822565b906000526020600020906005020190506000610df384611ac3565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e425760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e725760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e8f57508515155b15610ef1578354600160201b90046001600160a01b031660008115610eb45781610ec3565b60018601546001600160a01b03165b9050610ecf8187612565565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f75576001600160801b036040820152600181526000869003610f75578195505b600086826020015163ffffffff16610f8d919061484e565b90506000838211610f9e5781610fa0565b835b602084015190915063ffffffff165b818110156110a6576000868281548110610fcb57610fcb614822565b6000918252602080832090910154808352600690915260409091205490915060ff1661100a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061101f5761101f614822565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110655750600481015460408701516001600160801b039182169116115b156110915760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061109e90614866565b915050610faf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361122657606083015160008a8152600660205260409020805460ff191660011790558915801561118d5750600054600160901b900460ff165b156111d3576001546001600160a01b03166111a8818a612565565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611224565b6112006001600160a01b038216156111eb57816111fa565b60018901546001600160a01b03165b89612565565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561125257611252614540565b146112705760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112bb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b031660026000815481106112da576112da614822565b6000918252602090912060059091020154600160201b90046001600160a01b03161461130757600161130a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561137057611370614540565b02179055600281111561138557611385614540565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113cd57600080fd5b90600052602060002001600091509150505481565b60006113ee60006125a7565b905090565b61140083838360016116f4565b505050565b6000818152600760209081526040808320600590925282208054825461143690610100900463ffffffff168261487f565b95945050505050565b60606113ee605460206125ca565b611455611782565b60006002600d5460ff16600281111561147057611470614540565b0361149457506001600160a01b0381166000908152600b60205260409020546114ea565b6001600d5460ff1660028111156114ad576114ad614540565b036114d157506001600160a01b0381166000908152600360205260409020546114ea565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115ae576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561159257600080fd5b505af11580156115a6573d6000803e3d6000fd5b505050505050565b806000036115cf576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b5050905080611400576040516383e6cc6b60e01b815260040160405180910390fd5b60006113ee603461260c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117535750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611770576040516369c3779f60e11b815260040160405180910390fd5b61177c8484848461262c565b50505050565b6002600d5460ff16600281111561179b5761179b614540565b14806117bd57506001600d5460ff1660028111156117bb576117bb614540565b145b156117c457565b6000600d5460ff1660028111156117dd576117dd614540565b146117fb576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361183757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614896565b9050806118e257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561194357600080fd5b505af1925050508015611954575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e09190614896565b905080156119fa57600d805460ff19166001179055611a08565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611a3f9160ff90911690614577565b60405180910390a15050565b61140083838360006116f4565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aa1576040516369c3779f60e11b815260040160405180910390fd5b611aa9612e9d565b565b60006113ee605461260c565b60006113ee601461260c565b600080600054600160801b900460ff166002811115611ae457611ae4614540565b14611b025760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611b1757611b17614822565b600091825260208220600590910201805490925063ffffffff90811614611b7d57815460028054909163ffffffff16908110611b5557611b55614822565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611ba690600160801b90046001600160401b03165b6001600160401b031690565b611bb9906001600160401b03164261487f565b611bcf611b9a846001600160801b031660401c90565b6001600160401b0316611be2919061484e565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611c2c5780611436565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611c6b836001600160801b03166132b3565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611cb1576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611ccc83836148c9565b9050670de0b6b3a76400006000611d03827f00000000000000000000000000000000000000000000000000000000000000006148dd565b90506000611d21611d1c670de0b6b3a7640000866148dd565b61331f565b90506000611d2f8484613535565b90506000611d3d8383613584565b90506000611d4a826135b2565b90506000611d6982611d64670de0b6b3a76400008f6148dd565b61372f565b90506000611d778b83613584565b9050611d83818d6148dd565b9f9e505050505050505050505050505050565b60028181548110611da657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611e2457611e24614540565b03611e4557506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611ec05750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611edd576040516369c3779f60e11b815260040160405180910390fd5b6115a6868686868686613760565b60008054600160801b900460ff166002811115611f0a57611f0a614540565b14611f285760405163067fe19560e41b815260040160405180910390fd5b600080600080611f3786613af1565b93509350935093506000611f4d85858585613d60565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906148fc565b90506001890361207d576001600160a01b0381166352f0f3ad8a84611ff9610c1b6116e8565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190614919565b50611226565b6002890361209c576001600160a01b0381166352f0f3ad8a8489611ff9565b600389036120bb576001600160a01b0381166352f0f3ad8a8487611ff9565b600489036121c85760006120f86001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613dff565b600954612105919061484e565b61211090600161484e565b905061211a611aab565b811061212d57612128611aab565b61212f565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190614919565b5050611226565b6005890361223b576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612034565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060006060612284611ab7565b915061228e61143f565b9050909192565b60008183116122a457816122a6565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016122ee949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361234157604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061236f85613e2c565b91945092509050600181600181111561238a5761238a614540565b146123a8576040516325ce355f60e11b815260040160405180910390fd5b84516123b4838561484e565b146123d257604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816123e95790505093506000835b86518110156124d75760008061245c6040518060400160405280858c60000151612440919061487f565b8152602001858c60200151612455919061484e565b9052613e2c565b509150915060405180604001604052808383612478919061484e565b8152602001848b6020015161248d919061484e565b8152508885815181106124a2576124a2614822565b60209081029190910101526124b860018561484e565b93506124c4818361484e565b6124ce908461484e565b92505050612416565b50845250919392505050565b606060008060006124f385613e2c565b91945092509050600081600181111561250e5761250e614540565b1461252c576040516307fe6cb960e21b815260040160405180910390fd5b612536828461484e565b85511461255657604051630b8aa6f760e31b815260040160405180910390fd5b61143685602001518484614122565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b039093169290919061259e90849061484e565b90915550505050565b6000806125bc3660011981013560f01c900390565b929092013560601c92915050565b606060006125e03660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126213660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff16600281111561264b5761264b614540565b146126695760405163067fe19560e41b815260040160405180910390fd5b60006002848154811061267e5761267e614822565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146127285760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612755826001600160801b03166132b3565b60ff169050861580612790575061278d7f0000000000000000000000000000000000000000000000000000000000000000600261484e565b81145b801561279a575084155b156127b8576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156127cf575086155b156127ed5760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561282e576040516356f57b2b60e01b815260040160405180910390fd5b6128597f0000000000000000000000000000000000000000000000000000000000000000600161484e565b810361286b5761286b868885886141b6565b3461287583611c56565b1461289357604051638620aa1960e01b815260040160405180910390fd5b600061289e88611ac3565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036128ec57604051630ce0744560e21b815260040160405180910390fd5b600061291960017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612a3c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561297d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a191906148fc565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a029190614919565b612a35907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614932565b9050612acd565b612a6760017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612aa157612a357f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600261495d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612b00817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b6001600160401b0316612b19836001600160401b031690565b6001600160401b03161115612b5e57612b5b817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612bba576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612db1919061487f565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612de590849061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e4757600080fd5b505af1158015612e5b573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612ec75760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b91906149b4565b909250905081612f6e57604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a14612fa157639824bdab6000526004601cfd5b80612faa611aab565b11612fdc57612fb7611ab7565b60405163f40239db60e01b8152600401612fd391815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130016113e2565b6001600160a01b03168152602001346001600160801b03168152602001613026611ab7565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131206113e2565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461314f919061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156131b157600080fd5b505af11580156131c5573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329791906149d8565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361337457631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261357257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156135a25763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136135ca57919050565b680755bf798b4a1bf1e582126135e85763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006122a6670de0b6b3a7640000836137478661331f565b61375191906149fe565b61375b9190614a83565b6135b2565b60008054600160801b900460ff16600281111561377f5761377f614540565b1461379d5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106137b2576137b2614822565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138087f0000000000000000000000000000000000000000000000000000000000000000600161484e565b61381a826001600160801b03166132b3565b60ff161461383b57604051630bea7bb360e31b815260040160405180910390fd5b60008089156139175761388e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061487f565b6001901b6138a4846001600160801b03166142ab565b6001600160801b03166138b79190614ab1565b156138eb576138e26138d360016001600160801b038716614ac5565b865463ffffffff1660006142c9565b6003015461390d565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613938565b600385015491506139356138d36001600160801b0386166001614ae5565b90505b600882901b60088a8a60405161394f929190614812565b6040518091039020901b146139775760405163696550ff60e01b815260040160405180910390fd5b60006139828c614392565b90506000613991836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced32906139e5908f908f908f908f908a90600401614b30565b6020604051808303816000875af1158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a289190614919565b600485015491149150600090600290613a49906001600160801b03166132b3565b613a5b896001600160801b03166132b3565b613a659190614b6a565b613a6f9190614b8d565b60ff161590508115158103613a975760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ac757604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613b1157613b11614822565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b5d906001600160801b03166132b3565b60ff1611613b7e576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbb906001600160801b03166132b3565b60ff169250821115613c3057825463ffffffff16613bfa7f0000000000000000000000000000000000000000000000000000000000000000600161484e565b8303613c04578391505b60028181548110613c1757613c17614822565b9060005260206000209060050201935080945050613b82565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c75613c69856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d0e576000613c9b836001600160801b03166142ab565b6001600160801b03161115613ceb576000613ccb613cc360016001600160801b038616614ac5565b8960016142c9565b6003810154600490910154909c506001600160801b03169a50613cf19050565b6008549a505b600386015460048701549099506001600160801b03169750613d52565b6000613d27613cc36001600160801b0385166001614ae5565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbb5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611436565b8282604051602001613de09291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0b846132b3565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5657604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7b57600060016000945094509450505061411b565b60b78111613f13576000613e9060808361487f565b905080876000015111613eb6576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee25750600160ff1b6001600160f81b03198216105b15613f005760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411b915050565b60bf8111613ff5576000613f2860b78361487f565b905080876000015111613f4e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f7f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fae5760405163babb01dd60e01b815260040160405180910390fd5b613fb8818461484e565b895111613fd8576040516366c9448560e01b815260040160405180910390fd5b613fe383600161484e565b975095506000945061411b9350505050565b60f7811161404157600061400a60c08361487f565b905080876000015111614030576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411b915050565b600061404e60f78361487f565b905080876000015111614074576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a55760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d45760405163babb01dd60e01b815260040160405180910390fd5b6140de818461484e565b8951116140fe576040516366c9448560e01b815260040160405180910390fd5b61410983600161484e565b975095506001945061411b9350505050565b9193909250565b6060816001600160401b0381111561413c5761413c614789565b6040519080825280601f01601f191660200182016040528015614166576020820181803683370190505b50905081156141af57600061417b848661484e565b90506020820160005b8481101561419c578281015182820152602001614184565b848111156141ab576000858301525b5050505b9392505050565b60006141cc6001600160801b0384166001614ae5565b905060006141dc828660016142c9565b9050600086901a838061423e575061421560027f0000000000000000000000000000000000000000000000000000000000000000614ab1565b600483015460029061422f906001600160801b03166132b3565b6142399190614b8d565b60ff16145b1561427d5760ff811660011480614258575060ff81166002145b6142785760405163f40239db60e01b815260048101889052602401612fd3565b6142a2565b60ff8116156142a25760405163f40239db60e01b815260048101889052602401612fd3565b50505050505050565b6000806142b7836132b3565b600160ff919091161b90920392915050565b60008082614309576143046001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006143c1565b61431b565b61431b856001600160801b0316614430565b90506002848154811061433057614330614822565b906000526020600020906005020191505b60048201546001600160801b0382811691161461438a57815460028054909163ffffffff1690811061437557614375614822565b90600052602060002090600502019150614341565b509392505050565b60008060008060006143a386613af1565b93509350935093506143b784848484613d60565b9695505050505050565b6000816143d6846001600160801b03166132b3565b60ff16116143ec5763b34b5c226000526004601cfd5b6143f583614430565b90508161440a826001600160801b03166132b3565b60ff16116122a9576122a661442083600161484e565b6001600160801b03831690614454565b60008119600183011681614443826132b3565b60ff169390931c8015179392505050565b600080614460846132b3565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261448e57600080fd5b5081356001600160401b038111156144a557600080fd5b6020830191508360208285010111156144bd57600080fd5b9250929050565b600080600083850360a08112156144da57600080fd5b60808112156144e857600080fd5b5083925060808401356001600160401b0381111561450557600080fd5b6145118682870161447c565b9497909650939450505050565b6000806040838503121561453157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061457457634e487b7160e01b600052602160045260246000fd5b50565b6020810161458483614556565b91905290565b6001600160a01b038116811461457457600080fd5b6000602082840312156145b157600080fd5b81356141af8161458a565b6000806000606084860312156145d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561460e576020818501810151868301820152016145f2565b81811115614620576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006122a660208301846145e8565b60006020828403121561465a57600080fd5b5035919050565b801515811461457457600080fd5b6000806000806080858703121561468557600080fd5b84359350602085013592506040850135915060608501356146a581614661565b939692955090935050565b6000602082840312156146c257600080fd5b81356001600160801b03811681146141af57600080fd5b600080600080600080608087890312156146f257600080fd5b86359550602087013561470481614661565b945060408701356001600160401b038082111561472057600080fd5b61472c8a838b0161447c565b9096509450606089013591508082111561474557600080fd5b5061475289828a0161447c565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061143660608301846145e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156147b157600080fd5b604051608081018181106001600160401b03821117156147e157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561486157614861614838565b500190565b60006001820161487857614878614838565b5060010190565b60008282101561489157614891614838565b500390565b6000602082840312156148a857600080fd5b81516141af81614661565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b60008160001904831182151516156148f7576148f7614838565b500290565b60006020828403121561490e57600080fd5b81516141af8161458a565b60006020828403121561492b57600080fd5b5051919050565b60006001600160401b0380831681851680830382111561495457614954614838565b01949350505050565b60006001600160401b038083168185168183048111821515161561498357614983614838565b02949350505050565b60006001600160401b03838116908316818110156149ac576149ac614838565b039392505050565b600080604083850312156149c757600080fd5b505080516020909101519092909150565b6000602082840312156149ea57600080fd5b815163ffffffff811681146141af57600080fd5b60006001600160ff1b0381841382841380821686840486111615614a2457614a24614838565b600160ff1b6000871282811687830589121615614a4357614a43614838565b60008712925087820587128484161615614a5f57614a5f614838565b87850587128184161615614a7557614a75614838565b505050929093029392505050565b600082614a9257614a926148b3565b600160ff1b821460001984141615614aac57614aac614838565b500590565b600082614ac057614ac06148b3565b500690565b60006001600160801b03838116908316818110156149ac576149ac614838565b60006001600160801b0380831681851680830382111561495457614954614838565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614b44606083018789614b07565b8281036020840152614b57818688614b07565b9150508260408301529695505050505050565b600060ff821660ff841680821015614b8457614b84614838565b90039392505050565b600060ff831680614ba057614ba06148b3565b8060ff8416069150509291505056fea2646970667358221220f7ed1e8138fabb419e12943b164c707feba00282c8887ea78c4d88e07890192064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc10000000000000000000000003e8a0b63f57e975c268d610ece93da5f78c01321000000000000000000000000496286e5ee7758de84dd17e6d2d97afc2ace4cc70000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1ba0044", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x0d255db3c8490310d1e4559f5b3333d16875be63f94fac356388f61b0563980a", "transactionIndex": "0xcc", "blockHash": "0xebc8eaa4c264ac5a931efc852283c603e2967c19c325edfe2380aa46fb1975f2", "blockNumber": "0x15552bc", "gasUsed": "0x3f8429", "effectiveGasPrice": "0x324e5664", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": null, "contractAddress": "0xab91fb6cef84199145133f75cbd96b8a31f184ed" }, { "status": "0x1", "cumulativeGasUsed": "0x1fb3c8e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xaf6a01bd98b0ad5b06f96c78a218b4df164643844fd7cd602b70b9e1d12e07e6", "transactionIndex": "0xcd", "blockHash": "0xebc8eaa4c264ac5a931efc852283c603e2967c19c325edfe2380aa46fb1975f2", "blockNumber": "0x15552bc", "gasUsed": "0x413c4a", "effectiveGasPrice": "0x324e5664", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": null, "contractAddress": "0x7344da3a618b86cda67f8260c0cc2027d99f5b49" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1745860191, "chain": 1, "commit": "c6a3d05" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae412480600000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x18e2b3e", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "blockTimestamp": "0x681a4b8b", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "logIndex": "0x242", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a39213350000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "blockTimestamp": "0x681a4b8b", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "logIndex": "0x243", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040008000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "gasUsed": "0x165f5", "effectiveGasPrice": "0x249b073b", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746553742, "chain": 1, "commit": "f99353e" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746550202.json ================================================ { "transactions": [ { "hash": "0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a392133500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7b39fcc8f965aa445d4200f43c102511f3b1c1858ab5159c6e59a2355111df9530e1ddbc3e97804cf6b881e52f873770b7da96eca983a11000508f4b23ec4b081bcc37ec99fdd319072ea31e67ca0dc27adf9f42dbaaf7dd366c2d29a1a26c7500047ff2c8f70e3e66d615843d194714e7abf2d06a2a93eb28a624ceb06c04a6651b332aa81dbede99414a2ccb6eb875e77d0ad1d5bd6cfaba080729803dbd8661dd258ea9402c00a03f06f154314b99d14b52305f54cab04d908b61fb301e29db551bcabbdf8ffc2c3a5165f5764d35dca23647f9a17d2a0ff923857903a85d5dd8b605a7e8f3e2c68f1beab0ad1abd7c12be016d9bc0b81376f86f4f0a781866cd061c22dff2847e206e3f13ad78c46c179fae7da8ee272b3ac6d504ce8503d472ed8a39cce4bd57a95ba80353f969e30c3ffb4f72d8b895898b5c5b181f34675f60921c3d77f5d320e6bb1c75c8f746e168366c4c7dd45e7af35af03fd85ef329a7555418b34535893761935794eb445eba016fd9df427c87ea5941f503c05ae35dcd551b98d2d1a5965ee5fdbfcf0983cab3d280d2c899ba29240cae6af66026a8df245133b2007ac3440d2b27e6fb62fd1722c8ebf891b28537c9d49dfb8ada223543941c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x3278b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c77b39fcc8f965aa445d4200f43c102511f3b1c1858ab5159c6e59a2355111df9530e1ddbc3e97804cf6b881e52f873770b7da96eca983a11000508f4b23ec4b081bcc37ec99fdd319072ea31e67ca0dc27adf9f42dbaaf7dd366c2d29a1a26c7500047ff2c8f70e3e66d615843d194714e7abf2d06a2a93eb28a624ceb06c04a6651b332aa81dbede99414a2ccb6eb875e77d0ad1d5bd6cfaba080729803dbd8661dd258ea9402c00a03f06f154314b99d14b52305f54cab04d908b61fb301e29db551bcabbdf8ffc2c3a5165f5764d35dca23647f9a17d2a0ff923857903a85d5dd8b605a7e8f3e2c68f1beab0ad1abd7c12be016d9bc0b81376f86f4f0a781866cd061c22dff2847e206e3f13ad78c46c179fae7da8ee272b3ac6d504ce8503d472ed8a39cce4bd57a95ba80353f969e30c3ffb4f72d8b895898b5c5b181f34675f60921c3d77f5d320e6bb1c75c8f746e168366c4c7dd45e7af35af03fd85ef329a7555418b34535893761935794eb445eba016fd9df427c87ea5941f503c05ae35dcd551b98d2d1a5965ee5fdbfcf0983cab3d280d2c899ba29240cae6af66026a8df245133b2007ac3440d2b27e6fb62fd1722c8ebf891b28537c9d49dfb8ada223543941c00000000000000000000000000000000000000000000000000", "nonce": "0x9", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xff3a40", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7", "blockNumber": "0x156316d", "blockTimestamp": "0x681a3db7", "transactionHash": "0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f", "transactionIndex": "0xab", "logIndex": "0x192", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xd031800a7be0b951f8ede1f17b2a9ebc0109838960a244d45b5dbfd4e9eb13a7" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7", "blockNumber": "0x156316d", "blockTimestamp": "0x681a3db7", "transactionHash": "0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f", "transactionIndex": "0xab", "logIndex": "0x193", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000000400000008000000000008040000000000000000000000800000000001000000000000000000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000000000000000010000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000100000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x8ed0970d2a31e1734f74652a6a7d99084af8bceb54eb403aeaf545aa06a6c77f", "transactionIndex": "0xab", "blockHash": "0xb5176ee9e8110fb6d2714223b0090ca55253849e764acfcdefe6e783dc4dafa7", "blockNumber": "0x156316d", "gasUsed": "0x248a6", "effectiveGasPrice": "0x4b3d75a3", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746550202, "chain": 1, "commit": "22050bb" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746550275.json ================================================ { "transactions": [ { "hash": "0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a392133500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb38c06514458a299ca0ba29e802068558cbc039d1f4a5629b094d898cabed2c26f583f8563d6a570bc6fddb53767f0b3fdd565b87d1ed74787d46927bfdffbe11bb28ffad0c8fcf77e0b0a944072cc0e8c8c0cd916a0559da28cf166cdd92343031b72715525bf23408b5fa5b4f4999258ae146b8afa0d4c25eb51868cd72e11f01b09b8c8ef54d12a97f1eef556e4404416c0a0ba73f9f43307ba475268a9054e9342cfdc29cf51e112e0d9531365010b410c5a59b463e0c6166085cfef41658bca1c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x2b5d5", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b38c06514458a299ca0ba29e802068558cbc039d1f4a5629b094d898cabed2c26f583f8563d6a570bc6fddb53767f0b3fdd565b87d1ed74787d46927bfdffbe11bb28ffad0c8fcf77e0b0a944072cc0e8c8c0cd916a0559da28cf166cdd92343031b72715525bf23408b5fa5b4f4999258ae146b8afa0d4c25eb51868cd72e11f01b09b8c8ef54d12a97f1eef556e4404416c0a0ba73f9f43307ba475268a9054e9342cfdc29cf51e112e0d9531365010b410c5a59b463e0c6166085cfef41658bca1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20c3391", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335", "blockNumber": "0x1563173", "blockTimestamp": "0x681a3dff", "transactionHash": "0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b", "transactionIndex": "0x133", "logIndex": "0x354", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xd702ae3bc1b23d18d82b5b5c9f2b8433154b62cbb1a22996e1400658ca6d751b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335", "blockNumber": "0x1563173", "blockTimestamp": "0x681a3dff", "transactionHash": "0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b", "transactionIndex": "0x133", "logIndex": "0x355", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000480000008000000000000040000000000000100000000000000000001000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000004000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000100000000000001000", "type": "0x2", "transactionHash": "0xf169c25bbe0e53377266c939588b5a556ec8f2b633d57b0419ea1f0524010c1b", "transactionIndex": "0x133", "blockHash": "0xa2c65ed56283d7fb20a7b903689126aa0bee3efab28287d3f22e496feaf56335", "blockNumber": "0x1563173", "gasUsed": "0x1da6b", "effectiveGasPrice": "0x46004310", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746550275, "chain": 1, "commit": "22050bb" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746553742.json ================================================ { "transactions": [ { "hash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae412480600000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x18e2b3e", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "blockTimestamp": "0x681a4b8b", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "logIndex": "0x242", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a39213350000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "blockTimestamp": "0x681a4b8b", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "logIndex": "0x243", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040008000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x95f9112b8156288fe22d0dd156c0d2b5a6ed1794122eb7dbc2c409f46d94059a", "transactionIndex": "0x14f", "blockHash": "0x3e05f5993c22ba8e907897c38b175624c6e265fd6746b8ece2f10dff178f4c18", "blockNumber": "0x1563292", "gasUsed": "0x165f5", "effectiveGasPrice": "0x249b073b", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746553742, "chain": 1, "commit": "f99353e" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/records/UpgradeDGF.s.sol/1/run-1746643611.json ================================================ { "transactions": [ { "hash": "0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed0000000000000000000000000000000000000000000000000000000000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b4900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x1dbdd", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000284174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed0000000000000000000000000000000000000000000000000000000000000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xd", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x440083", "logs": [ { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31", "blockNumber": "0x1564f46", "blockTimestamp": "0x681baa97", "transactionHash": "0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718", "transactionIndex": "0x10", "logIndex": "0x90", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31", "blockNumber": "0x1564f46", "blockTimestamp": "0x681baa97", "transactionHash": "0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718", "transactionIndex": "0x10", "logIndex": "0x91", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae41248060000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31", "blockNumber": "0x1564f46", "blockTimestamp": "0x681baa97", "transactionHash": "0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718", "transactionIndex": "0x10", "logIndex": "0x92", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080040000000000000000000000002000000004000000000100000000000000000000040000001000000400000000000000000000001000000000040000000000000000000000000000020000000000000000000800000000400000040000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000004001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060400000000000040000000000000000200000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x3baaa485746af0bb3d0a054a44a37c997b49b5528e0b58d351f5be05eacc2718", "transactionIndex": "0x10", "blockHash": "0xb4687d44d56926ad73155967e1a90eaa3b4e57bec1ef88f39c0e4123f6d80b31", "blockNumber": "0x1564f46", "gasUsed": "0x15885", "effectiveGasPrice": "0x5b28adaf", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746643611, "chain": 1, "commit": "4b1097f" } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import { PermissionedDisputeGame, FaultDisputeGame } from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {LibGameType, LibDuration} from "@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; using LibDuration for Duration; using LibGameType for GameType; string public constant EXPECTED_VERSION = "1.4.1"; Claim immutable absolutePrestate; SystemConfig immutable systemConfig; FaultDisputeGame.GameConstructorParams fdgParams; FaultDisputeGame.GameConstructorParams pdgParams; address proposer; address challenger; constructor() { absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); systemConfig = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); } function setUp() public { DisputeGameFactory dgfProxy = DisputeGameFactory(systemConfig.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); uint256 maxGameDepth = currentFdg.maxGameDepth(); uint256 splitDepth = currentFdg.splitDepth(); Duration clockExtension = currentFdg.clockExtension(); Duration maxClockDuration = currentFdg.maxClockDuration(); IBigStepper bigStepper = currentFdg.vm(); IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry(); uint256 l2ChainId = currentFdg.l2ChainId(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); fdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentFdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); pdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.PERMISSIONED_CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentPdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); } function _postCheck(address fdgImpl, address pdgImpl) private view { FaultDisputeGame fdg = FaultDisputeGame(fdgImpl); PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl); require(Strings.equal(fdg.version(), EXPECTED_VERSION), "Postcheck version 1"); require(Strings.equal(pdg.version(), EXPECTED_VERSION), "Postcheck version 2"); require(fdg.gameType().raw() == GameTypes.CANNON.raw(), "Postcheck 1"); require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 2"); require(fdg.maxGameDepth() == fdgParams.maxGameDepth, "Postcheck 3"); require(fdg.splitDepth() == fdgParams.splitDepth, "Postcheck 4"); require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), "Postcheck 5"); require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), "Postcheck 6"); require(fdg.vm() == fdgParams.vm, "Postcheck 7"); require(fdg.weth() == fdgParams.weth, "Postcheck 8"); require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, "Postcheck 9"); require(fdg.l2ChainId() == fdgParams.l2ChainId, "Postcheck 10"); require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), "Postcheck 11"); require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 12"); require(pdg.maxGameDepth() == pdgParams.maxGameDepth, "Postcheck 13"); require(pdg.splitDepth() == pdgParams.splitDepth, "Postcheck 14"); require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), "Postcheck 15"); require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), "Postcheck 16"); require(pdg.vm() == pdgParams.vm, "Postcheck 17"); require(pdg.weth() == pdgParams.weth, "Postcheck 18"); require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, "Postcheck 19"); require(pdg.l2ChainId() == pdgParams.l2ChainId, "Postcheck 20"); require(pdg.proposer() == proposer, "Postcheck 21"); require(pdg.challenger() == challenger, "Postcheck 22"); } function run() public { (address fdg, address pdg) = _deployContracts(); _postCheck(fdg, pdg); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { console.log("FaultDisputeGame params:"); console.logBytes(abi.encode(fdgParams)); console.log("PermissionedDisputeGame params:"); console.logBytes(abi.encode(pdgParams, proposer, challenger)); vm.startBroadcast(); address fdg = address(new FaultDisputeGame(fdgParams)); address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger)); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; interface IDisputeGameFactory { function gameImpls(uint32) external view returns (address); function setImplementation(uint32, address) external; } interface IPermissionedDisputeGame { function challenger() external view returns (address); function proposer() external view returns (address); } interface ISystemConfig { function disputeGameFactory() external view returns (address); } interface IFaultDisputeGame { function version() external view returns (string memory); function vm() external view returns (address); function weth() external view returns (address); function anchorStateRegistry() external view returns (address); function l2ChainId() external view returns (uint64); function splitDepth() external view returns (uint64); function maxGameDepth() external view returns (uint64); function maxClockDuration() external view returns (uint64); function clockExtension() external view returns (uint64); } interface IAnchorStateRegistry { function anchors(uint32) external view returns (bytes32, uint256); } /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is MultisigScript { using stdJson for string; string public constant EXPECTED_VERSION = "1.4.1"; uint32 public constant CANNON = 0; uint32 public constant PERMISSIONED_CANNON = 1; address public immutable OWNER_SAFE; address public immutable SYSTEM_CONFIG; IDisputeGameFactory public dgfProxy; address public fdgImpl; address public pdgImpl; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = IDisputeGameFactory(ISystemConfig(SYSTEM_CONFIG).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(CANNON, fdgImpl); _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType); IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl); require(Strings.equal(faultDisputeGame.version(), EXPECTED_VERSION), "00"); require(currentImpl.vm() == faultDisputeGame.vm(), "10"); require(currentImpl.weth() == faultDisputeGame.weth(), "20"); require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), "70"); require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), "80"); if (targetGameType == PERMISSIONED_CANNON) { IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl)); IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame)); require(currentPDG.proposer() == permissionedDisputeGame.proposer(), "90"); require(currentPDG.challenger() == permissionedDisputeGame.challenger(), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(dgfProxy.gameImpls(CANNON) == fdgImpl, "post-110"); require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, "post-120"); _postcheckHasAnchorState(CANNON); _postcheckHasAnchorState(PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(uint32 gameType) internal view { console.log("check anchor state exists", gameType); IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType)); (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType); require(root != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/validations/CB.md ================================================ # Validation for Coinbase Signers This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### CB Signer Safe - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` > > - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac` > - Message Hash: `0xfb35bb9de829bcf7b4a682ac101da587ee4fbd8a00b678c27cf752645789cc31` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### CB Signer Safe - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. ## Task State Changes ### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`) 0. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826`
**After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49`
**Value Type**: address
**Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826`
**Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.
1. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f`
**After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed`
**Value Type**: address
**Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f`
**Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED`
**Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000008`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**Value Type**: uint256
**Decoded Old Value**: `8`
**Decoded New Value**: `9`
**Meaning**: Increments the nonce
3. **Key**: `0xb6dd246ed63451030f1723985e9b9585b536e679783d2a9c70d84aa5a465dcb7`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9855054731540A48b28990B63DcF4f33d8AE46A1`.
### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000015`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**Value Type**: uint256
**Decoded Old Value**: `21`
**Decoded New Value**: `22`
**Meaning**: Increments the nonce
5. **Key**: `0xbb0e1c8c01e4568beec4555fc6acdf5ffe7d5c669a69fc2b4e6e0fae42db8834`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335` (you should see this in your terminal as the Nested hash for safe 0x9855054731540A48b28990B63DcF4f33d8AE46A1) and `NESTED_SAFE` is `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`.
### CB Signer Safe - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`) 6. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Increments the nonce
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/validations/OP.md ================================================ # Validation for Optimism Signers This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### OP Signer Safe - Mainnet: `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` > > - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890` > - Message Hash: `0x622b6fc8b2a90dd7a4bf039496c1cbbb1ca0dd703f55c2ae407692080c054a9e` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### OP Signer Safe - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. ## Task State Changes ### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`) 0. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826`
**After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49`
**Value Type**: address
**Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826`
**Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.
1. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f`
**After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed`
**Value Type**: address
**Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f`
**Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED`
**Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000008`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**Value Type**: uint256
**Decoded Old Value**: `8`
**Decoded New Value**: `9`
**Meaning**: Increments the nonce
3. **Key**: `0x677ccc35cbca06cc7e18392d16ec576e71fa6bee6c9228127ba81e2326729ab2`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`.
### OP Signer Safe - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000069`
**After**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Value Type**: uint256
**Decoded Old Value**: `105`
**Decoded New Value**: `106`
**Meaning**: Increments the nonce
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-04-23-upgrade-fault-proofs/validations/SC.md ================================================ # Validation for Security Council Signers This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Security Council Safe - Mainnet: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` > > - Domain Hash: `0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3` > - Message Hash: `0xfb35bb9de829bcf7b4a682ac101da587ee4fbd8a00b678c27cf752645789cc31` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Security Council Safe - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes ### Security Council Safe - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Increments the nonce
### Dispute Game Factory Proxy - Mainnet (`0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e`) 1. **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x000000000000000000000000e749aa49c3edaf1dcb997ea3dac23dff72bcb826`
**After**: `0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49`
**Value Type**: address
**Decoded Old Value**: `0xE749aA49c3eDAF1DCb997eA3DAC23dff72bcb826`
**Decoded New Value**: `0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.
2. **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x000000000000000000000000e17d670043c3cdd705a3223b3d89a228a1f07f0f`
**After**: `0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed`
**Value Type**: address
**Decoded Old Value**: `0xE17d670043c3cDd705a3223B3D89A228A1f07F0f`
**Decoded New Value**: `0xAB91FB6cef84199145133f75cBD96B8a31F184ED`
**Meaning**: Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000008`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**Value Type**: uint256
**Decoded Old Value**: `8`
**Decoded New Value**: `9`
**Meaning**: Increments the nonce
4. **Key**: `0xb6dd246ed63451030f1723985e9b9585b536e679783d2a9c70d84aa5a465dcb7`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x378644b143fa5f6becf1f80e7c66ebb76369df458d06f1d2a82ec1cae4124806` (you should see this in your terminal as the Nested hash for safe 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c) and `NESTED_SAFE` is `0x9855054731540A48b28990B63DcF4f33d8AE46A1`.
### CB Coordinator Safe - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) 5. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000015`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**Value Type**: uint256
**Decoded Old Value**: `21`
**Decoded New Value**: `22`
**Meaning**: Increments the nonce
6. **Key**: `0xd44aa84538c38f5f557ad41295befbb0b175c0e64da81611575bb33319b6c9f5`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xbb32860528d49e6103c942c2d7ffeb7d2ff304e1c86cec7c2bc445c3a3921335` (you should see this in your terminal as the Nested hash for safe 0x9855054731540A48b28990B63DcF4f33d8AE46A1) and `NESTED_SAFE` is `0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd`.
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-04-29-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign(address[])" [] .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign(address[])" [] .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-04-29-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 32.5 Mgas if invoked as part of the "upgrade" process, or revert to the old limit of 30 Mgas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-04-29-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 59 to 60: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003b After: 0x000000000000000000000000000000000000000000000000000000000000003c ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 120000000 to 130000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007270e00 After: 0x0000000000000000000000000000000000000000000000000000000007bfa480 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003c After: 0x000000000000000000000000000000000000000000000000000000000000003d ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007bfa480 After: 0x0000000000000000000000000000000000000000000000000000000007270e00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-04-29-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-04-29-increase-gas-limit/records/SetGasLimit.sol/1/run-1746038678.json ================================================ { "transactions": [ { "hash": "0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007bfa48000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x20654261c59ff3926955618417f46fd24b9d88e1d007a27fc722078719a8df3039d7720b59c114cef89553593528db0f6128386258bf0457e5d1157b02f677e81bb9e2050b7821036a4ed54ddb0387c4e442e46dd1d6c54c6f22db1b30766ed9f97864d6b377ec529d873f8b4a7e91f820d3368ee8b5160ee1d0cd6ae6e78c12611c4fdf2cd2c02c4ee51d05f02e3464c18f0dc65aadfa8ae99403cf9cd94c9c2a897cdaa3e319cb2a0892c57527653d955114b9aaf970844fb104a32fcabd9736711b" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e857", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000007bfa480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c320654261c59ff3926955618417f46fd24b9d88e1d007a27fc722078719a8df3039d7720b59c114cef89553593528db0f6128386258bf0457e5d1157b02f677e81bb9e2050b7821036a4ed54ddb0387c4e442e46dd1d6c54c6f22db1b30766ed9f97864d6b377ec529d873f8b4a7e91f820d3368ee8b5160ee1d0cd6ae6e78c12611c4fdf2cd2c02c4ee51d05f02e3464c18f0dc65aadfa8ae99403cf9cd94c9c2a897cdaa3e319cb2a0892c57527653d955114b9aaf970844fb104a32fcabd9736711b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf2b063", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000007bfa480", "blockHash": "0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc", "blockNumber": "0x1558c6e", "blockTimestamp": "0x68126f93", "transactionHash": "0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926", "transactionIndex": "0x96", "logIndex": "0x199", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xad05ed7def54516cce03ad2a56ebf80e5c6ddd3cfa2589d07c62f86284872ead0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc", "blockNumber": "0x1558c6e", "blockTimestamp": "0x68126f93", "transactionHash": "0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926", "transactionIndex": "0x96", "logIndex": "0x19a", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xf7cf62023fd5830c64ad28b284d97b62b65d9667aa5f67428c69581d000e7926", "transactionIndex": "0x96", "blockHash": "0x6af5286f21516dcbd886a620570a09d96587c9668eaf1a08d33997ac39a61bfc", "blockNumber": "0x1558c6e", "gasUsed": "0x1618e", "effectiveGasPrice": "0x1b2207b1", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746038678, "chain": 1, "commit": "faffa71" } ================================================ FILE: mainnet/2025-05-06-fund-ledgers/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) FundScript \ --sig "sign(address[])" "[]" --sender 0x969ffD102fbF304d4e401999333FE9397DaC653D .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) FundScript \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-05-06-fund-ledgers/README.md ================================================ # Funding Status: [EXECUTED](https://etherscan.io/tx/0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903) ## Description This task contains a single script that can be used to fund addresses from a Gnosis Safe. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-05-06-fund-ledgers make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: ```bash make sign ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [Ethereum State](./VALIDATION.md) validation instructions for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-05-06-fund-ledgers/VALIDATION.md ================================================ # Validation for Coinbase Signers This document can be used to validate the inputs and result of the execution of the funding transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289` > - Message Hash: `0x006e270985d13c3ee735ee87e4cac32a64928adbb6d1438fb4270f570611c467` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Adds the Multicall3 as an owner of the Multisig (Multicall3 -> SENTINEL_OWNERS). The key can be derived from `cast index address 0xca11bde05977b3631167028862be2a173976ca11 2`. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: Adds the Multicall3 as an owner of the Multisig (SENTINEL_OWNERS -> Multicall3). The key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`. ## Task State Changes ### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000003d`
**After**: `0x000000000000000000000000000000000000000000000000000000000000003e`
**Value Type**: uint256
**Decoded Old Value**: `61`
**Decoded New Value**: `62`
**Meaning**: Increments the nonce
1. **Balance**:
**Before**: `6901388753258052892`
**After**: `2901388753258052892`
**Decoded Old Value**: `6.901388753258052892 ETH`
**Decoded New Value**: `2.901388753258052892 ETH`
**Meaning**: Decreases the balance of the Multisig by 4.0 ETH.
### Ledger - Mainnet (`0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b`) 2. **Balance**:
**Before**: `73257648092217326`
**After**: `1073257648092217326`
**Decoded Old Value**: `0.73257648092217326 ETH`
**Decoded New Value**: `1.073257648092217326 ETH`
**Meaning**: Increases the balance of the Ledger by 1.0 ETH.
### Ledger - Mainnet (`0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc`) 3. **Balance**:
**Before**: `196117821806170970`
**After**: `1196117821806170970`
**Decoded Old Value**: `0.196117821806170970 ETH`
**Decoded New Value**: `1.196117821806170970 ETH`
**Meaning**: Increases the balance of the Ledger by 1.0 ETH.
### Ledger - Mainnet (`0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E`) 4. **Balance**:
**Before**: `99904441829080593`
**After**: `1099904441829080593`
**Decoded Old Value**: `0.099904441829080593 ETH`
**Decoded New Value**: `1.099904441829080593 ETH`
**Meaning**: Increases the balance of the Ledger by 1.0 ETH.
### Ledger - Mainnet (`0x9bF96DCf51959915c8c343a3E50820Ad069A1859`) 5. **Balance**:
**Before**: `0`
**After**: `1000000000000000000`
**Decoded Old Value**: `0.0 ETH`
**Decoded New Value**: `1.0 ETH`
**Meaning**: Increases the balance of the Ledger by 1.0 ETH.
### Ledger - Mainnet (`0x969ffD102fbF304d4e401999333FE9397DaC653D`) - Nonce increment for the sender of the simulated transaction. You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-05-06-fund-ledgers/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-05-06-fund-ledgers/funding.json ================================================ { "recipients": [ "0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E", "0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc", "0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b", "0x9bf96dcf51959915c8c343a3e50820ad069a1859" ], "funds": [ 1000000000000000000, 1000000000000000000, 1000000000000000000, 1000000000000000000 ] } ================================================ FILE: mainnet/2025-05-06-fund-ledgers/records/Fund.s.sol/1/run-1747176781.json ================================================ { "transactions": [ { "hash": "0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "4000000000000000000", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002600000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x1e5ea0fd9b2723c6cea3fb18450e66158fcc57e64cc23add7ec74e89e86c1c6c17f71e25101cbb1ddd15aab77c59f4a5365809ad5711e2e414df2a34cb4d18351ca652ff885ed74c7f92adee3cb44e62bae4f2199ebdfe318ac08bbceedf43e063139fd300a24d1292da3e83f5b52aaa4ef478808784d80ec46d00c4b146510b141c36b6908848054a9f4facf5df59f9ff3f33cc7fc742f81f5e5bb1f7b6a98ea19e1ddd87bbb0279f2a9c08196edf205d9005f0b75908cabe0e8c217df7e3ffc27c1c" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x30820", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000344174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002600000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31e5ea0fd9b2723c6cea3fb18450e66158fcc57e64cc23add7ec74e89e86c1c6c17f71e25101cbb1ddd15aab77c59f4a5365809ad5711e2e414df2a34cb4d18351ca652ff885ed74c7f92adee3cb44e62bae4f2199ebdfe318ac08bbceedf43e063139fd300a24d1292da3e83f5b52aaa4ef478808784d80ec46d00c4b146510b141c36b6908848054a9f4facf5df59f9ff3f33cc7fc742f81f5e5bb1f7b6a98ea19e1ddd87bbb0279f2a9c08196edf205d9005f0b75908cabe0e8c217df7e3ffc27c1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd43626", "logs": [ { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x779641866b5dcf8f40b73a2ba2e1fa54b33b2d26092718aa8274486aa6611fa70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8a0e38be677eddc68d65fea33d1d253207995a0ef7dac11931e96d01f4997f52", "blockNumber": "0x156fa4f", "blockTimestamp": "0x6823cd4b", "transactionHash": "0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903", "transactionIndex": "0x95", "logIndex": "0x500", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x022d62e853dfc9e8778181f6e8400f508d1a03fe99e9cbbf5076a7f669371903", "transactionIndex": "0x95", "blockHash": "0x8a0e38be677eddc68d65fea33d1d253207995a0ef7dac11931e96d01f4997f52", "blockNumber": "0x156fa4f", "gasUsed": "0x231e7", "effectiveGasPrice": "0x6ff6f687", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1747176781, "chain": 1, "commit": "b4115a3" } ================================================ FILE: mainnet/2025-05-06-fund-ledgers/script/Fund.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {console} from "forge-std/console.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract FundScript is MultisigScript { address internal immutable SAFE; uint256 internal immutable SAFE_BALANCE_BEFORE; uint256 internal immutable TOTAL_FUNDS; address[] internal RECIPIENTS; uint256[] internal FUNDS; uint256[] internal RECIPIENT_BALANCES_BEFORE; constructor() { Chain memory chain = getChain(block.chainid); console.log("Deploying on chain: %s", chain.name); SAFE = vm.envAddress("SAFE"); string memory funding = vm.readFile("./funding.json"); RECIPIENTS = vm.parseJsonAddressArray(funding, ".recipients"); FUNDS = vm.parseJsonUintArray(funding, ".funds"); uint256 totalFunds = 0; RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length); for (uint256 i; i < RECIPIENTS.length; i++) { RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance; totalFunds += FUNDS[i]; } SAFE_BALANCE_BEFORE = SAFE.balance; TOTAL_FUNDS = totalFunds; } function setUp() public view { _precheck(); } function _precheck() internal view { require(RECIPIENTS.length == FUNDS.length, "RECIPIENTS and FUNDS not same length"); require(RECIPIENTS.length > 0, "RECIPIENTS and FUNDS empty"); require(SAFE.balance >= TOTAL_FUNDS, "SAFE not enough balance"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](RECIPIENTS.length); for (uint256 i; i < RECIPIENTS.length; i++) { calls[i] = IMulticall3.Call3Value({target: RECIPIENTS[i], allowFailure: false, callData: "", value: FUNDS[i]}); } return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { for (uint256 i; i < RECIPIENTS.length; i++) { vm.assertEq( RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], "Recipient balance is not correct" ); } vm.assertEq(SAFE.balance, SAFE_BALANCE_BEFORE - TOTAL_FUNDS, "Owner safe balance is not correct"); } function _ownerSafe() internal view override returns (address) { return SAFE; } } ================================================ FILE: mainnet/2025-05-07-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif .PHONY: sign-upgrade sign-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign(address[])" [] .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign(address[])" [] .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-05-07-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of 35 Mgas/s if invoked as part of the "upgrade" process, or revert to the old limit of 32.5 Mgas/s if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-05-07-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 60 to 61: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003c After: 0x000000000000000000000000000000000000000000000000000000000000003d ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 130000000 to 140000000: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000007bfa480 After: 0x0000000000000000000000000000000000000000000000000000000008583b00 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000003d After: 0x000000000000000000000000000000000000000000000000000000000000003e ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000008583b00 After: 0x0000000000000000000000000000000000000000000000000000000007bfa480 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-05-07-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-05-07-increase-gas-limit/records/SetGasLimit.sol/1/run-1746637693.json ================================================ { "transactions": [ { "hash": "0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008583b0000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2d97cfbaa1c3c722100dbd793f9c2b8df50f8bb5878803ce6c953e92e54e2e652f5660fe782adb6a2015be08123b11156a07d59be7feb924c5f5a27dfd2f48d41ca80ca4f83b9251587b8dcfe5f6be23ffc47b998a8fbf6f1f5c577edb676c9ff449fdb6a9474ecd2a47502a4c9e4ec7b1f0cd6f5d585ad910e391c6aac30f77e71bd3fcbabee6aab99fc3b564c6ca0c2ace6e593b4a2c3632b6e8eb00fab92d663723b8beda33c0ebf37cd92578c1fd2a66dceed93a0faaf0b085ade0143a6b7f4c1c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1e837", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008583b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32d97cfbaa1c3c722100dbd793f9c2b8df50f8bb5878803ce6c953e92e54e2e652f5660fe782adb6a2015be08123b11156a07d59be7feb924c5f5a27dfd2f48d41ca80ca4f83b9251587b8dcfe5f6be23ffc47b998a8fbf6f1f5c577edb676c9ff449fdb6a9474ecd2a47502a4c9e4ec7b1f0cd6f5d585ad910e391c6aac30f77e71bd3fcbabee6aab99fc3b564c6ca0c2ace6e593b4a2c3632b6e8eb00fab92d663723b8beda33c0ebf37cd92578c1fd2a66dceed93a0faaf0b085ade0143a6b7f4c1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13da995", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008583b00", "blockHash": "0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1", "blockNumber": "0x1564d5c", "blockTimestamp": "0x681b937b", "transactionHash": "0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b", "transactionIndex": "0x10f", "logIndex": "0x1df", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xc231b30725174b0efa99ba32b4b9ba847299ae4dbe08f3b449f9aa5106573d650000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1", "blockNumber": "0x1564d5c", "blockTimestamp": "0x681b937b", "transactionHash": "0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b", "transactionIndex": "0x10f", "logIndex": "0x1e0", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xd7a88d9d11f40e175c6e9773ecc368ece7f65037398ea17fdc31849b3243571b", "transactionIndex": "0x10f", "blockHash": "0x93704c338947916ab44c502b82db04a184764179a3496be101c465e77fd2b9c1", "blockNumber": "0x1564d5c", "gasUsed": "0x16176", "effectiveGasPrice": "0x5345f9e0", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1746637693, "chain": 1, "commit": "3960c5c" } ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/Makefile ================================================ include ../../Makefile include ../.env include .env SCRIPT = UpdateSigners ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deps deps: new-go-deps new-forge-deps .PHONY: new-go-deps new-go-deps: go install github.com/jackchuma/state-diff@v0.0.1 .PHONY: new-forge-deps new-forge-deps: forge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604 .PHONY: gen-validation gen-validation: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT) \ --sig "sign(address[])" [] --sender 0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT) --sig "sign(address[])" [] .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT) --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast -vvvv ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236", "0x9bf96dcf51959915c8c343a3e50820ad069a1859", "0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3", "0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4", "0x541a833E4303EB56a45bE7E8E4A908db97568d1e" ], "OwnersToRemove": [ "0xe32868ec7762650DdE723e945D638A05900974F4", "0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04", "0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F", "0x969ffD102fbF304d4e401999333FE9397DaC653D", "0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18" ] } ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/README.md ================================================ # Update Mainnet Incident Multisig Signers Status: EXECUTED (https://etherscan.io/tx/0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8) ## Description We wish to update the owners of our [Incident Multisig](https://sepolia.etherscan.io/address/0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f) on Mainnet to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file. If this is your first signing task, follow the initial setup instructions below. If you have previously signed tasks in this repo, you can skip directly to the [Procedure](#procedure). ## Initial Setup These instructions are for initial setup of your development environment to install basic tools (e.g Go, Git etc.) needed for the rest of the README. ### 1. Install Homebrew Open your terminal and run the following command: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` ### 2. Once the installation completes, follow next steps You should see "next steps" in your terminal. Copy/paste the suggested commands. They should look like: ```bash echo >> /Users/yourname/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/yourname/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" ``` ### 3. Install Golang ```bash brew install go ``` ### 4. Install Foundry if Needed Inside Terminal run: ```bash forge --version ``` If you see an output that starts with `forge Version`, you have foundry installed and can proceed to the next step. If you do not get an output from `forge --version`, you need to install foundry with: ```bash curl -L https://foundry.paradigm.xyz | bash ``` After installation completes, quit / re-open your terminal and run: ```bash foundryup ``` If you see a `libusb` warning (`warning: libusb not found...`), you can safely ignore it and continue to the next step. ### 5. Make a free [Tenderly](https://tenderly.co/) account if you don't already have one. We will use this later on for simulating and validating the task transaction. ### 6. Clone Repo Inside Terminal run: ```bash git clone https://github.com/base/contract-deployments.git ``` ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-05-13-incident-multisig-signers make deps ``` ### 2. Setup Ledger Connect and unlock your Ledger with your 8-digit pin. Open the Ethereum application on Ledger so it displays the message "Application is ready". ### 3. Produce Simulation Run the following command in your terminal. Please note that blind signing must first be enabled on your Ledger. ```bash make sign ``` You will see a "Simulation link" from the output (yes, it's a big link). Paste the URL from your terminal in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. If you see the following text after the link in your terminal, "Insert the following hex into the 'Raw input data' field:", the following 2 steps are required. 1. Click the "Enter raw input data" option towards the bottom of the `Contract` component on the left side of your screen in Tenderly. 2. Paste the data string below "Insert the following hex into the 'Raw input data' field:" in your terminal into the "Raw input data" field. Click "Simulate Transaction". Example link below (just for reference): ```txt https://dashboard.tenderly.co/TENDERLY_USERNAME/TENDERLY_PROJECT/simulator/new?network=1&contractAddress=0xcA11bde05977b3631167028862bE2a173976CA11&from=0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38&stateOverrides=%5B%7B"contractAddress":"0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D,%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000003","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D,%7B"key":"0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0","value":"0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11"%7D,%7B"key":"0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D,%7B"contractAddress":"0x9855054731540A48b28990B63DcF4f33d8AE46A1","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D,%7B"contractAddress":"0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c","storage":%5B%7B"key":"0x0000000000000000000000000000000000000000000000000000000000000004","value":"0x0000000000000000000000000000000000000000000000000000000000000001"%7D%5D%7D%5D ``` ### 4. Validate Simulation We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. > [!NOTE] > Ensure you have "Dev Mode" turned on in Tenderly for these validations. This switch is usually located towards the top right of the Tenderly UI. #### 4.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. #### 4.2. Validate correctness of the state diff. Now click on the "State" tab. Refer to the [Validation](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. #### 4.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab in the Tenderly UI, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash, in the format: **`0x1901[domain hash][message hash]`**. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 5. Sign the Transaction Once the validations are done, it's time to actually sign the transaction. **Note: if your ledger is displaying the lock screen, you will need to unlock your Ledger again before running the sign command.** > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is your ledger address. ### 6. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Incident Safe - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056` > > - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289` > - Message Hash: `0xe243a7b102ee55fab372a2a658969edbdd4bc72f64ec3bc6d1b00df3c18186c7` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Incident Safe - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0xcb04adfc92ac8bcb063843650e7eccac4db23770c71f915f24843a4bac7f4c42`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. ## Task State Changes ### Incident Safe - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Value Type**: uint256
**Decoded Old Value**: `1`
**Decoded New Value**: `3`
**Meaning**: Updates the execution threshold
1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000003f`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000040`
**Value Type**: uint256
**Decoded Old Value**: `63`
**Decoded New Value**: `64`
**Meaning**: Increments the nonce
2. **Key**: `0x3e47e5a7008d8f759d6280371eab88504a2da941f80f6ebfdd83b6154e409aff`
**Before**: `0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0xa7a5e47D3959bf134e3EcdEb1f62e054f0D58a18`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Removes `0x969ffd102fbf304d4e401999333fe9397dac653d` from the owners list. This key can be derived from `cast index address 0x969ffd102fbf304d4e401999333fe9397dac653d 2`.
3. **Key**: `0x3ec917e183b9e8fcc093eeab8fb03c822155d7e91a8de91af2ddd607da113e81`
**Before**: `0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0x969ffD102fbF304d4e401999333FE9397DaC653D`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Removes `0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f` from the owners list. This key can be derived from `cast index address 0x8e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f 2`.
4. **Key**: `0x56a2719ad2beef0c19441f84d407dd2c9784ca8c8f85fb6f5c8696628c63fd10`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff4`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0x4427683AA1f0ff25ccDC4a5Db83010c1DE9b5fF4`
**Meaning**: Adds `0x541a833e4303eb56a45be7e8e4a908db97568d1e` to the owners mapping. This key can be derived from `cast index address 0x541a833e4303eb56a45be7e8e4a908db97568d1e 2`.
5. **Key**: `0x62fe150de8c52e909210d81e8e6e1cf7130e5cd644fb4b95d1cdf9c7ffa67ce1`
**Before**: `0x0000000000000000000000005468985b560d966dedea2daf493f5756101137dc`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0x5468985B560D966dEDEa2DAF493f5756101137DC`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Removes `0xe32868ec7762650dde723e945d638a05900974f4` from the owners list. This key can be derived from `cast index address 0xe32868ec7762650dde723e945d638a05900974f4 2`.
6. **Key**: `0x680f53193021c7b5ff32fc6154805dcdc0fe6dae60134f899becf9139fee0f45`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236`
**Meaning**: Adds `0x9bf96dcf51959915c8c343a3e50820ad069a1859` to the owners list. This key can be derived from `cast index address 0x9bf96dcf51959915c8c343a3e50820ad069a1859 2`.
7. **Key**: `0x738e743b0e4f327810ae0f138c7c5012854e2f43043547bef588cf84df24f166`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x00000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b`
**Meaning**: Adds `0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236` to the owners list. This key can be derived from `cast index address 0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236 2`.
8. **Key**: `0x7ea68b3c8a7f7867f7b6d6e5bd030223645fb027b0eb1dd797ca76b222c926e4`
**Before**: `0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04`
**After**: `0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d`
**Value Type**: address
**Decoded Old Value**: `0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04`
**Decoded New Value**: `0xa3D3c103442F162856163d564b983ae538c6202D`
**Meaning**: Removes `0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04` from the owners list. This key can be derived from `cast index address 0x92b79e6c995ee8b267ec1ac2743d1c1fbfffc447 2`.
9. **Key**: `0x95d1aa1bb172c2bf1f8f9d26147578664d9c87a13833e5ec836b94816dd5e63c`
**Before**: `0x000000000000000000000000e32868ec7762650dde723e945d638a05900974f4`
**After**: `0x0000000000000000000000005468985b560d966dedea2daf493f5756101137dc`
**Value Type**: address
**Decoded Old Value**: `0xe32868ec7762650DdE723e945D638A05900974F4`
**Decoded New Value**: `0x5468985B560D966dEDEa2DAF493f5756101137DC`
**Meaning**: Removes `0xe32868ec7762650DdE723e945D638A05900974F4` from the owners list. This key can be derived from `cast index address 0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e 2`.
10. **Key**: `0xaae1b570ab817af80d8c0d204fb15e028c217d77afad5a3c8113d93575274af8`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0xA31E1c38d5c37D8ECd0e94C80C0F7FD624d009A3`
**Meaning**: Adds `0x4427683aa1f0ff25ccdc4a5db83010c1de9b5ff4` to the owners mapping. This key can be derived from `cast index address 0x4427683aa1f0ff25ccdc4a5db83010c1de9b5ff4 2`.
11. **Key**: `0xabc107d46e415c7424b4c72993ba52c8e074fa848b10488b90787fa482da8347`
**Before**: `0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f`
**After**: `0x00000000000000000000000049243dce94e0f5a1b08b9556bbec5a84363c3839`
**Value Type**: address
**Decoded Old Value**: `0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F`
**Decoded New Value**: `0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839`
**Meaning**: Removes `0x8e5de5cA219e3FFC9cdEb2Dc7D71B8a199cd2C4F` from the owners list. This key can be derived from `cast index address 0xa3d3c103442f162856163d564b983ae538c6202d 2`.
12. **Key**: `0xb66edc9a114e89f02d0b7982582a48a539d388af46cfade8e93f01cba0973729`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0x9bF96DCf51959915c8c343a3E50820Ad069A1859`
**Meaning**: Adds `0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3` to the owners list. This key can be derived from `cast index address 0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3 2`.
13. **Key**: `0xca733c6877c078939a707e6eea1eb08fff5a682cadbaa29107c5aabdc24983b8`
**Before**: `0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0xa3D3c103442F162856163d564b983ae538c6202D`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Removes `0xc29a4a69886d5ee1e08bdbbdd4e35558a668ee04` from the owners list. This key can be derived from `cast index address 0xc29a4a69886d5ee1e08bdbbdd4e35558a668ee04 2`.
14. **Key**: `0xd4e846dd026aea5c5e68c86a209545a745eebd848b6efbdf801969a785e0fdd8`
**Before**: `0x00000000000000000000000049243dce94e0f5a1b08b9556bbec5a84363c3839`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Removes `0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18` from the owners list. This key can be derived from `cast index address 0xa7a5e47d3959bf134e3ecdeb1f62e054f0d58a18 2`.
15. **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Before**: `0x00000000000000000000000024c3ae1aedb8142d32bb6d3b988f5910f272d53b`
**After**: `0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e`
**Value Type**: address
**Decoded Old Value**: `0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b`
**Decoded New Value**: `0x541a833E4303EB56a45bE7E8E4A908db97568d1e`
**Meaning**: Sets the head of the owners linked list. This key can be derived from `cast index address 0x0000000000000000000000000000000000000001 2`.
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/records/UpdateSigners.s.sol/1/run-1749035499.json ================================================ { "transactions": [ { "hash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000ac000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f23600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e000000000000000000000000e32868ec7762650dde723e945d638a05900974f400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee0400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x48131d8227cb9fa838a8e8e5f0650de93cfea766c8e0a43795a5936a44e5460278851e0815ef26bc95a9dccb85f906fbf86cedd924bcdb980f6c876ce6e89aef1c8cb77dc59b1f6963e45e77153f69865691c855a79d5c072ef14987bd9ca07b7d34fafca5ec1d6a1ee370d9ae078e9c5c7c46fe946db3e9ec946081d70ed71ec21bc2b876613dba020b97f3d3565e08bc4504f6917e44b5f5e796ae9551f0330928006fc5eafadb7f3b05a5e85ef9883bb80cd3e55c2bbd4fccf3ee30a0fe25b8621c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x59de9", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000c24174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000760000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000ac000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f23600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a185900000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000007ad8e6b7b1f6d66f49559f20053cef8a7b6c488e000000000000000000000000e32868ec7762650dde723e945d638a05900974f400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee0400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a180000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c348131d8227cb9fa838a8e8e5f0650de93cfea766c8e0a43795a5936a44e5460278851e0815ef26bc95a9dccb85f906fbf86cedd924bcdb980f6c876ce6e89aef1c8cb77dc59b1f6963e45e77153f69865691c855a79d5c072ef14987bd9ca07b7d34fafca5ec1d6a1ee370d9ae078e9c5c7c46fe946db3e9ec946081d70ed71ec21bc2b876613dba020b97f3d3565e08bc4504f6917e44b5f5e796ae9551f0330928006fc5eafadb7f3b05a5e85ef9883bb80cd3e55c2bbd4fccf3ee30a0fe25b8621c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x11160c7", "logs": [ { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b1", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b2", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b3", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000004427683aa1f0ff25ccdc4a5db83010c1de9b5ff4", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b4", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b5", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000e32868ec7762650dde723e945d638a05900974f4", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b6", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b7", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000008e5de5ca219e3ffc9cdeb2dc7d71b8a199cd2c4f", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b8", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000969ffd102fbf304d4e401999333fe9397dac653d", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1b9", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000a7a5e47d3959bf134e3ecdeb1f62e054f0d58a18", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1ba", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x225ee979aaeaeb1603edcadfd6d5744c2ea9e7e235be97f828be88818a9bc0d60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "blockTimestamp": "0x684029e7", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "logIndex": "0x1bb", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x3afa96e86ed1898cc9cf1a8b37ac99c63754e3063aecd0910fb9e12b48b69fd8", "transactionIndex": "0x10b", "blockHash": "0xdf82a3f85a9ad88ccc61ace389ff75a60e70feed3bdf226ab9300a3b0f95e21a", "blockNumber": "0x15951ed", "gasUsed": "0x41106", "effectiveGasPrice": "0x8314eca0", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749035499, "chain": 1, "commit": "db17f80" } ================================================ FILE: mainnet/2025-05-13-incident-multisig-signers/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {OwnerManager} from "safe-smart-account/base/OwnerManager.sol"; contract UpdateSigners is MultisigScript { using stdJson for string; address public constant SENTINEL_OWNERS = address(0x1); address public immutable OWNER_SAFE; uint256 public immutable THRESHOLD; address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() external { require(OWNERS_TO_ADD.length > 0, "Precheck 00"); require(OWNERS_TO_REMOVE.length > 0, "Precheck 01"); require(EXISTING_OWNERS.length == 14, "Precheck 02"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address prevOwner = SENTINEL_OWNERS; for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "Precheck 03"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Precheck 04"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)), value: 0 }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall( OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ), value: 0 }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "sign(address[])" "[]" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/README.md ================================================ # EIP-1559 Denominator 250 -> 50 Reduction Status: [EXECUTED](https://etherscan.io/tx/0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3) ## Description This task contains a single script that reduces the EIP-1559 denominator from 250 to 50. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-05-15-EIP1559-denominator-reduction make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: ```bash make sign ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [validations instructions](./VALIDATION.md) for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/VALIDATION.md ================================================ # Validation for Coinbase Signers This document can be used to validate the inputs and result of the execution of the EIP-1559 denominator reduction script which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Incident Multisig - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056` > > - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289` > - Message Hash: `0xec8524022c8c43daf2a8ec1ed0990e9f9870f2b420278190ac079782c7bd3241` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0xb2e9994c6b31ed56228de129778956be15269b0c7c0536d91dd4772660ea897a`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. ## Task State Changes ### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000003e`
**After**: `0x000000000000000000000000000000000000000000000000000000000000003f`
**Value Type**: uint256
**Decoded Old Value**: `62`
**Decoded New Value**: `63`
**Meaning**: Increments the nonce
### SystemConfig - Mainnet (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`) 1. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Before**: `0x00000000000000000000000000000000000000000000000000000002000000fa`
**After**: `0x0000000000000000000000000000000000000000000000000000000200000032`
**Value Type**: (uint32,uint32,uint32,uint32)
**Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `250`
**Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `50`
**Meaning**: Sets the eip1559Denominator to 50
### Sender - Mainnet - Nonce increment for the sender of the simulated transaction. You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/1/run-1748379182.json ================================================ { "transactions": [ { "hash": "0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x19f326d29db89b46f6c0c38673380a971011ab19d879394c907484be671e345c148db2113fa125262050f3149225ab7f5b5941d4a961d949fbb6b2d9143374cf1c7cf7eeb128e38ba04f1013f3a04723355a3cec1f2e84b6449f00a28d8e96b1d0065a687351c7013f709bd60202a541bd850c0ad9804b21de7ed33920d1b7a08b1c47af3d4efbf444082c807b380ef7f51d07a872db9bf2cbeccc8d307317711b2620d824caab28cc2ee2b0348ff26115a8ee614e533ca7e93d720d923732bfc3031c" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1f9fc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b4100000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c319f326d29db89b46f6c0c38673380a971011ab19d879394c907484be671e345c148db2113fa125262050f3149225ab7f5b5941d4a961d949fbb6b2d9143374cf1c7cf7eeb128e38ba04f1013f3a04723355a3cec1f2e84b6449f00a28d8e96b1d0065a687351c7013f709bd60202a541bd850c0ad9804b21de7ed33920d1b7a08b1c47af3d4efbf444082c807b380ef7f51d07a872db9bf2cbeccc8d307317711b2620d824caab28cc2ee2b0348ff26115a8ee614e533ca7e93d720d923732bfc3031c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc2a34a", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000002", "blockHash": "0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d", "blockNumber": "0x1587df6", "blockTimestamp": "0x6836262b", "transactionHash": "0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3", "transactionIndex": "0x99", "logIndex": "0x1a5", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x3f5a337d48d68e036869505e5929c86e94e8cd3855f378aab2884bc878e977e40000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d", "blockNumber": "0x1587df6", "blockTimestamp": "0x6836262b", "transactionHash": "0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3", "transactionIndex": "0x99", "logIndex": "0x1a6", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x7841cdb1fc6b4e28866c17e2d440f6c672cd24af4c4629b778ae019d0dc619e3", "transactionIndex": "0x99", "blockHash": "0x12c0d17e76109952eb6d10dcc80e8979ffa6a288d1d2d5df42a1fd5c9362585d", "blockNumber": "0x1587df6", "gasUsed": "0x159f9", "effectiveGasPrice": "0x5ca501000", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748379182, "chain": 1, "commit": "7c1a66b" } ================================================ FILE: mainnet/2025-05-15-eip1559-denominator-reduction/script/ReduceEip1559Denominator.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; } contract ReduceEip1559DenominatorScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal constant DENOMINATOR = 250; uint32 internal constant ELASTICITY = 2; uint32 internal constant NEW_DENOMINATOR = 50; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function setUp() external view { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif # Overwriting this from top level makefile to change the branch .PHONY: checkout-op-commit checkout-op-commit: rm -rf lib/optimism mkdir -p lib/optimism cd lib/optimism; \ git init; \ git remote add origin $(OP_REPO); \ git fetch --depth=1 origin tag $(OP_VERSION) --no-tags; \ git checkout $(OP_VERSION); \ git apply ../../$(OP_CONTRACT_PATCH) .PHONY: deps deps: new-go-deps .PHONY: new-go-deps new-go-deps: go install github.com/jackchuma/state-diff@v0.0.3 .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySystemConfigScript --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --verify --broadcast # # ┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐ # │ Base Nested │ │ Base Security Council │ │ OP │ # │ (3 of 6) │ │ (7 of 10) │ │ (5 of 7) │ # │ 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110 │ │ 0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd │ │ 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A │ # └─────────────────────┬───────────────────────┘ └─────────────────────┬───────────────────────┘ └─────────────────────┬───────────────────────┘ # │ │ │ # └─────────────────┬───────────────────────────────────┘ │ # ▼ │ # ┌─────────────────────────────────────────────┐ │ # │ Base │ │ # │ 0x9855054731540A48b28990B63DcF4f33d8AE46A1 │ │ # └─────────────────────┬───────────────────────┘ │ # │ │ # └─────────────────┬────────────────────────────────────────────────────────────────┘ # ▼ # ┌─────────────────────────────────────────────┐ # │ ProxyAdminOwner │ # │ 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c │ # └─────────────────────────────────────────────┘ # OPTIMISM .PHONY: gen-validation-op gen-validation-op: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o OP_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(OP_MULTISIG)]" \ --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64 .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(OP_MULTISIG)]" .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(OP_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE NESTED .PHONY: gen-validation-cb gen-validation-cb: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o BASE_NESTED_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" \ --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50 .PHONY: sign-cb sign-cb: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" .PHONY: approve-cb approve-cb: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE SC .PHONY: gen-validation-sc gen-validation-sc: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o BASE_SC_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" \ --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6 .PHONY: sign-sc sign-sc: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" .PHONY: approve-sc approve-sc: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE .PHONY: approve-base approve-base: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_MULTISIG)]" 0x \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # Execute .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "run(bytes)" 0x --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/README.md ================================================ # Upgrade System Config Status: [EXECUTED](https://etherscan.io/tx/0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b) ## Description This task contains two scripts: 1. `DeploySystemConfigScript` - This script deploys the new system config implementation. 2. `UpgradeSystemConfigScript` - This script performs the upgrade to the new implementation deployed in the previous step. NOTE: Signers should not care about the `DeploySystemConfigScript` script as it will be ran before hand by the facilitator. The rest of this document will focus on using the `UpgradeSystemConfigScript` script. We are performing this upgrade as part of the larger [Upgrade 16](https://docs.optimism.io/notices/upgrade-16), which is scheduled to take place in the near future. This minimal code change is being done only on Base, to avoid Base from being blocked on scaling plan efforts prior to landing Upgrade 16. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-06-04-upgrade-system-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: For Optimism signers: ```bash make sign-op ``` For Base signers: ```bash make sign-cb ``` For Base Security Council signers: ```bash make sign-sc ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the validations instructions for the transaction you are signing: - For Optimism signers: [validations instructions](./validations/OP_VALIDATION.md) - For Base signers: [validations instructions](./validations/BASE_NESTED_VALIDATION.md) - For Base Security Council signers: [validations instructions](./validations/BASE_SC_VALIDATION.md) Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `GnosisSafe.checkSignatures` (for Optimism signers) or `Safe.checkSignatures` (for Coinbase and Security Council signers) call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/addresses.json ================================================ { "systemConfig": "0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', 'src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries', 'interfaces/universal/=lib/optimism/packages/contracts-bedrock/interfaces/universal', 'interfaces/L1/=lib/optimism/packages/contracts-bedrock/interfaces/L1', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/patch/max-gas-limit.patch ================================================ diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol index e767bc64a..a7617d5e8 100644 --- a/packages/contracts-bedrock/src/L1/SystemConfig.sol +++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol @@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver { /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks /// on L2 are not too large to process and prove. Over time, this value can be increased as various /// optimizations and improvements are made to the system at large. - uint64 internal constant MAX_GAS_LIMIT = 200_000_000; + uint64 internal constant MAX_GAS_LIMIT = 500_000_000; /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation. /// Deprecated since the Ecotone network upgrade @@ -136,9 +136,9 @@ contract SystemConfig is OwnableUpgradeable, ISemver { event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data); /// @notice Semantic version. - /// @custom:semver 2.5.0 + /// @custom:semver 2.5.0+max-gas-limit-500M function version() public pure virtual returns (string memory) { - return "2.5.0"; + return "2.5.0+max-gas-limit-500M"; } /// @notice Constructs the SystemConfig contract. ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/DeploySystemConfig.s.sol/1/run-1749474907.json ================================================ { "transactions": [ { "hash": "0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963", "transactionType": "CREATE", "contractName": "SystemConfig", "contractAddress": "0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e", "function": null, "arguments": null, "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "gas": "0x29829f", "value": "0x0", "input": "0x60806040523480156200001157600080fd5b506200005a6200004360017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000130565b60001b6000196200006a60201b620010c61760201c565b620000646200006e565b62000156565b9055565b600054610100900460ff1615620000db5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200012e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015157634e487b7160e01b600052601160045260246000fd5b500390565b61243380620001666000396000f3fe608060405234801561001057600080fd5b50600436106102ff5760003560e01c8063a71198691161019c578063dac6e63a116100ee578063f2fde38b11610097578063f8c68de011610071578063f8c68de0146107a6578063fd32aa0f146107ae578063ffa1ad74146107b657600080fd5b8063f2fde38b14610776578063f45e65d814610789578063f68016b71461079257600080fd5b8063e81b2c6d116100c8578063e81b2c6d14610745578063ec7075171461074e578063f2b4e6171461076e57600080fd5b8063dac6e63a1461072d578063e0e2016d14610735578063e2a3285c1461073d57600080fd5b8063c4e8ddfa11610150578063ca407f0c1161012a578063ca407f0c146105d6578063cc731b02146105e9578063d220a9e01461071d57600080fd5b8063c4e8ddfa146105a3578063c9b26f61146105ab578063c9ff2d16146105be57600080fd5b8063bc49ce5f11610181578063bc49ce5f1461056c578063bfb14fb714610574578063c0fd4b411461059057600080fd5b8063a711986914610551578063b40a817c1461055957600080fd5b806348cd4cb1116102555780635d73369c11610209578063935f029e116101e3578063935f029e146104c05780639b7d7f0a146104d3578063a39fac12146104db57600080fd5b80635d73369c14610492578063715018a61461049a5780638da5cb5b146104a257600080fd5b80634d5d9a2a1161023a5780634d5d9a2a146103fb5780634f16540b1461042c57806354fd4d501461045357600080fd5b806348cd4cb1146103eb5780634add321d146103f357600080fd5b8063155b6c6f116102b757806319f5cea81161029157806319f5cea8146103c85780631fd19ee1146103d057806321d7fde5146103d857600080fd5b8063155b6c6f1461037c57806316d3bc7f1461039157806318d13918146103b557600080fd5b80630a49cb03116102e85780630a49cb031461034c5780630ae14b1b146103545780630c18c1621461037357600080fd5b806306c9265714610304578063078f29cf1461031f575b600080fd5b61030c6107be565b6040519081526020015b60405180910390f35b6103276107ec565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610316565b610327610825565b631dcd65005b60405167ffffffffffffffff9091168152602001610316565b61030c60655481565b61038f61038a366004611f06565b610855565b005b606a5461035a906c01000000000000000000000000900467ffffffffffffffff1681565b61038f6103c3366004611f5d565b61086b565b61030c61087f565b6103276108aa565b61038f6103e6366004611f7f565b6108d4565b61030c6108e6565b61035a610916565b606a546104179068010000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610316565b61030c7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252601881527f322e352e302b6d61782d6761732d6c696d69742d3530304d0000000000000000602082015290516103169190612014565b61030c61093c565b61038f610967565b60335473ffffffffffffffffffffffffffffffffffffffff16610327565b61038f6104ce366004612027565b61097b565b61032761098d565b6104e36109bd565b6040516103169190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b610327610ace565b61038f610567366004612049565b610afe565b61030c610b0f565b6068546104179068010000000000000000900463ffffffff1681565b61038f61059e366004611f7f565b610b3a565b610327610b4c565b61038f6105b9366004612064565b610b7c565b606a5461041790640100000000900463ffffffff1681565b61038f6105e43660046121a7565b610b8d565b6106ad6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103169190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546104179063ffffffff1681565b610327610f06565b61030c610f36565b61030c610f61565b61030c60675481565b606854610417906c01000000000000000000000000900463ffffffff1681565b610327610f8c565b61038f610784366004611f5d565b610fbc565b61030c60665481565b60685461035a9067ffffffffffffffff1681565b61030c611070565b61030c61109b565b61030c600081565b6107e960017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b81565b600061082061081c60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b5490565b905090565b600061082061081c60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b61085d6110ca565b610867828261114b565b5050565b6108736110ca565b61087c8161125b565b50565b6107e960017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b60006108207f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b6108dc6110ca565b6108678282611318565b600061082061081c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b6069546000906108209063ffffffff6a010000000000000000000082048116911661233c565b6107e960017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b61096f6110ca565b610979600061141d565b565b6109836110ca565b6108678282611494565b600061082061081c60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c00160405280610a02610ace565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a25610b4c565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a486107ec565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a6b610f8c565b73ffffffffffffffffffffffffffffffffffffffff168152602001610a8e610825565b73ffffffffffffffffffffffffffffffffffffffff168152602001610ab161098d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b600061082061081c60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b610b066110ca565b61087c8161156a565b6107e960017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b610b426110ca565b61086782826116c0565b600061082061081c60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b610b846110ca565b61087c81611892565b600054610100900460ff1615808015610bad5750600054600160ff909116105b80610bc75750303b158015610bc7575060005460ff166001145b610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610cb657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610cbe6118ba565b610cc78a610fbc565b610cd087611892565b610cda8989611318565b610ce38661156a565b610d0c7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b610d3f610d3a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b849055565b610d73610d6d60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612325565b83519055565b610daa610da160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612325565b60208401519055565b610de1610dd860017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b60408401519055565b610e18610e0f60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b60608401519055565b610e4f610e4660017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b60808401519055565b610e86610e7d60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612325565b60a08401519055565b610e8e611959565b610e97846119c1565b8015610efa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b600061082061081c60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612325565b6107e960017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b6107e960017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b600061082061081c60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907612325565b610fc46110ca565b73ffffffffffffffffffffffffffffffffffffffff8116611067576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c4f565b61087c8161141d565b6107e960017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612325565b6107e960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612325565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c4f565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161124e9190612014565b60405180910390a3505050565b6112847f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161130c9190612014565b60405180910390a35050565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600161121d565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7fff00000000000000000000000000000000000000000000000000000000000000811615611544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610c4f565b6065829055606681905560408051602081018490529081018290526000906060016113e6565b611572610916565b67ffffffffffffffff168167ffffffffffffffff1610156115ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610c4f565b631dcd650067ffffffffffffffff82161115611667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610c4f565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026112db565b60018263ffffffff161015611757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610c4f565b60018163ffffffff1610156117ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610c4f565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909316918616919091179190911790915560405160009161185b91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600461121d565b60678190556040805160208082018490528251808303909101815290820190915260006112db565b600054610100900460ff16611951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c4f565b610979611e35565b61198761081c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b600003610979576109796119bc60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612325565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610c4f565b6001816040015160ff1611611b08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610c4f565b6068546080820151825167ffffffffffffffff90921691611b299190612368565b63ffffffff161115611b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610c4f565b6000816020015160ff1611611c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610c4f565b8051602082015163ffffffff82169160ff90911690611c4e908290612387565b611c5891906123d1565b63ffffffff1614611ceb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610c4f565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff16611ecc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c4f565b6109793361141d565b803563ffffffff81168114611ee957600080fd5b919050565b803567ffffffffffffffff81168114611ee957600080fd5b60008060408385031215611f1957600080fd5b611f2283611ed5565b9150611f3060208401611eee565b90509250929050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ee957600080fd5b600060208284031215611f6f57600080fd5b611f7882611f39565b9392505050565b60008060408385031215611f9257600080fd5b611f9b83611ed5565b9150611f3060208401611ed5565b6000815180845260005b81811015611fcf57602081850181015186830182015201611fb3565b81811115611fe1576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f786020830184611fa9565b6000806040838503121561203a57600080fd5b50508035926020909101359150565b60006020828403121561205b57600080fd5b611f7882611eee565b60006020828403121561207657600080fd5b5035919050565b60405160c0810167ffffffffffffffff811182821017156120c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114611ee957600080fd5b600060c082840312156120f057600080fd5b60405160c0810181811067ffffffffffffffff8211171561213a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061214983611f39565b815261215760208401611f39565b602082015261216860408401611f39565b604082015261217960608401611f39565b606082015261218a60808401611f39565b608082015261219b60a08401611f39565b60a08201525092915050565b6000806000806000806000806000898b036102608112156121c757600080fd5b6121d08b611f39565b99506121de60208c01611ed5565b98506121ec60408c01611ed5565b975060608b0135965061220160808c01611eee565b955061220f60a08c01611f39565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408201121561224157600080fd5b5061224a61207d565b61225660c08c01611ed5565b815261226460e08c016120cd565b60208201526122766101008c016120cd565b60408201526122886101208c01611ed5565b606082015261229a6101408c01611ed5565b60808201526101608b01356fffffffffffffffffffffffffffffffff811681146122c357600080fd5b60a082015292506122d76101808b01611f39565b91506122e78b6101a08c016120de565b90509295985092959850929598565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612337576123376122f6565b500390565b600067ffffffffffffffff80831681851680830382111561235f5761235f6122f6565b01949350505050565b600063ffffffff80831681851680830382111561235f5761235f6122f6565b600063ffffffff808416806123c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156123f4576123f46122f6565b0294935050505056fea2646970667358221220284267a50d84ed1ce6fa056718d87932bdc0f7404023d81afeccdd7ed1beb31864736f6c634300080f0033", "nonce": "0x3", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xddd21c", "logs": [ { "address": "0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xedfaf4f969366ea64c6d0dc85f8d2717cd18c44450c8f0a920c01143736af5b5", "blockNumber": "0x159dff5", "blockTimestamp": "0x6846de47", "transactionHash": "0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963", "transactionIndex": "0x82", "logIndex": "0x185", "removed": false } ], "logsBloom": "0x00000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000010000000000000000000000000000000000000000000000000000800000000000000000000", "type": "0x2", "transactionHash": "0x6edf34537c8dc412faf6fe732ad68b4fa9d54285471e17b043acb589655d6963", "transactionIndex": "0x82", "blockHash": "0xedfaf4f969366ea64c6d0dc85f8d2717cd18c44450c8f0a920c01143736af5b5", "blockNumber": "0x159dff5", "gasUsed": "0x1ff0ad", "effectiveGasPrice": "0x1a870dc8c", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": null, "contractAddress": "0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749474907, "chain": 1, "commit": "ba53207" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xffdd52", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "blockTimestamp": "0x685ad7bb", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "logIndex": "0x18f", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "blockTimestamp": "0x685ad7bb", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "logIndex": "0x190", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000400101000004000000000000000000100000000000000002001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "gasUsed": "0x165f5", "effectiveGasPrice": "0x17f92ba36", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750783934, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783683.json ================================================ { "transactions": [ { "hash": "0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x855e34b851090eeedfdb71de27bbd0617619f739af989a54a39ea52db5685fe426cd1c6b29c0cc5f40ab916bd17483bb9b8cc995f68abcee07f6e494125b98041b4acdf4de54972a20ead0de868bafa06e63e60e414a308e9dc6443837325e40236ff43dd640bed41d1ae857785d73639b557a441c0df6e29ff41fc1d9a822c21d1b59f224f36fe78bd74a418e95abd7ee96e09d811279585b84786d243c2d24a74d1d013525cf3c1cb31809e8271b8b4a22e22d05ecb6cf1474e8c448fb5d96c7f31c2c687042c3a223664f2bff92590f7cce853dedd475923767fbca6d0f9d823ab07516780bdc396680a022fa63d7a73883738ddde95b4e3e1d06f1dcb9b7dcbc1e1b5abd4fcf454fe1ed0e80ff295b03fe1dc4f7e6cee4406d8079263f3a5f2540597db296bc8fcb7c88b19cefd5fe08830ef29dbe978238d258a67069cf2a9ea19e1b3d6c534083a62d5b42c382ec78107569992adab830ffae98533ff9a7c14d680a5b0a42610265abfc3cc21a71ae0ea14839ab3c254623723bb0c46bae125d3a991c8a85ddfcdeaf7feeb1d6e3bec28f8a39471ab3af5ba1034a9ccf3104f805ca88412fb58c4cb4f74deb42e25acc87faf01d2bbecc9576e2b28e17ff1eab202a7d1b" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2f5a1", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7855e34b851090eeedfdb71de27bbd0617619f739af989a54a39ea52db5685fe426cd1c6b29c0cc5f40ab916bd17483bb9b8cc995f68abcee07f6e494125b98041b4acdf4de54972a20ead0de868bafa06e63e60e414a308e9dc6443837325e40236ff43dd640bed41d1ae857785d73639b557a441c0df6e29ff41fc1d9a822c21d1b59f224f36fe78bd74a418e95abd7ee96e09d811279585b84786d243c2d24a74d1d013525cf3c1cb31809e8271b8b4a22e22d05ecb6cf1474e8c448fb5d96c7f31c2c687042c3a223664f2bff92590f7cce853dedd475923767fbca6d0f9d823ab07516780bdc396680a022fa63d7a73883738ddde95b4e3e1d06f1dcb9b7dcbc1e1b5abd4fcf454fe1ed0e80ff295b03fe1dc4f7e6cee4406d8079263f3a5f2540597db296bc8fcb7c88b19cefd5fe08830ef29dbe978238d258a67069cf2a9ea19e1b3d6c534083a62d5b42c382ec78107569992adab830ffae98533ff9a7c14d680a5b0a42610265abfc3cc21a71ae0ea14839ab3c254623723bb0c46bae125d3a991c8a85ddfcdeaf7feeb1d6e3bec28f8a39471ab3af5ba1034a9ccf3104f805ca88412fb58c4cb4f74deb42e25acc87faf01d2bbecc9576e2b28e17ff1eab202a7d1b00000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1347c96", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834", "blockNumber": "0x15b871a", "blockTimestamp": "0x685ad6bf", "transactionHash": "0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54", "transactionIndex": "0xc6", "logIndex": "0x241", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xcb2722bcd40389a4e5256df6bd25c54cf47549ffa2ad5319e9b8ec197d51f5af" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834", "blockNumber": "0x15b871a", "blockTimestamp": "0x685ad6bf", "transactionHash": "0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54", "transactionIndex": "0xc6", "logIndex": "0x242", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000000000000008000000000008440020000000000000000000800000000200000000000000000000100000000400000000000000000000000000000000000000000000000008004000000000400000000000000000400000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x09615a8659677b942bf43f6e600d183f47084b4fbd09bb069c12c29a236bda54", "transactionIndex": "0xc6", "blockHash": "0xd8991662036c8d047d2e02f14882afb75546c2a32bdc66e56051cae37b067834", "blockNumber": "0x15b871a", "gasUsed": "0x2060a", "effectiveGasPrice": "0x1910360e2", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750783683, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783800.json ================================================ { "transactions": [ { "hash": "0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xbcdf58e13847f904924341de3db4f9090d3c2eb0004506bb982b9fd8f65ed4b2297dd21d65626e7fe5563707fb5d3fddd9bdcdf8a008702c43d7bfe33acb5fc21ca604c453e5a526ddd5a7e2bb3b1b3831a57daa4654c79a632752033f5c46e8735b391469fc3ab8b71485297e56186c9ac5f9c26f1a62575b683b67f8a3e6dd211b65a2c91c18cd65f5d81be3376c940d770a87e432e27970e920f3653c7a2bf6ec3d597c25b5204c77c360f2c237a7d5b13ccb14b267f7f3ace6e53a01f8ab47cb1b" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x232e5", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bcdf58e13847f904924341de3db4f9090d3c2eb0004506bb982b9fd8f65ed4b2297dd21d65626e7fe5563707fb5d3fddd9bdcdf8a008702c43d7bfe33acb5fc21ca604c453e5a526ddd5a7e2bb3b1b3831a57daa4654c79a632752033f5c46e8735b391469fc3ab8b71485297e56186c9ac5f9c26f1a62575b683b67f8a3e6dd211b65a2c91c18cd65f5d81be3376c940d770a87e432e27970e920f3653c7a2bf6ec3d597c25b5204c77c360f2c237a7d5b13ccb14b267f7f3ace6e53a01f8ab47cb1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2121fb3", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694", "blockNumber": "0x15b8724", "blockTimestamp": "0x685ad737", "transactionHash": "0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9", "transactionIndex": "0xe4", "logIndex": "0x2f8", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xb0645f9f7343b2cd988ee1e46c4fc43aa1badb73ab74504a1b7ab969a13de811" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694", "blockNumber": "0x15b8724", "blockTimestamp": "0x685ad737", "transactionHash": "0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9", "transactionIndex": "0xe4", "logIndex": "0x2f9", "removed": false } ], "logsBloom": "0x00000000400000000000000010200000000000000008000000000000040020000000000100000000000000000200000000000000000000100200000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000000040000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000100000000000001000", "type": "0x2", "transactionHash": "0x0dc874f63824da8a57ce69b5ef3859809b4002f2ff23c4a6329d5a7e60e85db9", "transactionIndex": "0xe4", "blockHash": "0x5d28c32dbd69d62b0d32df7bf7431c9048c10f72d429449008b16f9c05da5694", "blockNumber": "0x15b8724", "gasUsed": "0x19787", "effectiveGasPrice": "0x14dcd5a15", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750783800, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783885.json ================================================ { "transactions": [ { "hash": "0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0e46aa86ee47e7011b0099d42def6b50920da1cffec7f2c43be58453edd46309299c6f5143120471534c6a0493b0fa8b5118288528060634046b682d6ca0e15c1b00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c64000000000000000000000000000000000000000000000000000000000000000001ea2e7c05dae8558a7ab873166cfe4c84458ce595f5fbd53b571306645bdf751852ef6a3ee2f8542920b3faee302f3a0e095e0cf724356b5b290bf52c5c4273551c423a572a1199d6ddcaa530aae788e180e8a066d1fc2e2002e910cbd6568bdd394f734912e7b143c4f67a0d77f728c946898c784fbdf17f6ecd699e5c584cfaef1c7d2da14e4f46fed49fed1d0beab0ea02dbef1231bae222f31738054432bc69fb6ec65c6c0f249881741f1cde86949875e139846a37476e6c3c80f9682b36b0061c" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "gas": "0x26ca3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001450e46aa86ee47e7011b0099d42def6b50920da1cffec7f2c43be58453edd46309299c6f5143120471534c6a0493b0fa8b5118288528060634046b682d6ca0e15c1b00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c64000000000000000000000000000000000000000000000000000000000000000001ea2e7c05dae8558a7ab873166cfe4c84458ce595f5fbd53b571306645bdf751852ef6a3ee2f8542920b3faee302f3a0e095e0cf724356b5b290bf52c5c4273551c423a572a1199d6ddcaa530aae788e180e8a066d1fc2e2002e910cbd6568bdd394f734912e7b143c4f67a0d77f728c946898c784fbdf17f6ecd699e5c584cfaef1c7d2da14e4f46fed49fed1d0beab0ea02dbef1231bae222f31738054432bc69fb6ec65c6c0f249881741f1cde86949875e139846a37476e6c3c80f9682b36b0061c000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb41bc4", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2", "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a" ], "data": "0x", "blockHash": "0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410", "blockNumber": "0x15b872b", "blockTimestamp": "0x685ad78b", "transactionHash": "0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94", "transactionIndex": "0x82", "logIndex": "0x138", "removed": false }, { "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x93a03b347a043ebcdddcd6400722ae74fbe60ac1dd68ead7ee2af1c7d17968720000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410", "blockNumber": "0x15b872b", "blockTimestamp": "0x685ad78b", "transactionHash": "0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94", "transactionIndex": "0x82", "logIndex": "0x139", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000002000000000000400000000004000000000000000000100000000000000002001000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000000000000000000000008000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000200000400000000000100000000000000000", "type": "0x2", "transactionHash": "0xb7fbfc0a1846f779288a613e81fdd37f30207aced9bcd823f6a9c85996732d94", "transactionIndex": "0x82", "blockHash": "0xf3e48d86bb7e0982f3f9a75be8f0cebeb5b26ca37d8f901a2889951ab348b410", "blockNumber": "0x15b872b", "gasUsed": "0x1c155", "effectiveGasPrice": "0x1a2e1f9fc", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750783885, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750783934.json ================================================ { "transactions": [ { "hash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xffdd52", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "blockTimestamp": "0x685ad7bb", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "logIndex": "0x18f", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "blockTimestamp": "0x685ad7bb", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "logIndex": "0x190", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000400101000004000000000000000000100000000000000002001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xef242d273ad8ee90d65c15fa39ec80899f69bc54795410c3fc573e4d181b4858", "transactionIndex": "0xd8", "blockHash": "0x8252b9651f9f0a9e02802ead159a097793a0fe92cb64dbb9e56deae2a4cc30e3", "blockNumber": "0x15b872f", "gasUsed": "0x165f5", "effectiveGasPrice": "0x17f92ba36", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750783934, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/1/run-1750797290.json ================================================ { "transactions": [ { "hash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x1addb", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x16ad6f1", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e" ], "data": "0x", "blockHash": "0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6", "blockNumber": "0x15b8b83", "blockTimestamp": "0x685b0be7", "transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b", "transactionIndex": "0x104", "logIndex": "0x20e", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a20000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6", "blockNumber": "0x15b8b83", "blockTimestamp": "0x685b0be7", "transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b", "transactionIndex": "0x104", "logIndex": "0x20f", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000000000000000042000000000008000000000000000000004000000000000000000000000000000000000001000000000000000000000000002000001000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000040000000000000201000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b", "transactionIndex": "0x104", "blockHash": "0xdbb7fd2724a0a749875e0c047ebeb771e086bb80ed758bc27a48b989e084e8f6", "blockNumber": "0x15b8b83", "gasUsed": "0x13736", "effectiveGasPrice": "0xb63673a4", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750797290, "chain": 1, "commit": "a848f2f" } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/script/DeploySystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; contract DeploySystemConfigScript is Script { SystemConfig systemConfigImpl; function run() public { vm.startBroadcast(); systemConfigImpl = new SystemConfig(); console.log("SystemConfig implementation deployed at: ", address(systemConfigImpl)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "systemConfig", address(systemConfigImpl)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { require( keccak256(bytes(SystemConfig(systemConfigImpl).version())) == keccak256("2.5.0+max-gas-limit-500M"), "SystemConfig version mismatch" ); require(SystemConfig(systemConfigImpl).maximumGasLimit() == 500_000_000, "Maximum gas limit mismatch"); } } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {console} from "forge-std/console.sol"; interface IProxyAdmin { function upgrade(address _proxy, address _implementation) external; } interface IProxy { function implementation() external view returns (address); } contract UpgradeSystemConfigScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable PROXY_ADMIN; address internal immutable SYSTEM_CONFIG; address internal immutable NEW_IMPLEMENTATION; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); NEW_IMPLEMENTATION = vm.parseJsonAddress(json, ".systemConfig"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { // NOTE: Bypass `proxyCallIfNotAdmin` modifier. vm.prank(PROXY_ADMIN); require(IProxy(SYSTEM_CONFIG).implementation() == NEW_IMPLEMENTATION); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: PROXY_ADMIN, allowFailure: false, // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`). callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG, NEW_IMPLEMENTATION)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/validations/BASE_NESTED_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Base Nested Multisig - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` > > - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac` > - Message Hash: `0x0693f70caf333f60a20ad8e44b451bd4cea3d2703016c277d5b0d09ecd3c3638` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x941b9cdcb5979673e06ce272a4b3851457b1a7a92c5034b46f0cdf4d3ffbf36d`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`) 0. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Meaning**: Updates the System Config implementation address
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**After**: `0x000000000000000000000000000000000000000000000000000000000000000a`
**Value Type**: uint256
**Decoded Old Value**: `9`
**Decoded New Value**: `10`
**Meaning**: Increments the nonce
2. **Key**: `0xe612a2ea19e8e76074e4469448baaa0076a49e88f2aa4915dcf5f8a73bf72c63`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x9855054731540a48b28990b63dcf4f33d8ae46a1][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the Base Multisig). ### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) 3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**Value Type**: uint256
**Decoded Old Value**: `22`
**Decoded New Value**: `23`
**Meaning**: Increments the nonce
4. **Key**: `0x5adce382d964a1f2700576e57c00df690944e152a7647e602adee539676992ec`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110][0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f] to 1 (approved by the Base Nested Multisig). ### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`) 5. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**Value Type**: uint256
**Decoded Old Value**: `1`
**Decoded New Value**: `2`
**Meaning**: Increments the nonce
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/validations/BASE_SC_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Base Security Council Multisig - Mainnet: `0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd` > > - Domain Hash: `0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3` > - Message Hash: `0x0693f70caf333f60a20ad8e44b451bd4cea3d2703016c277d5b0d09ecd3c3638` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Base Security Council Multisig - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0xb2462f25a14e413c43e63f6a6d256e11fb0da3733f2efef47b95c348ca164ff7`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes ### Base Security Council Multisig - Mainnet (`0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**Value Type**: uint256
**Decoded Old Value**: `1`
**Decoded New Value**: `2`
**Meaning**: Increments the nonce
### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`) 1. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Meaning**: Updates the System Config implementation address
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**After**: `0x000000000000000000000000000000000000000000000000000000000000000a`
**Value Type**: uint256
**Decoded Old Value**: `9`
**Decoded New Value**: `10`
**Meaning**: Increments the nonce
3. **Key**: `0xe612a2ea19e8e76074e4469448baaa0076a49e88f2aa4915dcf5f8a73bf72c63`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x9855054731540a48b28990b63dcf4f33d8ae46a1][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the Base Multisig). ### Base Multisig - Mainnet (`0x9855054731540A48b28990B63DcF4f33d8AE46A1`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**Value Type**: uint256
**Decoded Old Value**: `22`
**Decoded New Value**: `23`
**Meaning**: Increments the nonce
5. **Key**: `0x96434cd01eccd775b18be28d6d4ab24f5c5ae955d63d845212994747cc9cd431`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd][0x2c6c1586b686483d280098fc0fa445fdf2c4d1d3dfad1a2aa17aac81d10cef9f] to 1 (approved by the Base Security Council Multisig Multisig). ### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-06-04-upgrade-system-config/validations/OP_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### OP Multisig - Mainnet: `0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A` > > - Domain Hash: `0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890` > - Message Hash: `0xdcbebfee848d6675ec39aeb26a15cd28d2b9c514621bc143854af1a0c7c715a2` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### OP Multisig - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x1c78adc7ff77deba7d0b2df0ec6cdf879453dd4259eadcf28d08d05fef5ad52e`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### System Config (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`) 0. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0x78ffe9209dff6fe1c9b6f3efdf996bee60346d0e`
**Meaning**: Updates the System Config implementation address
### Proxy Admin Owner - Mainnet (`0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c`) 1. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**After**: `0x000000000000000000000000000000000000000000000000000000000000000a`
**Value Type**: uint256
**Decoded Old Value**: `9`
**Decoded New Value**: `10`
**Meaning**: Increments the nonce
2. **Key**: `0x2d9dddc7b6b404b6b4d49c7d3bd597c29716b1108262a9a1589c20169d68dd70`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a][0x4a88dda4a880fe15d81d0ba56d70a2770da4a983f625755eb9c4d7c8de2aa2a2] to 1 (approved by the OP Multisig). ### OP Multisig - Mainnet (`0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A`) 3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000006b`
**After**: `0x000000000000000000000000000000000000000000000000000000000000006c`
**Value Type**: uint256
**Decoded Old Value**: `107`
**Decoded New Value**: `108`
**Meaning**: Increments the nonce
4. **Key**: `0x1c78adc7ff77deba7d0b2df0ec6cdf879453dd4259eadcf28d08d05fef5ad52e`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: uint256
**Decoded Old Value**: `1`
**Decoded New Value**: `0`
**Meaning**: Artifact of cleaning the approval from `msg.sender` that was set in the state overrides. This state change will NOT be present in the final transaction. ### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) IncreaseEip1559ElasticityAndIncreaseGasLimitScript \ --sig "sign(address[])" "[]" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) IncreaseEip1559ElasticityAndIncreaseGasLimitScript \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/README.md ================================================ # EIP-1559 Elasticity 2 -> 3 Increase and GasLimit 140000000 -> 150000000 Status: [EXECUTED](https://etherscan.io/tx/0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6) ## Description This task contains a single script that increases the EIP-1559 elasticity from 2 to 3 and increases the gas limit from 140000000 to 15000000. Because, our elasticity is being increased, this results in a per second gas target of 25Mgas/s (which is a decrease from our current 35Mgas/s). ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-06-18-eip1559-elasticity-increase make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: ```bash make sign ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [validations instructions](./VALIDATION.md) for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/VALIDATION.md ================================================ # Validation for Coinbase Signers This document can be used to validate the inputs and result of the execution of the EIP-1559 elasticity increase and Gas Limit increase script which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Incident Multisig - Mainnet: `0x14536667Cd30e52C0b458BaACcB9faDA7046E056` > > - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289` > - Message Hash: `0xa7fc708fdbaa8af29e5c1137193cf5d59c45d4634b587ff9e227b0cec8c5cdda` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0xf1be6768d6f798cc122f889ccdbd55074910d6f15fb6c82e2473ee7a9a461239`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69) ## Task State Changes ### Incident Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000040`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000041`
**Value Type**: uint256
**Decoded Old Value**: `64`
**Decoded New Value**: `65`
**Meaning**: Increments the nonce
### SystemConfig - Mainnet (`0x73a79Fab69143498Ed3712e519A88a918e1f4072`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000068`
**Before**: `0x0000000000000000000000000000000000101c12000008dd0000000008583b00`
**After**: `0x0000000000000000000000000000000000101c12000008dd0000000008f0d180`
**Value Type**: (uint32,uint32,uint64)
**Decoded Old Value**: blobbasefeeScalar: `1055762`, operatorFeeScalar: `2269`, gasLimit: `140000000`
**Decoded New Value**: blobbasefeeScalar: `1055762`, operatorFeeScalar: `2269`, gasLimit: `150000000`
**Meaning**: Sets the gasLimit to 150000000
- **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Before**: `0x0000000000000000000000000000000000000000000000000000000200000032`
**After**: `0x0000000000000000000000000000000000000000000000000000000300000032`
**Value Type**: (uint32,uint32,uint32,uint32)
**Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `2`, eip1559Denominator: `50`
**Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `3`, eip1559Denominator: `50`
**Meaning**: Sets the eip1559Elasticity to 3
### Sender - Mainnet - Nonce increment for the sender of the simulated transaction. You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1750283342.json ================================================ { "transactions": [ { "hash": "0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008f0d18000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x4c33f9abd7654b76ebcf996f5c47550bf572e1d908c3311c9bf1d3842586f4da1d8d1895b13e2fee212e08a82f2875d2209250e757b88c1a8b7875dbae768e631be0e79c2365bdf4e6fe6aaaafd5c077f8a6e506b4d6c632a7e73b290745d0555c7a4c321b8632a51db49f43c1540c6a9d5800877a4d8c16a5012d2a7bcbc1aec81bc32608033a08b80e40377db2cdd29ce15c12a5c154b62a9ac4da306d59dcd6fa0e9991b9c762c4ed8ef85204698b024db61beb81a8427409a4c6547e7631d4a01c" ], "transaction": { "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x24a31", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000008f0d180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c34c33f9abd7654b76ebcf996f5c47550bf572e1d908c3311c9bf1d3842586f4da1d8d1895b13e2fee212e08a82f2875d2209250e757b88c1a8b7875dbae768e631be0e79c2365bdf4e6fe6aaaafd5c077f8a6e506b4d6c632a7e73b290745d0555c7a4c321b8632a51db49f43c1540c6a9d5800877a4d8c16a5012d2a7bcbc1aec81bc32608033a08b80e40377db2cdd29ce15c12a5c154b62a9ac4da306d59dcd6fa0e9991b9c762c4ed8ef85204698b024db61beb81a8427409a4c6547e7631d4a01c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xe", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd475e5", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000003", "blockHash": "0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d", "blockNumber": "0x15ae54c", "blockTimestamp": "0x6853344b", "transactionHash": "0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6", "transactionIndex": "0xa1", "logIndex": "0x19b", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000008f0d180", "blockHash": "0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d", "blockNumber": "0x15ae54c", "blockTimestamp": "0x6853344b", "transactionHash": "0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6", "transactionIndex": "0xa1", "logIndex": "0x19c", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbb518ed88401d46ea33415d66dfd48af4492f35622e1ac4cedd6e9adadbb2c020000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d", "blockNumber": "0x15ae54c", "blockTimestamp": "0x6853344b", "transactionHash": "0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6", "transactionIndex": "0xa1", "logIndex": "0x19d", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xcc7c7eaf09ef2bee959aea547bef4cbb152c4921d97b0c56482c8696d49b05e6", "transactionIndex": "0xa1", "blockHash": "0x98fd02372456d8bca39d62d523db2d4ac9d0939dcaa66dc55b47ab1d16de7f0d", "blockNumber": "0x15ae54c", "gasUsed": "0x190d1", "effectiveGasPrice": "0x323e3d41", "from": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1750283342, "chain": 1, "commit": "756f1a8" } ================================================ FILE: mainnet/2025-06-18-eip1559-elasticity-increase/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal constant DENOMINATOR = 50; uint32 internal constant ELASTICITY = 2; uint32 internal constant NEW_ELASTICITY = 3; uint64 internal constant GAS_LIMIT = 140000000; uint64 internal constant NEW_GAS_LIMIT = 150000000; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function setUp() external view { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), GAS_LIMIT, "Gas Limit mismatch"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) SwapOwner \ --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) SwapOwner \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/README.md ================================================ # Swap Owner on Gnosis Safe Status: EXECUTED (https://etherscan.io/tx/0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2) ## Description This task contains a single script that can be used to swap an owner in a Gnosis Safe. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-06-25-safe-swap-owner make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./validations/VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/records/SwapOwner.s.sol/1/run-1752508958.json ================================================ { "transactions": [ { "hash": "0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000001c870776b168a9ffae80c51f050c611edd24674100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x9ef1282d22f3186dc7e4ce380fde053bbbb67a72b65480ea784ecd7d70115f346655d4efe6e442fd8f92e1ac82eca09e0e21e20551ad8d4f848882f19ae3746d1b0e157d57dc1e27419b18740d98a6eb8b0cfda053dc5d44554d3e9e189c88d5760e6a45867ebbdd73e93cc4c27cf9a2d666a64b5aeab9879987b809af8013abb41c2e9eb713436620c57f7e9f52a65479b1ca86c88fbebb710cc81361991686786b7cb0548b949c91d65052b4ee5f99ecd7fd29736cba13d3d57a263f9b971a74191c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x22268", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000184174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c9930000000000000000000000001c870776b168a9ffae80c51f050c611edd246741000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ef1282d22f3186dc7e4ce380fde053bbbb67a72b65480ea784ecd7d70115f346655d4efe6e442fd8f92e1ac82eca09e0e21e20551ad8d4f848882f19ae3746d1b0e157d57dc1e27419b18740d98a6eb8b0cfda053dc5d44554d3e9e189c88d5760e6a45867ebbdd73e93cc4c27cf9a2d666a64b5aeab9879987b809af8013abb41c2e9eb713436620c57f7e9f52a65479b1ca86c88fbebb710cc81361991686786b7cb0548b949c91d65052b4ee5f99ecd7fd29736cba13d3d57a263f9b971a74191c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xf", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc9bfec", "logs": [ { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993" ], "data": "0x", "blockHash": "0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c", "blockNumber": "0x15db54e", "blockTimestamp": "0x68752a1b", "transactionHash": "0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2", "transactionIndex": "0xbe", "logIndex": "0x14d", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741" ], "data": "0x", "blockHash": "0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c", "blockNumber": "0x15db54e", "blockTimestamp": "0x68752a1b", "transactionHash": "0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2", "transactionIndex": "0xbe", "logIndex": "0x14e", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xb565d49aaae2d6cb6c410f084cc258024a487ff044dc2d4d4c80bd28e3f12f4a" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c", "blockNumber": "0x15db54e", "blockTimestamp": "0x68752a1b", "transactionHash": "0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2", "transactionIndex": "0xbe", "logIndex": "0x14f", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000004000000040000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000001000010000000000000000000000000000000008000000001000001000100004000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000040000000010000400020000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x47794b079d496a815d90eeaa17050f91aa6cd589dcd07da5a2f9e5f607c0baf2", "transactionIndex": "0xbe", "blockHash": "0x24ca27fd37ab767f60e76711da811ed3aa2c2b4929ba49bed6bfd47e18ebc86c", "blockNumber": "0x15db54e", "gasUsed": "0x18b97", "effectiveGasPrice": "0x2597e274c", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1752508958, "chain": 1, "commit": "23f9bb7" } ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/script/SwapOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@base-contracts/script/universal/MultisigBuilder.sol"; import {IGnosisSafe} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract SwapOwner is MultisigBuilder { address internal OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address internal OLD_SIGNER = vm.envAddress("OLD_SIGNER"); address internal NEW_SIGNER = vm.envAddress("NEW_SIGNER"); address internal constant SENTINEL_OWNERS = address(0x1); address[] internal safeOwners; // The list of all owners of the safe address internal prevOwnerLinked; // The previous owner in Safe's linked list of owners function setUp() public { safeOwners = IGnosisSafe(OWNER_SAFE).getOwners(); _precheck(); // We need to locate the previous owner in the linked list of owners to properly swap out the target signer for (uint256 i = 0; i < safeOwners.length; i++) { if (safeOwners[i] == OLD_SIGNER) { // There is a sentinel node as the head of the linked list, so we need to handle the first owner separately if (i == 0) { prevOwnerLinked = SENTINEL_OWNERS; } else { prevOwnerLinked = safeOwners[i - 1]; } break; } } } function _precheck() internal view { // Sanity checks on the current owner state of the safe require(IGnosisSafe(OWNER_SAFE).isOwner(OLD_SIGNER), "Signer to swap is not an owner"); require(!IGnosisSafe(OWNER_SAFE).isOwner(NEW_SIGNER), "New signer is already an owner"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); // While more roundabout then simply calling execTransaction with a swapOwner call, this still works and lets us use our existing tooling calls[0] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(IGnosisSafe.swapOwner, (prevOwnerLinked, OLD_SIGNER, NEW_SIGNER)), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(IGnosisSafe(OWNER_SAFE).isOwner(NEW_SIGNER), "New signer was not added as an owner"); require(!IGnosisSafe(OWNER_SAFE).isOwner(OLD_SIGNER), "Old signer was not removed as an owner"); } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-06-25-safe-swap-owner/validations/VALIDATION.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the swap owner transaction. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and no others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Base Nested Multisig - Mainnet: `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` > > - Domain Hash: `0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac` > - Message Hash: `0xf1160d2510c49ad09ba91899c9584a87bf4292a5272a2751796281a91cb8b9b4` # State Validations ## State Overrides ### Base Nested Multisig - Mainnet (`0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x941b9cdcb5979673e06ce272a4b3851457b1a7a92c5034b46f0cdf4d3ffbf36d`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## State Changes ### `0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110` (Base `GnosisSafeProxy`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Value Type**: uint256
**Decoded Old Value**: `2`
**Decoded New Value**: `3`
**Meaning**: Increments the `nonce` value of the Gnosis Safe.
**Verify**: You can verify the value by running `cast storage 5 -r ` in your terminal. This value represents the _current_ nonce value. - **Key**: `0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e`
**Value Type**: address
**Decoded Old Value**: `0x0000000000000000000000000000000000000000`
**Decoded New Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E`
**Meaning**: Sets the address value at the mapping key `owners[newOwner]` to the next address in the list returned by `getOwners()`. This is the first step required to replace the `oldOwner` address in the linked list data structure of owners.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. - **Key**: `0x46b3491a8cd829af805c1f7fb76736ca5fd88e02a78fcec356aaa2b41bf599db`
**Before**: `0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Value Type**: address
**Decoded Old Value**: `0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E`
**Decoded New Value**: `0x0000000000000000000000000000000000000000`
**Meaning**: Clears the address value at the mapping key `owners[oldOwner]`. This removes the final reference to the `oldOwner` from the `owners` linked list.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. - **Key**: `0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4`
**Before**: `0x0000000000000000000000005fbefa105bbd53b43bf537cbc5cd30804dd0c993`
**After**: `0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741`
**Value Type**: address
**Decoded Old Value**: `0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993`
**Decoded New Value**: `0x1c870776B168A9ffAE80c51f050C611eDd246741`
**Meaning**: Points the address value at mapping key `owners[prevOwner]` to the `newOwner` address. This is the second step required to replace the `oldOwner` address in the linked list data structure of owners.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. ### Your Signer Address - Nonce increment ### `SwapOwner` Storage Calculations The [`swapOwner`](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L94) function in the Gnosis Safe implementation will perform [three storage changes](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L106-L108): - Point the `newOwner` address to the owner address that was previously pointed to by the `oldOwner` that is being removed. - Point the `prevOwner` address to the `newOwner` address. - Remove the pointer value stored at the mapping of the `oldOwner` address. These changes are needed on account of the data structure that holds the owners in the Gnosis Safe implementation being a singly-linked list. To calculate the expected storage locations of these mapping values, we can perform the following: #### Calculating `prevOwner` The `prevOwner` is identified by the script, but can be manually checked by running the cast command: ```sh cast call "getOwners()(address[])" -r [0x6CD3850756b7894774Ab715D136F9dD02837De50, 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1, 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993, 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E, 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7, 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c] ``` The order that the owner addresses are returned in indicates who the `prevOwner` and next owner values of the address to remove is. If the owner to remove is the 0th value, its `prevOwner` would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). Otherwise, if the owner to remove is the last value in the array, its next owner address would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). #### Calculating storage locations and values With the order of the owners identified, we can calculate the expected storage mapping locations and their values. For the first change, the expected storage slot and value will be the following: **Storage Slot**: `cast index address 2` **Value**: The address immediately following `oldOwner` in the `getOwners` list, or the `SENTINEL_OWNERS` special value if the address is the last in the array. For the second change, it will be: **Storage Slot**: `cast index address 2` **Value**: `newOwner` address For the final storage change, it will be: **Storage Slot**: `cast index address 2` **Value**: `address(0)` Note that for all the above storage calculations, we used storage slot 2 as that is the location of the `owners` mapping in the Gnosis Safe storage layout. This can be confirmed with the following command: `cast storage -r -e `. Also note that while the storage changes may not appear in the same order in the Tenderly simulation, there should still be 3 storage changes related to the `owner` linked list and one change for the `nonce` value on the `GnosisSafeProxy`. There should be no additional changes to the proxy besides these ones! ================================================ FILE: mainnet/2025-07-24-eth-recovery/ARBITRUM_VALIDATION.md ================================================ # Arbitrum ETH Recovery ## Approving the Recovery transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-07-24-eth-recovery make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. #### Arbitrum ```shell make sign-arb ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 65 to 66: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000041 After: 0x0000000000000000000000000000000000000000000000000000000000000042 ``` 2. Verify that the delayed message count incremented and delayed inbox account was added in the "TransparentUpgradeableProxy" at address`0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a`. Because this is the arbitrum bridge contract that is in public use the exact changes may be different depending on when you run the script. Typically Key `0x0000000000000000000000000000000000000000000000000000000000000006` should be incremented by one and a new entry should be added to the delayed inbox (Key is a random hash and the change should be from `0` to some hash). Example delayed message count increment ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000006 Before: 0x00000000000000000000000000000000000000000000000000000000001f7896 After: 0x00000000000000000000000000000000000000000000000000000000001f7897 ``` Example entry ``` Key: 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f379b85d5 Before: 0x0000000000000000000000000000000000000000000000000000000000000000 After: 0xa75a3a7db6a5b6a4458a86058d0baeb45ca7bf04255214eb0bc849ce37d14627 ``` 3. Verify that the signer address nonce incremented by 1 #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-arb ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-07-24-eth-recovery/BASE_VALIDATION.md ================================================ # Base ETH Recovery ## Approving the Recovery transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-07-24-eth-recovery make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. #### Base ```shell make sign-base{n} ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment by 1: e.g ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000043 After: 0x0000000000000000000000000000000000000000000000000000000000000044 ``` 2. Verify that the Proxy at address `0x49048044D57e1C92A77f79988d21Fa8fAF74E97e` `prevBoughtGas` and `prevBlockNum` have changed. Note: that the prevBlockNum may be different ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000001 Before: 0x00000000015fa555000000000007e1760000000000000000000000003b9aca00 After: 0x00000000015fa55700000000000f42400000000000000000000000003b9aca00 ``` 3. Verify that the signer address nonce incremented by 1 #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-base{n} ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-07-24-eth-recovery/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deps deps: forge install --no-git github.com/OffchainLabs/nitro-contracts@v3.1.1 # ========== DEPLOYMENTS COMMANDS ========== .PHONY: deploy-implementation deploy-implementation: @if [ -z "$(RPC_URL)" ]; then \ echo "Error: RPC_URL is required. Usage: make deploy-implementation RPC_URL="; \ exit 1; \ fi forge script --rpc-url $(RPC_URL) DeployRecoveryImplementation \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sig "run()" --broadcast .PHONY: dry-run-deployments dry-run-deployments: @if [ -z "$(RPC_URL)" ]; then \ echo "Error: RPC_URL is required. Usage: make dry-run-deployments RPC_URL="; \ exit 1; \ fi forge script --rpc-url $(RPC_URL) DeployRecoveryProxies --sig "run()" --sender $(DEPLOYER) ################################################################################################### # Execute Recovery Commands ################################################################################################### ARBITRUM_BATCHES = 6 # batch size is 100 and there are 593 total addresses OPTIMISM_BATCHES = 4 # batch size is 100 and there are 349 total addresses BASE_BATCHES = 15 # batch size is 100 and there are 1407 total addresses BASE = base OPTIMISM = optimism STARTING_SAFE_NONCE=65 .PHONY: sign-arb sign-arb: for i in $$(seq 0 $$(( $(ARBITRUM_BATCHES) - 1 ))); do \ SAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) ArbitrumExecuteRecovery --sig "sign(address[])" [] || exit 1; \ echo "Batch: $$((i + 1)) / $(ARBITRUM_BATCHES) completed\n"; \ done .PHONY: execute-arb execute-arb: forge script --rpc-url $(L1_RPC_URL) ArbitrumExecuteRecovery --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --sig "run(bytes)" $(SIGNATURES) --broadcast .PHONY: sign-base sign-base: for i in $$(seq 0 $$(( $(BASE_BATCHES) - 1 ))); do \ SAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i CHAIN=$(BASE) PORTAL=$(BASE_L1_PORTAL) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery --sig "sign(address[])" [] || exit 1; \ echo "Batch: $$((i + 1)) / $(BASE_BATCHES) completed\n"; \ done .PHONY: execute-base execute-base: CHAIN=$(BASE) PORTAL=$(BASE_L1_PORTAL) forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sig "run(bytes)" $(SIGNATURES) --broadcast .PHONY: sign-op sign-op: for i in $$(seq 0 $$(( $(OPTIMISM_BATCHES) - 1 ))); do \ SAFE_NONCE=$$(( $(STARTING_SAFE_NONCE) + $$i )) ADDRESS_INDEX=$$i CHAIN=$(OPTIMISM) PORTAL=$(OPTIMISM_L1_PORTAL) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery --sig "sign(address[])" [] || exit 1; \ echo "Batch: $$((i + 1)) / $(OPTIMISM_BATCHES) completed\n"; \ done .PHONY: execute-op execute-op: CHAIN=$(OPTIMISM) PORTAL=$(OPTIMISM_L1_PORTAL) forge script --rpc-url $(L1_RPC_URL) OPStackExecuteRecovery \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --sig "run(bytes)" $(SIGNATURES) --broadcast ================================================ FILE: mainnet/2025-07-24-eth-recovery/OPTIMISM_VALIDATION.md ================================================ # Optimism ETH Recovery ## Approving the Recovery transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-07-24-eth-recovery make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. #### Optimism ```shell make sign-op ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 66 to 67: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000042 After: 0x0000000000000000000000000000000000000000000000000000000000000043 ``` 3. Verify that the signer address nonce incremented by 1 #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-op ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-07-24-eth-recovery/README.md ================================================ # ETH Recovery Contract Deployment Status: EXECUTED ## Description This task deploys an ETH recovery system to recover funds mistakenly sent to the Base portal address on Ethereum mainnet. Users have been sending ETH to the same address (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) that exists on Ethereum as the Base portal contract. The deployment consists of two separate phases: **Phase 1 - Implementation Deployment (via DeployRecoveryImplementation.s.sol)** > This deployment will be broadcasted and executed onchain directly from this script - **Command**: `make deploy-implementation RPC_URL=` - Deploy the Recovery implementation contract from a separate EOA (NOT the DEPLOYER address) **Phase 2 - Proxy Deployment (via DeployRecoveryProxies.s.sol)** > This script will NOT broadcast or execute any deployment - it only generates the deployment artifacts that will be consumed by our key management system - **Command**: `make dry-run-deployments RPC_URL=` - Generate artifacts for 6 Recovery proxy contract deployments to align the DEPLOYER's nonce - The first 5 deployments increment the nonce (deploying Recovery proxies allows potential fund recovery from these addresses if needed) - The 6th deployment will reach the target portal address (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e) where the funds are located The Recovery contract enables the incident multisig to rescue ETH from any deployed contract address. ## Description We need to sign recoveries for 3 different chains. Please follow the instructions for each respective chain: - [Arbitrum](./ARBITRUM_VALIDATION.md) - [Optimism](./OPTIMISM_VALIDATION.md) Due to the large number of recoveries for the Base chain, they are split into 5 seperate transactions - [BASE1](./BASE_VALIDATION.md) - [BASE2](./BASE_VALIDATION.md) - [BASE3](./BASE_VALIDATION.md) - [BASE4](./BASE_VALIDATION.md) - [BASE5](./BASE_VALIDATION.md) ================================================ FILE: mainnet/2025-07-24-eth-recovery/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-07-24-eth-recovery/output/arbitrum/recovery_addresses.json ================================================ { "addresses": [ { "address": "0x2293014ca33b9d3db2bf2470c2f4ee3419f2c9c8", "totalWei": "55000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x38fa73d4d40b714cf10f9df0f3b0b83cfb93e1f5", "totalWei": "7000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89b585df208c727829232d892a50806c3a20a4e6", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb11e239910eaafa78fa925e566c20bc611fd4995", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8c30017b375bf675c2836c4c6b6ed5be214739d", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5c07cd461a072ec4dd86ed6c062ebf62876246de", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0dbdd871f45c6b4e9b508e60e3af9c4044a12fe5", "totalWei": "500000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeec38a8835bf98eb8f4abee900455a5175d836a3", "totalWei": "500000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d", "totalWei": "500000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x39e746fb643789facb3031577eddf0ee996ea701", "totalWei": "400000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x491f58f614627826cd31b5b74fe895d7c87da569", "totalWei": "307000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe476c3a18fb117ecb16c986dcb09630bb3abe854", "totalWei": "300000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3f922732b21f36e3226944ec7606acfdb55d35c1", "totalWei": "275000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1bb4d41cc0635e4349a4237dc42937111090fb7", "totalWei": "250000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd3fb2231c5d761a2ac02aea235f67c2cd35672f9", "totalWei": "249000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11e6aed8d826b2097d08067c64d46084ca7a3f2f", "totalWei": "208897480000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5964fd10170c8291cf97552284d995a006e67ae", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ddcab72b2d6f7593ec912bf3d4b43d455a78c64", "totalWei": "192504551894991000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe0e9271b3ef10c0761a09cc813282e6c8f21dfd7", "totalWei": "180000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x72e44b2bfcf28755b5c1d54442f18e2daec5b561", "totalWei": "166086084358789081", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2c3d636f7adc34dcba3d787727a6b2225f43c3a5", "totalWei": "150000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce0a26ab5ebcd76cf87494c978003b5019dd52aa", "totalWei": "130099889000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3c3710cdbcbce065f912810e70cb78e0d9e0050", "totalWei": "123000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x659e2dd7261ae1d24abdd74fec16512650afbc59", "totalWei": "120000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdde25c38d17c0895bb98abbd6f42f4a3fc7a08e", "totalWei": "115000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf67b3ceeafe13d8805e285b7722c719990b61960", "totalWei": "110179514167842160", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa65673459a3361790691562183bce05af001872a", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58a02121c0bb9915dad08fe699699fd300000000", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2e97bab47dfb1fd1395be6d86fcd48c19374b79b", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x265ef3e30fe964314a2b6ae6bfac32146ec73424", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed6a4e0a7781e1f7e25054db9e29a4121bd6e842", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3300f6a0845258216e705d2abbe211c2c400617e", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x49121c6c995f76cca4b89ed8945fdb49164e39d8", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e3d21a6c60b8bb00dc2bbc163665c0abea47d01", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0152aeb9e07f64aa6ee041f18ac647c75100000b", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa5bb368bc55aba37a5bd47c7f7bc87c6001080bf", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa85bb9720b83ae3e7df172de4067623b979bd4ed", "totalWei": "83000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12fda12b1c5f69b45fa15f2e5396b726d7c8a8fd", "totalWei": "72728949405415487", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a01b4a47b1c26aa098891a43da9524cf29231c8", "totalWei": "69000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50d4a329186dc01f23d66a4191e015001b82edc3", "totalWei": "65924314376007565", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4a760af5f784107789e6cf04b10da689d747440", "totalWei": "63290534850000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x971df5505d4f442570ca9e05dc2dd1ecccfd7865", "totalWei": "60000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdea881543543271ecefce91685cf1139765c18f", "totalWei": "60000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce39f85484a899a8a31268428698cdc908220f54", "totalWei": "59951830920000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd2979093cc4940e856faa240b6f54bbf1dc59ae", "totalWei": "59713737885000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1bc3e2c44e0b2dabb1b06a1890273571825d3e03", "totalWei": "55000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x08713995371818c67f601cd347d8ba1740c03dc7", "totalWei": "52000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb44ce48a53a79548dbafc3407b28bd37cb9f9956", "totalWei": "50694186081245956", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8ad1816c73b623ff2abefd60efc2693264a40f4f", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x887b86b6b6957f7bbea88b8cefd392f39236a88c", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3294733d558fd893fad3c9ec18be7323e7bd7256", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe73fe7e6d4294da0e87cc50c7e8049996f8f02f2", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2056e236076e79a2f6ca92d78a6f74a5f8f932b7", "totalWei": "45000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xebf35cdb22e31ceae5d9491f9f9093c6227cc112", "totalWei": "40000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58d51c00a48d36cf9c2bff92e98923c30d3446e0", "totalWei": "40000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7344184be33f90c20b34efd96d3215f9c50cbecd", "totalWei": "39210760000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e7c0fefec5d9e781fe0643a346bead6ae3516a2", "totalWei": "34530000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ec3e02105ff5224dea33cbf47498ae726cbc69d", "totalWei": "33900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6622c534d9be477355cef0b59fcdcc25cbc2adf1", "totalWei": "30102219200000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd8836dd5c4d56bcad868af0dd08085ea9f189b2c", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf614da1510b4b48057b01f3450e2717f1495f89f", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa20c043cd7f72e31bbc0a521f6fa7d29e46197d1", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x618b4c52ed90bc5978f33cf2b057fa65576a72c0", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xda22405545a6ea9df88cb2b0ebc52b7ad86fae13", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x02644e345b23767c8103dda301aa11cafd82b71e", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5045f7ae251d3386ec48a0c9283503ec9b0826f4", "totalWei": "26000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc439258055449a8aeeff7435d04f211fa665abf", "totalWei": "25000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x8f38b0b5af86384b0eaeeb9bd893537a11908045", "totalWei": "25000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa9a1c73e1e90b945fcc3507881a5e1a437ead162", "totalWei": "25000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1a85108fca08d3566c098b3b7eac1fe0f2219b0", "totalWei": "24000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x14f1936819ff803400fa57b3878c8411910afec1", "totalWei": "22740944800000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0dbbe14fa2fa8f150670ec127b46c61e83051c50", "totalWei": "22500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x61a81af7e1f611a89d10dfad779d786ca840f480", "totalWei": "21584284700000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde29e31a9b1032c2f511d53b46253c4d096636bc", "totalWei": "21000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b6b4253ed08c4853ec1d5fa7b8e0c2286583243", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x837200baf9674d97243ec7ee31f8906b850f8c1d", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3c86b3d1dc8ae5744d6cf0f59c8913f11251e31d", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a0785be7d4bc630bd82c2b16bf0a1c2329ecc88", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5c186f2323c093ccbf645088e6aade58227d0a0a", "totalWei": "18259592327748940", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x712ddf49080261325a9a4b048a81294587ecaf8a", "totalWei": "18000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc6c742376e969d5d973ec09d9bd813e1b6cc5d53", "totalWei": "17765546362800692", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73fccce878d100d8511e1604d6a8b4fd79fdf98f", "totalWei": "17000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xb7ee28d626e21a9c95e1ff70c89c5e5250563202", "totalWei": "16000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcbafa86d910a2ebcc7c4db23c3f3b672d5956c19", "totalWei": "15914924376237068", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x4fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c", "totalWei": "15453579815480000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xba6fa3a422f09895d7ec2c9e749c63061d56ad55", "totalWei": "15171181846932776", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc064084670b76ad53417e090e06f4b5fcca6cfe", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7e027e82e314082df67c7983fb7718fefd3b0edf", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3f01f6e61c0cedba21b6e22ea5a005e7b5ece03", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d79ae514cc2dd4287a4383b498dd5fd587b716b", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc6317dca3ab577fd956a346fa1b45bb4faf9b01b", "totalWei": "14000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe691ca9e45b73de39971b06893053479feec123d", "totalWei": "13912238615000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2feb6ea92ee8a03844bf21b1639fac29ec278db4", "totalWei": "13735272200000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce63e46660db5914593f986641d9133789477725", "totalWei": "13221984299561099", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb9a3831adfd989690424cbeedf788c53681c8731", "totalWei": "12800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab35ac8661e0011de2b4c20798410c015eaaf598", "totalWei": "12000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ec8b8cec5645066fda40c6c6d6c3b749a565755", "totalWei": "12000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x615db6e9a20ad3b89ea9f17a54c9fc79a91537c6", "totalWei": "11750000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe482498540424d9877d482b52987b8fb34a01018", "totalWei": "11221360000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0f62f7f4dd6ada21a672153503795f9829afbd4e", "totalWei": "11030000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf67d976307886ec39573eb979b1af790aea6787", "totalWei": "11000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e1924004217160b1a95e4db8e4b2104955275c4", "totalWei": "11000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x391180ab65f7bd2943d468fb00f96a47f51f8953", "totalWei": "11000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xff6a726f83286d8f54273b5b816762dfee47419d", "totalWei": "10800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf88a52b66a2432beee898f5514b85c43010dc668", "totalWei": "10649173624126768", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdd65143477647bae64a6e810ee629ead6428ba8b", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4bc688d019bdc1b5e3b7b7f21d50de67ba793fc", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf68e7d0c6cce87c39df3057dc43ccb9a07db1e7c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde6785b0574e5867366d9e1732f968eac8b333bc", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8bbc42da742e9a5e0ee458a63be0bcd23f0b5912", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbce3b9da85e4e095cb6b295240732056692fa67d", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2500b5bc31eb6356eef5e5068e8569dc2b0687f9", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15354c9f64ab1d03e48e990bb946069ad1212a11", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47db3260ebcdc9dcfff4963590a1ad012d0b01f0", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x59a493f5e2f318bc4bdd32e72c8c589b48821f4a", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfaf57f0a88fe6d2ea786b67ceca69e006e304381", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5d85d5488f775b29357611ec3b6849681f62fa7", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1149118bdc9190b65dfac37fbf00945d0fd29a7", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x33bc7bb9036bff104047d059eec208e43b0ecff1", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xff24de32cfab08f833ba56d970a8ef61c3f0ae1e", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2713e1e0c988797027ccd6e47fc6cb74fcc88a31", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2af3a27712ec8489fbcafaf4a01ca3b873da47df", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x07f810a967b920f38c3e1042d220223c0abe2315", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x06fee2818ed2bfce2635b03a231ebbc9dd18860f", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b687d1f5fc8829158bd80f5f34c13acc8c3fe4d", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbc17e932126874f8cf2813fa620c3383c56b1b97", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc18567c8e5aa06c3689551ef08308b73ce76da7d", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc45410260af1edd40082253ee8ba0472d186b14b", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc8926707dbfef7feb52c22325c814b8a99667798", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x672005e26525c8253b0fdcfeaff5683459e77a98", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf0c2e6345366d1c51bc71ec7330f26efedcd1ee", "totalWei": "9943094100000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7adfe2c9dce21049722f98dad47366ed5a3b800", "totalWei": "9600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9cd939ba7c3d3c5443a2ccc164f85d03a4feb708", "totalWei": "9152792695000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x87cd289b2358f88be6debb6a48b046d5ec00d8c9", "totalWei": "9038283803186315", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2ff72c190330555f7aaa2406677272dc06bbfe85", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9ea536b0bf416cb073b4d8a9d7c95dacaeab0df6", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x85e93fe564fd241125dd3ca6b3fc3461f516ec80", "totalWei": "8726600000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x647ada5bb7866f75b3056902a42a7a01bf14d5f4", "totalWei": "8600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1ae0b6c7986cb529f8629a16617932f811b00227", "totalWei": "8500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7fa46640cd3044833a44f41984228558f11a9128", "totalWei": "8300033850594610", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x23e28ac0a7940d42f9c40672f7daad79cb0eb751", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab5129827b504f20a6195d0f0896183391e513c8", "totalWei": "7734503530000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b", "totalWei": "7634420329370706", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x83c2472a80e7fc6478158fda5267f3002ffec3bf", "totalWei": "7500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b4dd11fe82d0359b262de601c8c6d7fb0cd520b", "totalWei": "7500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6b1cdcc40fe58a0f19e788366e25ccc97c8352f", "totalWei": "7219920000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3df02dd4458570ad303f25a3233c908e534e152d", "totalWei": "7200000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x5b136c570057b8a24fbbfe4b9988e9f84a1df4c9", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b7", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1023b453299b4f564fad857e549341be93c64335", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb252a35c42fc0a562db1e30f6d23bfd54584661", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6a5884fdb62e891beb8c6680e4a5cff4ba70dabc", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20a9f42cc8e1872104689e0d7018c790630147f0", "totalWei": "6729842277675424", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x545c9b5ff0838f85ed1873e385d674641dfd60f9", "totalWei": "6200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5bfbfef98c378c81debd9bb96d13d4da782af8f8", "totalWei": "6182813059990977", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef8c7fa2f1965703875a67b6df529e8316e09cad", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a8dbc13916a49d826d1864cd9ac419eabf3981c", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x49801afcc5874c7cebd8d968f960a8cb6c7d7eee", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b1f9460bf042f4b6c788a047b12f6f8d20cc420", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3687ccd5190b59d8d19a9ab61fba546d1335230d", "totalWei": "5600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x085e73a8b959d3bdccab6427ad4427901f6afe09", "totalWei": "5500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f229c10714ad14cde790a0787642401017c4e74", "totalWei": "5500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a2d8d020ecb987646c0577e0dea83e178399c1e", "totalWei": "5465940000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b650a8bab0a0d3c8035afd466bc5d9bf6f1c752", "totalWei": "5379033602822917", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x29b5e472e36daa709fdbbb727423276f44b7e5fc", "totalWei": "5192370219009998", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f2c67813ab735469035007212ef1a4ee30275d1", "totalWei": "5100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde9c059c8fdbe324081f83b29277d335370e2e13", "totalWei": "5072282680000004", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4a5d3634b467ca6076e2e8f5c092812e2e5c1b69", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xedd37caf0f19179522f77b101fd1b00d3cd1a2a4", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x07f83a636b0e48f1693beb60426ce4c76b8faaad", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45e0d89030d216290a865b4b6eeb9a07f1fd232d", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50e01433711f0cde93d09856405f64a579fa5244", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdb3202d37bb6a2e4e1315b7a5dbd217246a66666", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f8392a5ee3e30be27229b52b24f4d2970754912", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x085c1bf97ce01758f3e92661e6776b8f5cdf8220", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18b8db3291f4e2cceca0a3f9d301e56716b0e750", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x480c5963799c437ea3ce7e75bd2eb9561777a400", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31658df07a63634fd15ea2ab8ca6a739cecc0a55", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc5943ae36253dcef05815eab1bebc6a6b3253cb", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x03fcc43da662ea06aba5bc2475b1e28b3da7c382", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa508c16666c5b8981fa46eb32784fccc01942a71", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xff4fb0b65f143ac0a09ca78881d19df40a7919df", "totalWei": "4900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb74e3feefd937ecac8d0e0a7c5dbe1e2645a875e", "totalWei": "4840000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x97f7c67b55b62a0024cfc4a92c0caab5ed0101dc", "totalWei": "4829482068840000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eaed3548e752bcaf48346dbce66f8d7678d7152", "totalWei": "4774525490470189", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43", "totalWei": "4500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbaabf5e9f000521b51c8024dc4b62f1d81dbe5a7", "totalWei": "4240000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfbe1cc2cfd738324815f8aafc8363c9336c440e3", "totalWei": "4213910000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x157c359e638b52f3045243b483501069cdddf6d2", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd2e42af2e4514aa35c988ef9059923b012fc9df", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2ab771be6bb220735871df5599d806103995d29f", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x17c497aab876553c1fb8e73f05cf4b6aca7559a7", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x233f033d7f1f7199be2ff9b3fcca21366be05b15", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1a9229006d237b23a833c00b056fea8c0a342ca", "totalWei": "3561830000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x1d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab24", "totalWei": "3500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x37c47758d6b36dc19f44d7beb7573b95a087f8b6", "totalWei": "3400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1ae2d1522045db426954ad278328b2be71348de6", "totalWei": "3100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x06c922ab286196b558a0ef8dabd99e2b98bd4166", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7944bd762876335d995d93f667b9ff34c14fa911", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x468f360f46cd855683a55fa92ce7151b9bcb5dfa", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x947343951330a1e6f5d0ea83ca70e2cc0c043d17", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x84c795d8a1fdb9c4502810e4f7d9e04aafa74c97", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc77f24be2d46b421e1df7c45dbeb5fb0a8757e0a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x60e7e15f8b7965313a210082a540c4874124e1b9", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc14a71ed6c30d66ddecfc905fa3f239045cfff50", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x64578d105ac98bbdc9c5a369df26afa87f88a9c8", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe31ef2dfce2c852570b5cc52bf02ec8236866755", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xca21911c178be6f71fcec1cd4b1595861f0881ec", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac4ba977e5de6119d79e3e029add59d329826a3a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73382c6977ab57725e07c86033f0044ceb7fc12e", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc046bad2ca0430dcadefc40629f1e01d2c84f37e", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6c4e160636c3843a1db207a954993cdfa68861a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d4036323f52619b9faf7d4dace12bee4669cb40", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x60e2cc1ecbdebbc2216ab2676198d68e73afcfd3", "totalWei": "2955619788008196", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1b47602816a3a63ba769851304a4a2a90c41816", "totalWei": "2880518589371790", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x470e72141418c0eb71355e5d99244e635a989d95", "totalWei": "2770000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf8be0c141fb112eaf8fcc9b8406cbedbc6f296d", "totalWei": "2718159479853002", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e35f578fbfb8e197e411f6f043863f2e34bbec7", "totalWei": "2600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf838055d17759a9ba621f9bb9160e76a0ed3e279", "totalWei": "2600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5dcdc3f0fed4bb900707e88c76c2acc29ae80579", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x217b121d91b7211f3ab2d421aabe25615297dcc6", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x70aea4c511ec66d6fadb2e120802016cfb333e23", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfdc37f38cf5f063b59a333f01173f3b073becc5a", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe9c7363e3bbbc574b78433bddf699fac0587f6d4", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86c45f56862571742262e4e3a5f2626f7797fb5e", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf59056ac7b9b7729c21b69faf09177b0a859024d", "totalWei": "2400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdcc8f181295cfcd9ce83f8be87cb16902c2e1aef", "totalWei": "2257569410713464", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xefad4323bac4d32fd5fc6c65886ea88239d9dcdb", "totalWei": "2200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2511b8479e7e0389a5c60f7ecdb4213bc3639c97", "totalWei": "2200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44", "totalWei": "2200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdc985760b9b38680cf088ff19a9c310c24473c9", "totalWei": "2134164234608674", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd020756ec0d08b6c1b300efee33197fdc2af70af", "totalWei": "2108901497677755", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x402c296e569b90df069e883b4b35fde7394c13ac", "totalWei": "2100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9d56652d48c5fcacc2fcac0aac8fe3e1a7c72672", "totalWei": "2082733053165475", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3cd6c267c437bd4235b1e98b7eb044a831ebeec5", "totalWei": "2080000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf2", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a3ad081cb10b004145a3ca5257bf5dc61e3d930", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x996376925b729404afad0094edb37f5356619ed4", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4aee7c1251d793fef8a4826e999b885370d07694", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1c270463428d780a47f6c9591a570bac837ce91b", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6bd92bc0ee369c99889b5dd2c5445d1ea757c84c", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xded3e1a39e33e200f3e6ef8596a1a16a503b8df6", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92f66b95ea8eb2d8f1c32fcb650dac707bbaf17f", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d700358ee6735dfccd3ffbba28281b76eb2dc78", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x595dc126cc1e7794f6b908f6046bf6834b04bacc", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x651445c41fa6d4dd1b93e8acacfdffb4478edef7", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9ced12517abe3c1a88ab4cee3ef518484facd9d6", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe7f1ddad8c5454e7d997aae8e510b6d666376b5a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x169b931a328a6bf9f18199d6eb9649e44ba31002", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x236ba1d7e15cc1c689c6c9e2cc3317ba39f9d780", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8a53b9ed8dc15ffc4be9d4ab449f02041e513229", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb133045093d6ee2054c9d12929622f9170f7f77a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb13c912d0216a7d1c105e7a2173868731fabbed", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7db199a23d7361c09e0e41b4e040da035a6d6981", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe8316871c60a4044c3bdbdcc002286d6e2cd719a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7e44b1067ed219c2756bad68cb118deb0d90dac6", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b982abd6faf0e4ed6735af4b1ef68da1e5a7332", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8864a9372b7105f4aa1b8fe89840caff02373f50", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa616f0b2537cbd2b98ac445aa05068aa65084c8c", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x3cb7e258de4cf86f8e286ae3becd69b28d934c6d", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc5122d5a51d918833ee643e14304dd63de4f704d", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x22fa7a2c21b43e267420a1694180297fa1ab672f", "totalWei": "1975149199634160", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc15fd0f9c8461a20f17baa99726f4b4518a1e66c", "totalWei": "1970643068867200", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5dce675759bc4a1079a39b15425ad65429638552", "totalWei": "1900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5bdb91fdc1b48bcb8f724f9cdbda631a17057055", "totalWei": "1800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec441cf14e685f48f91c39f56d0709672a589f82", "totalWei": "1800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa23766af8f0b8325a14ef4a15a7444d0f527932b", "totalWei": "1800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfeb8fb2a14f488f5fedc8586d26efbdeb76ecca8", "totalWei": "1590000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x805c8f74a727977a17af1bce8d6bc7ebe59dd966", "totalWei": "1501495983721591", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xfce9ecbe07c9beb12de5174a8fb47db316faba83", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee40362973c2a916268b3c9d40d28abaacbfef34", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x54a7bf4c221c299e9e4df21945a79147ed0231f2", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4079e80d6193d20bb807ca38ab929a40eb8bdddf", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50fba4c771bde076a8a85550aeaed3657ea44f33", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe2798f433a0de7f26f85299d7294fda14caccf01", "totalWei": "1459896749909458", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x05b116d8a35326cff3529ea1a23806323c5510a7", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea6d92746e7dd772f1b5415d4f316239dfeb34ec", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x115db9a94996d8d653c8faa1356bb2e5aa533348", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x659b166d934df2d179635749ca79078cc4dc4425", "totalWei": "1302460000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad191dd9ff581420bbf949ce6e9fd04b47f4586c", "totalWei": "1300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f007e0dedbac5a6e515ec95ada04886127f38a1", "totalWei": "1293510458032053", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x801769d65db922dd71825e62c2e84316d65b47fa", "totalWei": "1280560000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7beec5d0ab9785437dd14a6523fb1ffd9a42413", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4782a0bf13e5626f982af0ac18ca5b39615dccb3", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae17b016fad147fcac758f0fbbb63c81af00f900", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x772125f73a9660f296f1d1a0ad33c1010e0ae38c", "totalWei": "1130000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xadd281007fb327dc4c8ee1791d2882058cd4db46", "totalWei": "1105000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba", "totalWei": "1102000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1c5518241df88ef8d703101b9e721278f674a6d6", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f15011e401d10da13e179d6fafbd95ac77b1b60", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xd4d66acc07318b5b20cb46e684cdc7f5f1c148b0", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x40ce8113b0cbef58e2933a3176e1ee9fbf392ea8", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a7aa4b8ed58cfc15d0a86babe65b3710d47d219", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb1ef7dd476848f4a5f4df44141d9658c0d255ffc", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b", "totalWei": "1072584472730881", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x00faf87b90a576561d25bbaba9aa334cdf05325b", "totalWei": "1069107081765310", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe67b28f11daa6f9699f4653d90627296fd4e5491", "totalWei": "1057141120411000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b4c289c4f6e0565f1e432654254485c490679e9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x01390192e7c025730a4426b12af78c23a548e10a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0556d287d885309d0b76f833f6e1710c8375344", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0641600d128321a5d78df90969b601f93a1278bd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f09f8a85ae21f8ee80564ee59881bd603476212", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x75c0921a7bfff8658659838e61fc083e662796f0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6fd1dd3888cd5ce26dabb727f76348ccedfd3dd4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xadddbf546e0467fc93efb29e8105177b4b45c2a1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf3ddef9f03e42524c3b9294a97e442fe0f0c32e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a54e112b25d2f7b298b2db5dbc0644197f970a2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x743d1bf4bb65f068ab12d9625de0d56bbe6916f5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ce9928f0f080c7ed4ae1f5940e7bca770f723c6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb28dd7bcdebde0b09c40178e22960c84ab4953a2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18bb5e299f21cc9b98755065199d2ff654a385ec", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd9759e2fe6277d7d81c3d935d0dcac684d9b3236", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd54ff07f3f69c234b774f6398153dff62a5b82e3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93458952f6a1a1d37a31dcdde33da71f9fe7ce15", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6222f4ff6f932f566ccbf305cee2a31ad517d37", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb2739b8ead8c553062104c8d5264c5141981392e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf824b46157b0dda2032ee6fe123a8ec2be1cb4b7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc7a3300f6415bee7c2676ab9bb58e8506afd994", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe1a7a08a0991bd33492e47574ba2174026aa792", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4fb057c253cc5dd67d713118e0691590476bbc2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6630b0a570fdff2c4832ef9bad9b50763877376f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc0334ce5005ba6872ca0f9348b2d3102e7295bbf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x78ef64daa741d0da7d8aeb0e0f5bf88950049cf2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5306eac5828489bab3390ef97caef285ba06ab4d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x175bcbf5b374bdecb8d987964d793412ab0cb6fe", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x269bfc984d07f8c5c93e3d9978c08d3eecbec387", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x822b4457a36d6439e765bfdc47a9849d77d0da5b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc98d0307b36e5345f13b63110df31bfa99a2054d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7d9b49a30c4960b10a63159656955dd6a389d9d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x76619eb9f77126da088e112ed5a933a10d1ecea0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b23c95f884760521a16e5ff64544d1e48b56d4e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0bad698a19420eb7d69f8fcc15a7eb7dab2c1c69", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1e8948c603ab9ea99e21626d291678e9769d972f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7990c9e20d431198d47e2d277c4b4bd175257687", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x32ed20dd2e84e281957f726e48f5f93901ea1f71", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x17dfc9222d183642a77efba84b320fc9d0f4ba24", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x49d786e4a52832e4380487eb7c99fc76aa94ff51", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x831100f2dd4039700143eab5e7a6c0acc0be07ad", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x711920225d713362dae08fdd83f762c99b2a6ff8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3ba8adea5a9817c107388127693cdfa55021467a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd95228c1247b904d22deb51f4ef148499afca20", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf84cd10f0904474c1707e29db937e8f4c21d4da9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xabddd183743e61a04a7b31de3dc68171ca3ed4cc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3fc1492197d3c19da46b8fe40ca08f01d2feab4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4a6d5b892ad6ce7e8a433e43ba0f55569d883f6f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe42a6c980a3c9fb0e8945d699a27f9e471ace4eb", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a0ab6be13855ffaa592cc5bcecba5628849c5c7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9d386325330ff9565821232435c67b253776fed9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45c719c91cdf2436ab699e7401e41fdf049e7e60", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd81a08a24cde557d2bd9cdd4033922be7d5cc3bb", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc455cd4f6cee49288cb4e027e6782b409edb30c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13fc306ca025f52fb7f5af8a98bd8760c252916f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x25f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc19621892d8ee431869324556e17051c378d2890", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x377a3a71309ca5cb23d319baf64de92a154103ad", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7efb596e6958e33c7d74ab73d5aa4817ff58d182", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd773880a0a06dc937fdef3b1b8e89623d1b206c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xa1922bd5ba2712f69501182612faaa15ca03604f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad1ca5603335ac4b05ce62b4303ee884ffde7751", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47c7abbd2a4e4aaed5f782e01057fd62c3e1cc49", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6a0cc5056e775e3c30ac186eeace625db6f386ec", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc76aed5faa6d4f92836505a9d206e84aa855702a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5c357a5ee9605f880fbbf6d9aefbb70c26226225", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50b4d75c959361c982643d1758e250f43c1b34c6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x38566bad6c0c22986c451a76301f38b31555c952", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1b54db8553c98414f23a37e6c32a956efc1d065", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7e8921d5ed0665df082d1a4703fe401aa38024f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7971d9d68fec098576f689ddb546f24e5eeb742", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xba3214161617dee3311ebf9f32a4c4d20bb5ba6d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b40239453b529f2430dea36b8fe3fe4c4f08a2b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x09ca4dfc81e6d2afbc9a928d4086c73571d801a8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1dc87a873176ce0918e62d637ce1b3d1187f5a67", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3010d580f87c864c13f81c734f110d37d8e3360c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x666ff1163aba759d1eaafe046e002740637050a6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb9b4080ee5e800e041e9d2983b027affc0a18ee5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd65185f1d1bb39e2032f2e8098694c84e4dc2faa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ea169c1170609d3c293c81c68e6dd3a1c94be1b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc106721fd730c7e249eb06d98c23770fad2960c0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x51adbc10757512b235016a73f2800d6a2ee1153e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea764bd87153240a0b2bdea5d84aa51da25438ef", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x595228604281feffc818c4ed3e969f73d83042bc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe777b5fd3fd9e3c857d07f8640cd0215c1117bbc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x613fc42719284bdc058d41e592abec76ca75f6ba", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4671cb82243c8eee5c43690ea50331de0433c1cf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9bada0378d056b9e2011b7282f4ff2582a86d868", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb3ee425f8d841366a115ba4e8c1be7c0f9314c1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x49059f3d8a9629a02d976b02e2710b8e0aea809a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b28bc4575529d7e321606a7417ad5367160e8b4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb92bf70e8fbce2134ed02d91143d6869a056ecbc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa276d4959c28546546b8fef6ba745149c76c9dff", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7acc1dff427c7b4022cd5bc2dd831d14b0320442", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd329b2c1c8de4f77f60d7dc2cc18c749479cb7ce", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3542982906984412ade912688a86d5610c9ab05b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe713a305e3428be428483ef6cbbdc0a99258b456", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x338fa44629465aa93f7b1974288224f566984eb6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xacc335dfc2389c30ba186648a74723efae1eb7db", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf4b5c3be7d9d3c96151354c16267b7f0c000730b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb71a8f2387fb6250c445939b61243f0be2f345a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x59a327060047aee4fec76f08f687d0fbae5d8821", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xdb39067dcf7defc9924ffe2858ec1cf3b807e69f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a5d92137382ec470b5311dc98feaf6b3765952c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5f73a750ee8a89d4bcda67a5614638c0f7630654", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ba79df032756e4ebd62a7b9943f20ebe7c10110", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x29cd744301308d23066169da6bb1d50ec6cb23b9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeca535e24b33d41c76adac6454723eb50ae650ac", "totalWei": "991752349990979", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3e46d3de660132c97892dc301d8c9f559bd821b", "totalWei": "960000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11c613bb14d81adf870f6b9fd9d8355ce353ca21", "totalWei": "953464199991020", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d87f0a041e0f203a44e08d70b67725ec16db455", "totalWei": "950656057894108", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f793eddfd0af484cd9cf6205be5f7f14a7110a4", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96a0030c410b9eec033676e9ad205b658036963a", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e6c6653d2178b3da85d5a4088adf51bed0ea344", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa325651d5d18953a327297a30fbe3240513fcce2", "totalWei": "840000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb56ce76812eb20bc165b9275ec3985723759707", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8adb5562647942886bfd2dfc215f717a3c019a6c", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf690cdbfb7546deedd96fa937526ddfc87a3003f", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe9bf5cc4b02213308bb47fa7d5c4228a34214e97", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96aee4744ad5163d948247c71f885e5b901cf85f", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f6fade63aba9fe7fc246466051e86e44c1afe27", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d973c0d297a3b6ce0aaad2defa2120490ac81ad", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7ef38004cd4a990136b55ca791a02853e7df2182", "totalWei": "762413664535309", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x226924749df696840b09b7e588a70c13815c37e1", "totalWei": "700600000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x10103d79ac194eb0c4cc75742bda65c18dff335b", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x40379bf7c24fd4c84d980c306f25043eb13fd222", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf31f6d1811fd4d9664f7e299cd5691928f9712e", "totalWei": "675566121283188", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc", "totalWei": "656283302493188", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6a2360e5819125dbd2ec3fea504ebab838e5e1cf", "totalWei": "609910274974702", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1288134ef88a2c6b042b08dcaa4889646f6ee8d4", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x55834b08368c0b9fbced31f69ec0b6e35aa8ce71", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ddc3eaf80d67abaf17d72ccff71e06f958cbf67", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x95b4aaac2f5cfef54f5277147140cfdde15b8a36", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x530c9c58549b4abfd74e24bd876ce983536001bb", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa98405519353df4616cd34949f75c3a7f3d2da7b", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf418849308e455f856d9b22bfee29e0783bad921", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6858c3ed70e40279e60592f55c680243434b75d6", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2700ae5779d5b5a549ad89149656af4394cc08ba", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0737e8e41a9f4f1c5c24f305733eecc40b00bbd8", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6f2778d09efccd1f8e6423a22dbee8f9c75ddc5", "totalWei": "594224893920443", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa5f225ddb3a93937f39dd2819463ff6e27218c10", "totalWei": "583860000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc5b3ac632f8690b3c87ff921fc0196976736584", "totalWei": "570000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7798a6b17b00484183fabe01451dd25703cea91", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x94eb34008b36a981a03b5b40df09f8a6d4c8d135", "totalWei": "543172140000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeb09ff0239c135c1b2eda6d6dfbf5ac94276b651", "totalWei": "538624783203525", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc47d9828ea3bf950680d7227a4d498c5a8785ddc", "totalWei": "534762217979775", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbcbf79e6190579267f3b265c05ad9760905199f0", "totalWei": "533256544390941", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x492828bd90d503863c74fcb05765d207cfeebea5", "totalWei": "532796274688447", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2e96a32546ac73192fdb9bce2a95926c91f1f4e0", "totalWei": "530000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xecec066ac76f02590dd7ff6201f556e6f079d257", "totalWei": "529165858218828", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc462bf6cd158e3301dc1bcdb11f48107f0ea8c82", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1eb555e3c7ebbcac3f92e0520a828bac8e90a1b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x94424ee28fb7923f2a14bf663461e71ca79b6cfb", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1795dac5061d0a2184e447860f9dfee1c6bd31b8", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf4af0314a06ea7376da5bdecc33f6f9800f1ae28", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab548f756bc06637fcb88aaf5f6b393848bed603", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x56597276ec74bede779f0e0ea8f4517c91c6e41d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0dc2af2ac013d4082384c3403e4df53146623639", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0bd5ddea382e8d8d2c1d62a565067f519d4b5d0d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd8f6cfe5133d1f44fd39b7bbe314c6b50811d77b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35e7444a2fa9719f21fc7037a12df517fa985f20", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7836547f7109f79d0add56f3225262aebf1cbbc6", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8a51ac0bf2f0bbfb137f6463f3ba385c4e971a28", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa0680aaaa7fddb57a9f22a5c2bf18603d4c47f22", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad8cfe9b7bb518234415eebb601d2c170866357b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11e7c5caa6dd51649dba8667b2edbd0ef65ca5b9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13c5dc21be92d96c69b154eb1beb24dd8fe8d15c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x656a67fb456ae9a877c412ae70ec264edd2751f8", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeedbaae668f3f84ea398b4a3d3263eb34677608c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaef0e114690203f5baa14ee7bd55954bdfb852a3", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5bc69c6576b9a3ceede457637d43272f050e709e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3c4b41cb2805c544cb2d7760f2b81b89f2d55632", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8de80e5256555e49e8ec8e126a2a5cc459d76444", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7a12a1d7000e40ecc18a62af456791b89cb2770", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee23bfc7dff09e038be61f823dcd701b786a59b4", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8bc62c0fd236e600db725c414ba220ee30008926", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f7a6a657832a868d5948c6e57833a834e044476", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd498f99bafd467c5d06556d433ba89e52686f74b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f95297410d1a7278a110280fcf8c0f38dd5fcfb", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1778d07c9f85ef0663e18c5bf8db042f70c3d08e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa18ab38d0c8eace4869c43ff1e591d7eaffd3893", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed363c3e7269f57b224f03f2b50bffa997942fdd", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc1dbf73ffb6811a65661345e3d73e7b14e39b1b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe83120006d095f311a7546c86be2879c7a604350", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa39ebc21130cc538161fb263bd34fe5cb1581b50", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc91af683bca743a05ce5c0feeda403039f6ea62a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb5fa7a4025475780fa4d56e07755aee66301b92d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xbd58b1bd0effa1873c2f6aacf4398170454fd9bf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xafebeed0e4b14c0d3f949f55e5158308af559793", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8d308cfd4c2dcf79b6eac010e20c5d7563aadb3c", "totalWei": "481015004793409", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d76153c524483f422b6d53192be2e60130e80c5", "totalWei": "461518060060246", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb5489ba8c9c0f307f84ce722d28dfbadff04e415", "totalWei": "447096612912695", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e26fb3a0ca360b0ab813fa82a6679a197b4e333", "totalWei": "442420000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x83f6f80495f6057a3a2985893ffbed9b57863d8c", "totalWei": "409932226876105", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6080e863914e66e427998c6f4cdd72f990e648f0", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3f16dad4e21b353ede9bfedd29a4c1c07352e6e3", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x617af82a0420bdb424299159f0f3b2cf7eb2a6b5", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf432b0da6b77f0357e44d5dd5f041a2715ce330", "totalWei": "388447698989110", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x25f012acbcba769b3947552e5408d241b8aaddd8", "totalWei": "366040373899517", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7eb651755e4ae913ef7952f6f334e3d07e518b8a", "totalWei": "360000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x0bfca95e97b1557e9d4fdc9297a838ff54efb6d0", "totalWei": "350000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x64f5de151ca43182d4b1b978c1864a4710920965", "totalWei": "348890000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa987e980361f11e1f671e6f559009de958fdb08c", "totalWei": "340000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3ba4f2d808020d4e12599b2dd0822478cdbe5fae", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd4f5bfe8efe9e8f9908c9e448d2cbea5fef90905", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e1", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1e31f97b5b35da0932bcfa8406a1d10b171e579d", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfd27810e3be0a0431750a6be8f8dc6c156b9d743", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x67101435d1c6fc8570c6f1e5094692771eb3a68c", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc84c03c6cd89ce484790df99a78aa4127d7369ad", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa61abd3797558b1cffabc6fc7ac0a2ada09a3db7", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48368579c5e4c0d14d5dc38c37daf4bf2461fcb8", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1a0a2244637a8fb376e8a129064066fcd7149506", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe7c65dbe91e4351cf18a1ad7e3e8a832b11447e6", "totalWei": "294075187005105", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xebf5e91345343e110b06d0066cf83524f0447511", "totalWei": "284340000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9", "totalWei": "278700000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac", "totalWei": "270000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b2d1f0540b091d74e6da9906544aecc746dfb8c", "totalWei": "251815150220138", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8e97da197da0c19e6c93519fadd5d3e692cb924", "totalWei": "250000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x543948999989294cfb74cba5a7d9f501a84a12d7", "totalWei": "249499752995245", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7f2886d1ac8e743a3a45aaefffeea3ca21dff21", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb33ebb0f3507557738fec4ad87947d68981a7b40", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47113d8eb18ef6462662b53214134cad0cb0d9d9", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd26cba91cfe85545902e54d313f699aaf1d9cf2b", "totalWei": "199340000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf99bae1788861dbd31c1377b4d729f3035dcf6e2", "totalWei": "191895506648630", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaf0457138146e7d6c9c6f17685e33076b7a5a48e", "totalWei": "187669012427341", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x090097fccc2be12e19e4e65ac159cd76c16455ca", "totalWei": "183722580000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1896c0abeb1f6cee4d78b5544e34cf0bdd336c45", "totalWei": "127688937930931", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8936a379cce9d9524b6a1e0d0a7e077c47df5c1a", "totalWei": "120000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc0749b740cae8768b89547fedbc33eb45afc236c", "totalWei": "106609808102345", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x159e79bbf88661616936f8b3c4cf332efb41a206", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11bfdff29073dd89ced5a80ebe24a84b74928fcc", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe705b4c6fcddbe8d3b9f641138212f39f7a816fd", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4a3d2b1796c4cca1f3e4d37542d4773200e5474c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5454f9505f2374d5f1f1ed81528d6d26fae9322", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89a443f05c5e7f1b0faf221db0868f87d63721c7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7183d6b75f7f706a93cfdf2978b10d1e85c800a0", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eab1f0f22c8421b7299240fa0d5fd75ef612624", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7fcedb314053386c6a268d53a64c678e3c782b2", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xf1a8238497c189fdd723308f13b5bc5689ef5e57", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1e3d1ee3ea0f355291feafa95568d3f2f7cac58", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc0cd3824d1fb455b1871b0248248079db7e0c79e", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb066d85234a4a837f1045ef66b6f67aeb0a9dbf6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x71193d5b9d465ef47e633ab7e04726e8c3b30000", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8171d002fcde510ff998a13036076b16a8761876", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe5239c9b7a156b83384a82ccd147978bb4d30a56", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x649229717e268cba9a0eecb5c671c83aad36cccf", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8e53709a3f0d16019fcc3253acec8ad0f3e9de1c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x885a5b39c72849fd3098653a5f941a8818ad2710", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdba62cba66bf4296208552d0495a0f05fed4214d", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5607ea3cdf7fc617d44fa7ce4bbd540ab6024b61", "totalWei": "53258912879070", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf1e0be7c2c8ba46b9fd94edc12621501cc9409b", "totalWei": "52956284587073", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x41a5b533df057e141736a2f8701c9976b55fad6d", "totalWei": "33806626098720", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x54c5eb5d368e6aa7afdb169c18052576bbcac916", "totalWei": "26493818579131", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xefcbceb9c6728c62cb813d5fca9081b8c23ba578", "totalWei": "25179525000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x53db34bbbc682f05b423bb89934884e77cb88b13", "totalWei": "24000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x99584423abb4d430ed1cbb902c01268299ff25ee", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x10d00f8fced0fa076e0b2885f26abf7a1abcd7b6", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x02a9db2e093067f4c00a2c583073375ba218f7bb", "totalWei": "18225720000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc948268182b7b515b662e154ed47f42b9df2db1f", "totalWei": "10662799624669", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe2265bd25235221852bd2dd59105cc45f302e2e0", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x878f2cfd94d7ed4e0468865a72a8ae9a0e9590f6", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe544d807cf789ebce987da5431a4376d3376b872", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed2bb379f793e3b8484bf7818e25b5aecfc252be", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0761282e8173a69e8fabd7876ac54060e4d1b661", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe635cd5b39774dbe60e1f1519fc54244971c00e4", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8dbfa2109318704a0e6c1683bf39c4275ee7b7ce", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d26571a216dc81dbbb423ed095e592ca6304e93", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7445cd6cc8303d4a2da4f785f5c37856ff6fc36", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd28bd1ff29772f8887f4240bc1691d00e7cf9dc2", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x613ddc948ac426ae9ee663a56190b4b0a5f32474", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x08584c687c8885a55342e22b82103068fcab6b04", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3b4c774080e9133fc2829894def07f66999e7f7", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4dd1ea8729132aaebe2d41aa5c28dfb1cb94504", "totalWei": "5028220889744", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc10f42d279935f14d1bd1e944544ccb0f37ae039", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf51fc6c0cad84c2826aa425bf2bb8ea4a0126678", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe950d7e5066c0412d8416bac74c45a499ef8b5fd", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x740478f00ea1c4fe7d7567e256b6dd0642a733e9", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92e2c20965ccff25f398512efc37af3b8021dfb7", "totalWei": "200000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa8e8b427766cb8febe4fb07b31c43ea86d19d49e", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d9fc8c2fc0b617643fbfb7c5e27839261475d4e", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5c01e60ee9a8f5e5968dd95a5d1133515233707", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x490fc308d8dbcc067fa1f1fa2d755819824b4eb5", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x539ec54b911eb291830167e337b82c8d41e643b3", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" } ] } ================================================ FILE: mainnet/2025-07-24-eth-recovery/output/base/recovery_addresses.json ================================================ { "addresses": [ { "address": "0x1696a911cb799608b1ccbfd84b21803dd615be6a", "totalWei": "12057684490000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb000524c5de61cb27c01567cf82e6cdcd252d809", "totalWei": "6000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x201b5abfd44a8f9b75f0fe1bae74cdac7675e54b", "totalWei": "4800000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa89ec40699bbfd749c4eb6643dc2b22ff0e2aa6", "totalWei": "2000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15ba3fca21f8b20f145e1536a433a65bfcda7ad6", "totalWei": "1099888210000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x455405eaff9d4391bdb1ffd3cdd09953109a2aca", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x329c8bec2e66633caf5289daf6a08a53e55308f9", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x05b5f0f2c0107ee203132903a5dac30e587e7ad2", "totalWei": "1000000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdcd4d39c93990f366e601c3a083e90146d5d13d8", "totalWei": "970000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x07cbc5bffee7b95cf72526df4da2e32ac9fd242e", "totalWei": "960000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x366b6be122c14591010810cb5539410e076924a5", "totalWei": "900000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeada0167a1e12f43f53a39af051932e73ded6868", "totalWei": "895760000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa40fed6138769b66de011ff72d9c9de53e6572f1", "totalWei": "800000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x97fa3a7c5caedb67ad4bf5f233c34b28f9ac590d", "totalWei": "697018000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5709577f162ea5b815104961ff955d9549ba5047", "totalWei": "690000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb4e07d3bb212a873816bc894f6c24ce84465a54", "totalWei": "660000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee4d973a7972935b0d613dc70f9e666a5e45a7ba", "totalWei": "600000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8a82d146b24d224858f930566cba1b108589f94e", "totalWei": "569696000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x16ea94d9e9bc03960355c57be2b68a5dc0a4b27f", "totalWei": "542120014528816390", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e1df28e4473673854d90fa847af1c90ea6606a9", "totalWei": "535000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3c31e46acb52f230457c379249a04b1879e86f85", "totalWei": "500000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaf7ad8c63072c848d48abd44a3301b631ddfefcc", "totalWei": "499900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf66913fb65b77fb22cbad5864be4b56ea4f8c693", "totalWei": "489976779361325916", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa654b921e43662422f86745dd2b14df8e9e4d595", "totalWei": "443000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdef28f5c5d71e0a0dbf34652d637762cdbc5d79e", "totalWei": "420000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e518d06bdf9d0ff04baef4448996b583e13e9fe", "totalWei": "360000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x107308d558f116f83299d895c78e3de69fc6e809", "totalWei": "330000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f63e5830a3d72636f2aa35e6cc95c84c4240f82", "totalWei": "307801441659709379", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3af0f1966186e9613d348b8eec103bbb5d271f4a", "totalWei": "300000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x519fa95765135191a7ebcb83062c55454d7f4104", "totalWei": "290000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5011739d37ef1939374a012573ab85b6bcea1cff", "totalWei": "274691460000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4068c1fdeb99be166f4d43b14819b437344230f6", "totalWei": "258000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e", "totalWei": "229000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86c24fbeb07b96392ad88daee44f98c2d4c590c3", "totalWei": "222152410000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbefc15f65274bbb680976513b6e74bf0181e46e4", "totalWei": "220000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb283572bb0c56e1252c5acce6ee4686da9689b2c", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x21d83329ddb737e39ec7eb710eec84b3e0ff39c0", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b284ead6f87c4084f7a91bfde4138ec72f354cf", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x005b41103d59ec8f966ea98229ba9409479e4ea0", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a2ed3fcb00814e325eadbaba88bb903047c3fed", "totalWei": "200000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x52652cdd2a98030bae46c8ac782150b2436c51e9", "totalWei": "180000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd56de73036ca986fabbc144da080896ef274de1a", "totalWei": "168548292501350902", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4657c4f5073c1ec77f52ae2671bb238fd21404a3", "totalWei": "159729524671559990", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x438aba433d029f8576078f26d543037daf222222", "totalWei": "137043588205698000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1a7e2ca67acc18cfd1ef492671bb5303a2c01266", "totalWei": "134500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f1be0566712941985b71d5fa625f5a5ea2add49", "totalWei": "133000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd728489711d19410320617cbbd97da8f10831ddd", "totalWei": "130000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x17254d13fb3bd85009b1b83426efeb7ff39249fa", "totalWei": "120000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47782f8494c090bf5faf0e79d8b6cc0b8e774352", "totalWei": "110441409899806368", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf68d7facf1e78ae371480547da465c5a0a42fd2b", "totalWei": "110000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3724cf4018a20c6fe227f7c710f97b5999aa1f6b", "totalWei": "108662221447807990", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e67ade795cd2a6918d273b3f59487aa180ad63d", "totalWei": "107000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x09a09c3d229175859ec3a75e919767df04612354", "totalWei": "101950579290138154", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xffa0a4e79f7297c99085a0c33224f3ad92c62f5d", "totalWei": "101200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73999ec31f59499fd442e74380612bc376940abd", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18b0a909c5fb8034822e0867431cdc957dc1cc1f", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3dd86905fd5e25f3c20338ccefeaafa94611124e", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x236ddcbec59db65e1641c11adab444bf159ae3b5", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x107e0c10f250824fb83380c65bc8e87baa0e4790", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d", "totalWei": "100000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eb8f93282e7bf3b312e0a325a2d920697dbb68f", "totalWei": "98844150000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x670d42465567ae7e449145cbc4f5de9d82dff827", "totalWei": "98741000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x18eb2a28acb2170cb2f95d904889ef8d255e8d89", "totalWei": "96278000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8fc8f5ee2e09eb75c8786bec8e4bb505c3d98b30", "totalWei": "90000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b16daa1f7d5c52994f46cc0cb2f8fe240cf093b", "totalWei": "90000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0c07fc40fda8a7cdf8a7683f66347ff5d6efe17", "totalWei": "90000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6af03657d52a0df99d588aec0d25400ceee9329", "totalWei": "82000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x42fb1432fce71c7ad74bdfa362661d3502407e8f", "totalWei": "76836920000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4658a8e637a7401f25b489fa27c96cde239d134c", "totalWei": "76000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf2f9a2738a2f5340cca5fab5c2fdeba69e0d437c", "totalWei": "72000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8db687237cf16325758382431299f272072737e", "totalWei": "70800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x599a7c81ab278a329c20c1919b4d6f519ceb053a", "totalWei": "70000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfdd80311e3bba62cc0999d7f3a9d39dcfb9527bb", "totalWei": "67000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb66f681b57349ac241a97924f9f00cdf66512165", "totalWei": "61500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x427a2f81ff4a400175e74925b166d49312fb9261", "totalWei": "60730000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd24b891825af7a1c4ae730db222a6d6ada9ec275", "totalWei": "59500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7a90d5a67095a52073e3a71097ecb7d8d2af009", "totalWei": "58000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdceef88c8fe72fc73fd21924606f878c1a9e4c81", "totalWei": "56335371090489785", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7b7f1976dc6889c454e24bb7ee41c5c41b34764", "totalWei": "55870000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1aa2b709e2f6308b4822a2e46f82f0bde2879bcf", "totalWei": "55000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93b9830e92e8e84e84f9bfb8f33a70af37b47854", "totalWei": "50105373507752880", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0510b337b4b8f96dd0ac7423a8fe3eabaac6573e", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x310e8c519b3d8f2e48df16dd5eff5a0eb4070bed", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98c251693513cb5e0d435c49f71a23094dcc6a6a", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeb8b8e35faf85e53ed98f2271874b191f6296737", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2143ced53f12b1a244e6665769e0d3a063767479", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8ab9829ccc7704d8d453642a9928bdb4d98fddd4", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e28f2bae5b7cab93836049e092419db1b7b8116", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac57e69a55e2f3ca34ebb079e3f4a7088f36d727", "totalWei": "49000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3bda4f7dce1121210163169bdbd75dd39c5a2173", "totalWei": "45670000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x65f3019a75931101189ad7399847b2821a193e98", "totalWei": "45000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9bb6000999a16c89ead0b7d1b1c08e644734597f", "totalWei": "44282701407066770", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0920b2153650c5871056b8a931ed5ba2a2e9b15", "totalWei": "44000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0eb9281b7985e295a65682545ba1152a52c7d4fb", "totalWei": "43100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x77c612a12169d247dbe508a0bce17353365ab47f", "totalWei": "41282670000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31594337cf57916ea3f9ac0e9f2aabf0c687e11d", "totalWei": "40629423176554564", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc60003909d9a4895c40d90acc86409e79e4c1057", "totalWei": "40000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa4516aee956f1fe7e43a8f21088e72bd369d6bf9", "totalWei": "40000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x29ca71a8f2192cffc5fc0ed82fb893bd2f5db5e7", "totalWei": "39000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x28f4310aaf879179221e519a97960e9542881712", "totalWei": "39000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7446b433ef38688c6cf29d47594ca9f5d0e75ec4", "totalWei": "38700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb977c4972a98e65c7be0f8807c3ed5e64cab8c91", "totalWei": "34699354875259360", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4e510852ddb70c716af5cb0bcde0db00ef7a280", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x681bf9b2d70b77c3d9278865af9c8da6210908c6", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc17fcf6eb176569e2751f93e65660204f8d83e13", "totalWei": "29500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8", "totalWei": "28822154896672010", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb1833a29879ca6b0c2004833cf8ee565403566f6", "totalWei": "28700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18f167fb09fc6e86c95e97eeb726d1de3089dfc0", "totalWei": "28029363390885585", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5aea06cd79eb75df48b25837a445a8347fc2cc35", "totalWei": "27523677554484075", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x914a6fb358bc0976070e44a32117218d388f6582", "totalWei": "27270000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20ffe0d07d7f7c2c21a24537538b4cde06c9048a", "totalWei": "27260400000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec65398e8f53f98b5eace635038194a85b355079", "totalWei": "27000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfffc4f59e558ce6ef09a1f2184d3e84dee1ca153", "totalWei": "26637401042055129", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdb9fb1e7ea27eb9f2481442709a9f9733633de0c", "totalWei": "26216960211420581", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6b25d98996f99cc322a404954376cb1bcb3409c4", "totalWei": "26000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58b1d79a2509f7d9efa4ec5c6122ffb08221a822", "totalWei": "25000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed9643d249293212a067bda8a851bd0a96206ea2", "totalWei": "24786530000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc423809456d8aa52c2611a750e6c463368035bae", "totalWei": "22304875509590646", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x62c8788f6fa08e150f930f8a8c4b62848c622a5f", "totalWei": "22000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5cbe27489a35a22068c840d330681545c35896dc", "totalWei": "21000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4db47230a858ae1f6461a1a8d76667c5a7378c2c", "totalWei": "20960000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x514756d0c33b6f75c59067b926a6692ffe791e51", "totalWei": "20552367423731588", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd3237b6c2cee115db0d4bfef4789f6b3373584c8", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18ad1c88345cb2fd5e0963af9b7b67f09315c54a", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2adbe45964907ebeca94cac2d244ea83f67bd9e4", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7303ca4a88f866d91eb3903d285886ccf4a94993", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x787a66a377269f200e28de03cc033358a80f43ab", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xead441807624cba5b309a8dc622a33a81622b61e", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7c350e2f7a296319cfda4f83b214232e89a6a7df", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a76c97c6eebf3af522613be02683c2f20514370", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe222913573f61acd28e55d24abf23606e3f5cb8c", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf62fe60688734155e450d0aabd2e5798f394dd61", "totalWei": "19800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc0101b80723815c7cb590cdb3c7a8a53a3ba3257", "totalWei": "19259015420790445", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4daa01798d81ce18360ae3dd4d0d6d33be4d6e6c", "totalWei": "19000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae7bc08aa50ca140945bbaa944f04b1bb03e3f64", "totalWei": "19000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbbf61f09aff0fc6f0da30b390e5d7562109d8324", "totalWei": "19000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5dc42fcce46d1d9d71546ad35803dd7ad6976b84", "totalWei": "19000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeff424b93f54905c5a70230665ba866f3f7fa7cc", "totalWei": "18400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8eb882bdda4b0b7134424fe7a9640fe69cc3493e", "totalWei": "18326823968269693", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x90ca7878be26fd29127c6d383c48d995c8c9ce61", "totalWei": "18000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe78358a49d931db2a18dbe4a85a285620a3d95e7", "totalWei": "17800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e27d99647f01b59e8ac4467facedc37fa0bdd2b", "totalWei": "17653441619000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9664fc47ffd856ba312ab4007fce122a3afbb584", "totalWei": "17543000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x74e1d68ff9b267e48126a9d2289c8598e295fdac", "totalWei": "17001652709900660", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43dbe9cb8659554a8239715561ca94eddea4b40e", "totalWei": "16340000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8573e6b97084c0979ab2087efdb178b27beaf848", "totalWei": "16264551829981079", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x934d697f66212c62fb1a8221c11ca7b3e7e7a17f", "totalWei": "16000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa1fb9cdc9fd3dc3203044a730ce671ffbcd986a5", "totalWei": "15800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd9593cf755a011f993ae293dc935f659bebc37cd", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b2f12393217b6a0d1fa10ceb7aa49858edeffe5", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8514b324c54150ddfe6b12c7f38a4b5e01e4ab14", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x753ccfe3f00683b8f812985a6f4440340171ccb1", "totalWei": "15000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1e33195b419e1a1bb55cebc8d159ae5f665eb69", "totalWei": "14555000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b5883f3e0f201b0e2f453a82a97e353aa25041d", "totalWei": "14000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd0b24fc5b54e9ccb3961217ce98b90dd438d692d", "totalWei": "14000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x171e656419d223031c707e9db05fd94fb939bb7c", "totalWei": "14000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12912e4003bff2e71365129f7040ec9957071175", "totalWei": "13970720593648001", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x01a18bd909f66d36d0dcfba103ac15f173dd28bc", "totalWei": "13471170348337523", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7ece75b1b7dbb1b94439d33b5756cf3d679f8c1c", "totalWei": "13000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc2d9e267554c86db22cdefc94d646346b36623bc", "totalWei": "12917322564586538", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x459f3294d879530b1643c885a864e764f2b353e6", "totalWei": "12900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1b792c5b5a70f8476ae6339a5a8ad8c670e4755", "totalWei": "12740000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x53ae17210138785166858a2df8fc22e13cf153aa", "totalWei": "12407067261360203", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc36c9bd0b67297d4135e176887af0c85a00ad962", "totalWei": "12160000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b66671cbcbe2f4ef0782e65fcce24ae69bf2e24", "totalWei": "12000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d1ac9f9848cdcda9b6f1765c91a13d68d74bcad", "totalWei": "11900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb85617d15ada455f6b58954f2063a12ab2ea7507", "totalWei": "11787542133987838", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47b8ad1b72d5e2700971e953a35457740b9954f9", "totalWei": "11760000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde5802130a46b2bfd4920ae43c965102f7166274", "totalWei": "11100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6e7bc53aac865895c18a0d6ace8456cab35c4c6", "totalWei": "11086500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc351accc1e82be5294d3080cbd6182a3acd2c54c", "totalWei": "11000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa542b59486a23f54646100bc30e966966ee16bcb", "totalWei": "10918500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x91f31ffca781f45454cb0f651e6d359becb9fea4", "totalWei": "10904538233880000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d5e44ac19fdad3812c64f5802747adcfa0c5544", "totalWei": "10878600000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce1aa76dbdd77c092a1efd763c0f3c6aaffa1137", "totalWei": "10725672164468000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x70d5e6a746566032ae5722aa3396a854440a60a9", "totalWei": "10719090163626911", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d43b234b645972785f11c56bd5bf078aa9468cd", "totalWei": "10190000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee8311fe397e2464f78b3732e74dcd65087e7187", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2bf0410bb32cbeb1f1121435526de8716cbe662d", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x295e8c23aa5f474bece1d5e08515087d0b7309ff", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4f05008a04e8d7ca6c497ce4ce927f1bff04ebec", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x562b7690bda71cf36a1030d1ef54a0be638bd457", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1812a4bbd0321a0487492578df3afa7d19c004b", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x699e0e3c218f0800d01e12ddd9571ec18be33c61", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf995efa2876e442e2f6e0224f29db627d7702f39", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc6c3d91d0e909172c2ea724716ee59519b9f6132", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x604f60e4152c1ecbf85a12d1550630da7d6c6e25", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe8a45152f9032197494b1a1a2d07c33f4aa21329", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b05288d9cc08a869a7de4266e609ac54f817f5c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7c0638543f7e0f781cb9ec612d3f447c212a1a8", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x448749280160d2126053330fa7a18f893943c455", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd65bd6e079235e9c84e3806cc05d0d01840b02f2", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92892a31a0b965c2b5022d4ecb87533cd1eb8bbb", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9d677028e0e592d48fc8a8ddc910693301a4a450", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x833634e4add904be71635bbcec6e3a5e152683fb", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f1bf6628a272767df396b71f8ff6348777145f8", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x37ec5a0b4390516baa30206e6cf84e74dad4d989", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d720ae0c5795ad9515310d0c53cc26541a4cc59", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe23cba3b9537ec6f55031eb3c9e619ce995769f0", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc153ad842675e853280a76e9b09cf20d4fa339cc", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5433cf113cc4195d612b035e04aee92174ba8bf", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c1b0096398f8f5723785f10fadde5f13f3683cd", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d67a1bdf638da91c12d55756a802aa67cbc891c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x488ae7ebdfd37569046199e8e72d6252bbea750a", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x23afc240f6b6ca64334cfc791d85130c8b348fb7", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfd8f7a51b176d6c4572e08c93ec81f279a7fe516", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc540b64c3cd08010ce8c54533f8c1c68e738bf01", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf27a6346451cc3acc22392b31474f0bdbe4ee96f", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4f5cc2d73025b63d170f213aa0ce42b2ef7213a", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9a76c3cf9eb7b4c6cf4c226cbf302a743b6bc427", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8b87d657a530cc7e5decd181218bc5a3b103c0f3", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb3ddc2a5b4ebdb7640191906bd4195e23e17142c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5aba902c17afd30c7abbc65d71bd5714a2671155", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4303f5a2204d52a64addaae7a56c96c5a8385886", "totalWei": "9900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8b301e7b29afc9b216133536c36758bc62a2a1c2", "totalWei": "9788194350036706", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2832f7bc0698a3dda01df259e32a38e871797c00", "totalWei": "9600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec757ea51688857dcf3979ca220175512c979d63", "totalWei": "9568500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x240ee788c8bf7c57b489d0ecd4399022c9ee1149", "totalWei": "9530000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe73bbf1f967a5c6ac21f519a8fbf6e9112a2568a", "totalWei": "9500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef6ce0774e4351ee5efe2fb90f462da9a9f64c37", "totalWei": "9500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x34b64de5e1216aea807aa1ebf0b2b90d4abb17af", "totalWei": "9500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaff1410cc2f30ab6fb775915f6eb0000834abedb", "totalWei": "9427217949422976", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef0598fc615c1f9cb440d7004ce081cc345e3bf9", "totalWei": "9230000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x529a33d72423f75525d6ad387bb9d3dd813e57f2", "totalWei": "9109729668398743", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8c3596418183967305ae7bca45706867170b853", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4df39400569c9fb58d30e2437876b8490b3f9b58", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe32d2bb82d67df9fc231dfc92b77e3385d5caca6", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe44eab390d98e9a8214b3b0594f2da39d4ae1228", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1a571070f88cd0b93e56be6bc60b1a77eb53f792", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x27a48f6a22f2221cc9110194df45df7f2559de60", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x39bd08abd60ecc1ec146de981360e08b7c8fda70", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f9", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x17246ac1d35229d408600dadd2032e2c8884e060", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1bc2223a70285580a85ada1002b06f2eceb3dcd9", "totalWei": "9000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92ec39c2d52102be754b8120dd061d20e3f6bbc6", "totalWei": "8990000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe80d315349e6cbc79280c9d30e536c00affe6ef7", "totalWei": "8968490000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x552d54e355d99de530038d36904e5a5136703285", "totalWei": "8831000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6", "totalWei": "8700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd60ca9fd564237dd8959da8181fe31f0473f6000", "totalWei": "8565225525548244", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f67d841728739af9409628e2782bb13339de9f5", "totalWei": "8538820000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x54137aeb20563a46984faf955acfb1dfb5e1463b", "totalWei": "8300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea62cba9a8b9059975ded734113c959570d696dc", "totalWei": "8216000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f308da0d253ff1a478bf1f21fe4ca79f5c0b4e2", "totalWei": "8208181367975506", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35317039367d6b9246441927b0645c9920eb7dfe", "totalWei": "8200306144762738", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6d64a23ce944b56edb2cb582d3715f88b1308b2", "totalWei": "8200000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe875ef3f70ed266385898672c0077567008251de", "totalWei": "8048000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5b97bde2e19eadb8ff2e76c92902827917291a4", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xd2da3a07bf4cd039d5f36d22f22b6fe04bd56a86", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb31fa6f0029377820c5c01216da717244b61a957", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae10b0e2754fea510b3a4a5c9d5117150aa3d11b", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa85c4ccb4e4e2b8180411c4d5b8afa01d9076669", "totalWei": "7990000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1970d2f3c90e7fc871e9561151cb80225fa747d2", "totalWei": "7827000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9cdf5cba9d49289b78cce868697a5bac558d4072", "totalWei": "7100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaeb7aeb5c9ce73a3393daffd5e0a53246dd744a5", "totalWei": "7067757163252252", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x302fdf84dda2093201c65009943224f027025421", "totalWei": "7038500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe67700af96cde045a451889192572ef0a67366c5", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x240e2f86f720e1d879e2049efbcf5775c2fad69e", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3c7033ff8b4f2da51e69e5c97a3aa03366171df5", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3be2a617a86dd49bc8893ca04cea2e5f444f9c12", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d094f02a5ebecb87bba32001ffa6ded671c715b", "totalWei": "6750000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdfa00af8784ebef0fe43306551821d21a0b0afd6", "totalWei": "6411615464611000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x242e2d70d3adc00a9ef23ced6e88811fcefca788", "totalWei": "6220000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0fb1b2afe60efb1d011e1d40c350f4308919e54a", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1566153f101ae25aac31de77444ac7f47bc3a338", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x864e77f5b2f7f064d7193fffb7da44f6b5bf095e", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x71d4287a1bbceabe03ad852e7134ee713b03113c", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d333ab1874af29b6e23189196813e4aa1d4d0db", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66e0753f0383de2ba96ae261c05d9cb8a98b4677", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d32861ac85d87d1ade24cb689d599d53735295f", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x22eed5eeb29a21a6d19acf456dc09ca3a523217a", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee6741d501ee2117794a086b3ffad076fb3f9173", "totalWei": "5994250000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2deeaed21e561889a19e72b93a99fec8d8d4935e", "totalWei": "5623000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x39fbb55428c2db69759423f4c1d8035e64560755", "totalWei": "5600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa0af68e0f0b91e1339370653adfb93a646ef55a7", "totalWei": "5379308489893624", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c2e1f1759ae839899f8d33be0be7da3e6c90e1d", "totalWei": "5345706862818471", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa34236de7fdedf1c62f6eef67bf0933becbae88a", "totalWei": "5313355118089318", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50f443729042913cc005f02b1436676e0acdc59a", "totalWei": "5300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0f6e57ea21728d429df5cabd15ce58d34d135d7d", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdb5498bf2d75b813fc84ae377919dadde8b379ed", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x55d22408591f2a70af3e3a60de55d890a319bc58", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x459940714954bcfbb199de84a91b86d39e4c4f09", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x962da50223fd7e9fa35231a097ee1d95dd49bdc5", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fd99f1154d8b0783e97fd1d21609c2556c6a2c9", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa55cab60687ed881dae236f8f4de16da8a725e3f", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3e90c48a1544ebe8d3041410b61362ae47896f83", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x01dee68947ecb9731b69ff0259436aa1038e17ea", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5c4000c91da93ba643d206ddbbfbf3fb06d4401b", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x270e43f3249677c01dc1ec7dcbf7bf93c8e8f666", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2eb1929b2b16df71d22ddc0966fa8ac5a40fa750", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd677ec2f08f5c06c11f727b62ccfd9a4ea03f0d0", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a8651a3eeee50d778304d046bbbd4721da0fc43", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89511764b6543674b8a0c7c4176ead725d832127", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd79c353b974eee9d022cb4e8ed9c56c11403f781", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5d7c45ed25f47a5f28d764fdc0fff2c8067e7da", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdee23022a5dfd70530e8ae177e16845e7d323899", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf625acb72990273fa0541ca57f6261708a6ca98", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58e52cf0167d5ed727892f1de4b425167a0afac5", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x52dd11832fee1483c00ad75ca4c8117b3f7149f8", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6c871284464c403e48a109f20493c3bfeb22c5a2", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa8570d0a724432ede22e66e86d0ceafea10321e5", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x014b729a2a65bd89faf38d50b84beb47007199e5", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e878dadd06c66aee353c5a8611f824f52afb791", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4169be94679378422757a38e1ff39e60bc1b5666", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d54ee6c2e15b168f35a578ca2bcf49f6a46c473", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x436769e28fe44402b2bbbdc915fd58bae6942129", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8e83447956385f30cd2b36ac39650ed77c57c752", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1a131f0f2a8d54918d82fd4cc3e33ec5b66097b", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x1763cc485fc8c89d65ab3bf122dab7751c4de135", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac13db99c028363e9d4bd2051665bc8d51505823", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x051d595e667731d1d5d34ec2a8e9a2af548d5b25", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb1a64cd6fe0c93267c6639e9f469ea0e0af5c17", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9873b4bdefc0843a79f804de15640861d7886740", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2d83238e1b3b6ce8768de722ae841c7c30218a08", "totalWei": "4995619897000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9409ee260479649d6229c974748bbc4b82733283", "totalWei": "4900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdd8dad42c815eecf44b56e456fd10ef7cb2bf8d1", "totalWei": "4847361047636078", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0634f86d3e8902f69fef5b72c73609b01ea3dad8", "totalWei": "4843510000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa430bd6ac5e2523690861c7b5fdf37642f6e089e", "totalWei": "4805394856625700", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x87043db9c9dd96be4ff7f31c82f7d0c94e4b6209", "totalWei": "4800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc19", "totalWei": "4713000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x54f68f074631baf6cc3cfce882ed184199a46bbe", "totalWei": "4700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x72e0b63d8a1c2c5e034b78991fb9c5d4577b3d25", "totalWei": "4500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x641c976a5e0ca47bc53011117db351ab111ae694", "totalWei": "4265813503965874", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x00e2e53e62713c859e787ebea7421e4b5103a4b6", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x761bce9ff53a2654c4ffca9865f1ea1b1469891a", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa959a8d9f4388dffc6c0c6e978995fda5c388ee0", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e7426339fb7dba498b414a2baac31edd5afaa96", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa8759e3d0dd7fc310fe27f24fd35f5f482177743", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b714300668657dd65f1416ed15901fc9579f363", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x707c8386919c87dc03379484f9f4271f5dca81d5", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b546efd637a616affd87e39c45899d9b5921c26", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2be20da4f2ad43c44d25e382c401b5ff6e38edb3", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x104af6c440d274a4abcb353c0ab85dc2f911e074", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa001308434a0a1cc150bbf897d23d55036959aaa", "totalWei": "3940000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf4d697c97a0ba04bcb51790ae91f945ab115b64d", "totalWei": "3816419326347469", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd183e2cbcdb42e6ce01215df5817185741b318ad", "totalWei": "3300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd3f35ca866bf08799b8082b729f92c06420d74ab", "totalWei": "3230000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1b70387480a055d4521fbea77022d7556506d54", "totalWei": "3100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1112b250db5934f967484d19b5cb57f9cafe1ba", "totalWei": "3026185583857000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15b13ac806b676a0218d8fe232b331b21adfc50a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x88306d169930487bab41b091e2dbb972732e8a90", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf93d80d16dacbe2e9fdab010bd1309d9dde001a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc70a8cd6686bed6b986fa04cb6a64736e28b9658", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae0fc38a9d05a92af7bdde596f076a2b7a8fedeb", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3148e5a60e652bb910f938ad63ce5cdac4623e7", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43ec14bd53ba12d5544290ba0604b643293a0391", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c020e63355795dc2f0c772cd533ce8dc6f8957b", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x46e6d60abd111bfa1607587f3356c96272311cf0", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xda614b9ef7fb65f911cdd1572f624c45613996c0", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea89cc0e2b09b483569451f5c4e57a8329c384d1", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7cc26c9eabd7a61a3d4b34733a108d33f36c20a", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c28871d7b2abfaedbc6152d76ebcd270c199b02", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdbbb560872e2ab1edb31011bee8e499d837f8ee6", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x85332b5a8695d5b944983e7b7962134af2dcebd4", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x945c82bc3642c5a7d8148686e821abe745eb3960", "totalWei": "2800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce47574d7938d8e8add709e96a6df8fd31c51c24", "totalWei": "2789762130932000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea343d5aad581030b86d18bf54bdf43bbbfa8cf3", "totalWei": "2730000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf538e512db740786d4a098fd0c887eda5f35047", "totalWei": "2700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd384f954f5f9c1e607c7d81e5b2bb92df5b6389f", "totalWei": "2698960630261500", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2e387363c7ff1152aa3795effd098dd2bfc7b535", "totalWei": "2697177134411125", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x23a97f8813b7ab1c48a6520b25f65e9324b4f58f", "totalWei": "2690240346072518", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc96f807b1fef88d5e3fbaba0e265eee2d7ac2b8", "totalWei": "2598782583040000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9704f7a2c029e0aaa5fc56399711b0ea99af49df", "totalWei": "2555339061552000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x853dc0c9257b35ae00a1a197981ff903ee160786", "totalWei": "2548000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa07960cbb05906ccc23be936fb47fea1e0aeaf01", "totalWei": "2522058580389158", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa5aa43a8862ff52f31d54580b64bd78bcc8c2666", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbf37e9fc81f8dc95d2553386b67ec6afbb14ff1c", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac4b0882e822e86811ccae3773a29b0f9888b86e", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6a543cfa7050054fc3c6a1f9c87fa27ba60e578a", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdbdf965ba2ff4d6b1145eb3151708d2f8fd74281", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x83cd3aa778603fb579b3a657009658d2e1f09cc7", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xb359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad7873d553a4f3d484511b2b931e606e96dada9c", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5509926ba42db380068f9a7c16e2e71f4c2cd134", "totalWei": "2400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d4261ad19a5aaf0bc37f53eeb1969f4c672779a", "totalWei": "2364000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d1e1867a8729081b9a25a4763eb923d11c44b19", "totalWei": "2200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x84ddfafee4254dd2c35cd02e2ab4fc7e297d394a", "totalWei": "2138905896161466", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fc88b308723e5ff08003d696aed714768b359fa", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe32ff0be5ab1189979cbe85e76dffa3c13f32007", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x49a18d52460edee159af6b69406d3f518d4d48d7", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb10f2544a2fa388234e285b812bb42cb875b8c32", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd540393d07ca51b311c40c50e8b3f03b19521d4f", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eb884803d6f931aae20676934a5d6b7623009b2", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd2241720848c6bffa8102eb88b05c077a2640ca", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9e49c39f36381b228509a1526b811f523a66996b", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa5a28794e78b949c3fc7954b9ab39dd27aaf4f7d", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeae7ab6a65430456536d8087ed8251a5604b1f1b", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9fc7afe457693f0767b284f13ad6847189bda614", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec4a2742bbcfba37234d91cf15224dc5e0da1a9e", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d02ed24ef53c868ef407b266178aa162775569a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa166b311978ac269b5d2e1e50608cd67f2f1d634", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c3dc4ab7c446c8ad448b8037955adf4f76c239a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe513b0b1ccb134398493f38ccb6f5a8bfb3c9a75", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf7577b736b0338ba3c1e82476242e9c49aed5669", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe15345ca41978e547f6e1fe97dc8a243df73b195", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1d85d3101bd4761091c276007d4b1b0d21364a3", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1be6e8c65ba7de114db61240a23dfbf3b4d28cd2", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x075a4bd432e8e862733c8e41efb773d604f35e5c", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7543ae755256476f32ec2cb49c253c4e5d47b806", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4618a344d46132b4c9eaf43203d0f90f306e861e", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1a3c278b6a8b49ac565d7f2100aff055a8ffb58", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdabe322271e9722ff4844efb947f16e6ba8c72c5", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbb50690db3897ca5b1f63cff6e0c061b93f9bfbd", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e5019c712827b5e7d30e1ada52b871582ca4349", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7abf799978c06bc2e79ecfd982f546b45e237271", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe758d32e844e87592abeec8432be09726d6825e4", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc9a6a0241ea3ba3a421e624ea6cf9465ff6816df", "totalWei": "1911000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x36d23239b35477911c489738a9ea2f7d87cb4f23", "totalWei": "1710000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd3654312f35be822222450bbf8f4706e2e47275b", "totalWei": "1616004912654934", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1695bdedc7efacb186967e695974170495b08e0", "totalWei": "1600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12d0ced4220f5acd0b0749bda0747a2051fbb280", "totalWei": "1600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d4e5de26d84e43ff66592c2b38c66c3c87cdee3", "totalWei": "1550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x33c888ccd7d1b861993e8bfcc12f485c1b8841fb", "totalWei": "1520000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc9dd302795e988c16973ba5ec86a1091532f3d9", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0fbcce7bb116f943d1340534d73b83f0aed67adf", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9e2d65ec85452ba115499d975fc28616a3850ac6", "totalWei": "1397000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf9a5844ac0b81bc45f448f864d484e0ef5927d5f", "totalWei": "1390353030096028", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a47b8793497643eb997c3977afd1168a9014e2c", "totalWei": "1378686346535031", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9aec2ca1fda225b1a5966ff458b51560ba206106", "totalWei": "1365000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6943a33a364b1aa7997f636574b127a67e7c110", "totalWei": "1350000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb798dbfdfdbc1354490273911f1a1de25f29672b", "totalWei": "1306648233776809", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x52c547e8332f97b6aeec09c30bd7c0b53dcc3f91", "totalWei": "1222983529469400", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc2d3a3b40cf7581484b3dc6c663d80c2b2a999dc", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a716ede0235796ac3004d4a243054f3a8234231", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f1ff0587805b220b6128c17618a54e1b6cefe6a", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe64d2b73aff7d771eff9cf9b5185a9f542aea5a5", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf8f15c037746e38c3508d3343d094d6ff6dbf773", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x87d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb8ff1e56f2cf118d75c2a65275988dcfc327a33", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa50b5ca57355f128448ecb05efc2cc8973705cf5", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5beef1abbd43a347ff32c1089d3a36de35eb3a54", "totalWei": "1084781064061746", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x020cfa8d14e643658e3d21073a87667d14064678", "totalWei": "1072644874098308", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x408c76c4eaa072ea64d2833cb2c2e996fd0e9ac2", "totalWei": "1070000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48bc9e0175fee1316e4fa81980a396e57ab13304", "totalWei": "1070000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x297822004929d4bbfefdd5934854e18036c17605", "totalWei": "1066351026762800", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2d739942efe7d5c7310624f15b8fb6d80e60d6e0", "totalWei": "1001548406124806", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x03511ae216f13121c0e7ed09d3fa35607cfbfbcf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x1b4c289c4f6e0565f1e432654254485c490679e9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xd152926beefd40caef59040a2144980e481a59e3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43c718fc437d0130a3ea613e2d388c51e518ac7c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x390d9a55eef37581f183afff7b0d4f8ebb8d23fd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3ab26229b223e5bb9202de8c76ee169749d98f6a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b75dedc991e833e7fb13d9da2916a4a01adb65d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea89f597ad2315d75c91e08d2e4e3e1742dfc32a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3b3b747aae49becb89b60c965400f0631d56fb5a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xec0bf38c27e01db8e7d14cd0477a250a90a5d4aa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x516fdd279d2ac97bd7df16a34bb70905a0764bf0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xadf18d1b8a638f0c7e010902b238122df86e6d35", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a76dae7b10583964c551f719919d12a685218b6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb148d626245bdd8cf0ef8bde82de71b51d30d481", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb9ee31f0edb828754ea3d6a58520444841fff361", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4099ef095e75a5f3dd90f852ef81703b7e3b4864", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x01390192e7c025730a4426b12af78c23a548e10a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x761210395a870290b00d053a987089b443c102fc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48c135036976cc6f535e748d85f50e699d36117f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66d0e830c96a64c928d1dfd7f59f4afaab1faee0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7640554f93f776bfb369b25b5892283c5d437321", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8cd9f507ded07adbd0f6e99f15fb6a99de2d6285", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6add57410671f0d028247ba202e4e8ed18526d1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd4c9d0a589e87b44751012920e1aaa70cc7b9fe9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x25be2281deb6b7e54b90e2e1e0e08c5f91a9d9b7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x5890bedf1c84104408d8ac8238c74046eab00fbb", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe62a05e304d99d0dd74f8335d8ec57b294b99734", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa08caf92681c7e49739857c9e0a8bcf46e250549", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58397edd048e0f9bb4ab58d565ed04137359bf47", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c2b84703e2df44190b50e66e67d168b4a5a3508", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50981b37d16f7090c0a968bd8ae9207a24b16925", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13192b1056ed57eaa06bb7e49d70964a668e8604", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4cd9c5e0123111965f68d3fc60cab4ee6847dec1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6effd03ef62f3e6f1652f77e0082f029293db5e2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x19756118bb02fbe245f13ee470c212056e200fe0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeec8ee9d58718b4373dc8f2470d95a5a828eddad", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eaed3548e752bcaf48346dbce66f8d7678d7152", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80df31a5642996d08b8e5b2a442f05376305d335", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80b2baa6839e7ed6d5352b6a48315a552abab534", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ea5dea58401b6333cf2586c6d6043e32d72fdca", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc064c60c74cc6aa9f40390cc0a553512540e2d82", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf87e2e8be4dfe3abad1fb1923d53bacb76edd844", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xf1e96a08e464e682f0651c3b31592e1f209ade6a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3cc1a943b27c2af7c6dcf3be0137f66c2f22e712", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x38b4d6af668fb4f95fba4a16024f48785e9f4579", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7242bea729bd3ea78fe7a1cdf2750d6ef5d36735", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fc93339d5cf5c219e610f5c9ccbfe16c41325e6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45805989f6381418268a12bfcfc1674fbb3afa67", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d175082c67a3dee46b2bf3839cef3a40a886d71", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9808b31e686600afef493292923179df565ef86d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4f75a5a1f9201507f9ec0df6da15d8c8a07bbedd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab8d9baa3e98fb64c6271df59555258175d0a437", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x62298dfdc6d0768964ceb32df36b1b00509717bf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xda7d76944d68423abd74e6b1af13798c740d7349", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0435dc002ef3cdce44d4120b21c86bf36f7d5909", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1c1619e7eb4ad0509689d4db397ec1504ef916c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18ab150b48c7e0b2e52bb6618d65e791b89e3bfa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd66678f6eba890aba5fcc36b93bcf8c82e69862c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2c7741a41af2e9ec86a53580c2ecc5533b713de7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc4d7980cc58fd574e23964bf5033b626323b2b1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x78cd4e8fc59ab4152099efc1f4a1988e65505302", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x40c257a1be6aebb4b6124fceb823d6e36e36a0b5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe598a2e86f2eaa7ebf4a22f5cf955b8a47878513", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa68ea64d500ca2978a5dd15ca9ae10a9b7e94043", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1678a92d29d75d53dce9f79742cbc2977227afc1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d265f4fe0db5a04b55d4917c17df701d004d0d7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f212e4124bc143dc568b0ce3b028b0d730fd402", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a5651365cc4c3dab3aa10fced70992bca19c0ec", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9aedd3c92c82d664609c61a6303306474515ed7e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b18006b33787f55ee60d77bb63b543a84243aa0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee8997717be2eb519dcc3a39f8c3fa820269442c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbb0e9260b0a67b05050179bd0fabfd83bda0480b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd70d32e9b0380399fa71ed195728e66974f3cdb", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2d4116bc342f59f52c6154bc37679d2bb619f11a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18b6690e5ccb9843a6be4afebea357c029c7b208", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7020910a5ad738a721c2995a197f9e300e75939", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd567d8fe3c518be36460a3e7951228a60ea659ec", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f82fb6991aae967e6f2761d85668d97c566fb54", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8eb57b741e9de6a5c1ff48811711014a1663cfd5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58ebf196143e1179b67c4613c9e13afba1afbcdd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4b932585321f6763997cddd7d0b3ee38e9759b8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x840df06b064515451c26050e78fa80f03b33e5a5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc86d28370fd44bba412529af429e641f67cfe2e5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x58a39efb62bbdabcba6d0f5aef1723aede4b37b4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4e6ee168b269b2a6329358ae764398be7b1d714", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad70", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x76d52a2fc4b06685fa9f87eb880d598cda5b4613", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xda87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa09c588fc202efa43d75603fb6b7a6b4d8efb2e3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x71d48c08e14e288e1bb97fdb84d2cc385b183609", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x63e55cdcb9451873eb774c6e66d4962a39c17386", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa03b7728351f0ac2a64531f6c03581c1ff0869a5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6e1f3779fbdda48583850908756ec2c2f356e5f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa2785ca21a99866e9dc597d6401fc94f1ec7b02", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad9e8a415aa231fe00b51237b793245f484cc685", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x76368ac7199d8f3ccdb62647750031194a6dcd5a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x067242ed93fddbe26a84fd1c5d761843f1a089be", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x575eef39927ec1da8630b435bdf14828b9a0db64", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12cac2184e9a9179619a4547c3930dea82d32f7f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8dc73083df051e292112bce426fac354c850ee7c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x680853ded226aa96d9264019dd23f7fbd44e5c97", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb4f11fd6f9a4c311a9eec2dc48714547edb0853d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x093a57ed456b1d74d221f39535f0147bc37bad8e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9a9b5e0c09c414319fbaa700a209eb3b91b19a10", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4eb6ebcfa62792a01e5005c453f39d63493a79b8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98774e4a949cc16e1c08b61f938d0bb572cbcbc2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae8b37267dba554e0a5858d5d5f3a2441c8e4da2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb7984454dafb5bea83a41460f38018fc12de6615", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x616ce82143e534238a2d283c3a7e6d4d8d4c756b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe77ab99a3768b19f281bce1f847945618e78b458", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xe1ba123ca59adc6a52ddb854c9fc6c576d5c2e69", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a42962e6d406197df2cb6ae1a6a6896b440b17b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeddd192cea431365093b64899c9ec149744ddd2d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe3aef7cf98488f57d0544612a7615d236015a7a4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa3225048b696d119c39eb6a3cadf63f6d3e6e150", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x611dd6e54bd23557a0cf1db3027a1fed5c3c9656", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9de8498a65a4a70793be07f58e16d1db4f6a483b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc85d9793b53c34c84a2daf0d1de1fafc2f4146e6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9a299e6f9c966e77587928840ad53ef0fd9f5f17", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x191148c4615beee7fdfa894ef8a611621144a4a8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9804cf118c7312f10cff4b97403c0ff4e3d0e06e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x035dc03524a158e266498d876a7258745dcab878", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3fa391b361871beaea5accf886ade427d6f62c9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4408f4a75fc330b50ee6ab0db16610ba2364e95a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7474d1d90557a9fee58cc9c50f7bebe71aca2c86", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4cc7ae052bd0c401b1155d1fc736167917693b1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfdc79905818aa8e0ff637c2627c98b1e8b5a54b5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x985d4723d532745a75771f4c37331d12d79dd14c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13bc74e412fb20cbfec6f3bdea54e00b8352c55b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x82337ef7f9d145eb40f34f4afdf3b3dc1795bbab", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5354fa6cab9ffc82be63544c21a5593304687982", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7d4f4d454e624889bc5617f177dc0b4719bf94e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8fc3f128aa09d0da1987bd8d55411fe57af32285", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92616db33b534e8f2c5281396cb9c1dd88470365", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13fb50d884a89d7234f869ee8c86fb8970000002", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb4f7d0536c3503f68f02a002f8b270091148e24f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaeef3484bf23c2b26b29b7f160ec416ea23d0845", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48265550dac060e6ae30cf3a656be34712d038c4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x546aaca4004a7caa9352a9ad0f725ddadb414500", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b1d90ac8f9fd6a5864021b0b7de65803e841861", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1109809fe8f95144e82ee71dfb502480e61b0adc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x142258ae288afe8b326123e54bc50b8d5856450c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b74e1cb77a59773bf6c62cef93a7224895b8f86", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf242d2cffe2a578e192f350212c62727fb948583", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2ac2dc3ff68f5e77281515d51e029020d4b16aca", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e14e857ab1b7d495a3a96c5a9f3c8785756a335", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x163428be93a129c0e66e97a27ecf0c43c2a2b350", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31f25b23b8b851765c6dd33f02c4729cf91f3ac2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed847ea7b5bbf0ef89113519cc9a0e152723604c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73c20e0f8ed6e3772a47aa1423897c444d3e4fe9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x675aa1027c104c605ff7ad4aa9197c29df85d660", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f8bd54b8c7dac94788ff5fb73628aff09db7f6a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x75e86bf157388df68e714ae31cdcbb3727fc4b93", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd2a2683b327954d56dd7e75120c821ba7c328f27", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c88393ed220d6566f9ef47cae1478bd5b45d7e4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7e9d18153de624713c18b1ca18a238c42033ea5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x536299004d15c40458702cda4a99a1f1eec01505", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e577a32c447d890c4d8a984d198c68f6204f836", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1056e8dd5b873be12428b8efd00b43996f81e3f7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xebed72802bcfc5400b712caa56ee6db7cdcfe683", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x24fd0fcbcd5d09a900c3c18501d1688ccb5fbf14", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x576843032fe7c94bbce1e1e62556761008cadacc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb53472b833f464189ddb27662df2a0dc96a90985", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x16201e6cfe70a6fe2e28fff8509afbebd48f028b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6945a33ce4e9425d094e53e1467fed7ea9a89f6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5ff53f48f14e9409b581e41a4cddfe0e97dc724", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4a395b0efc9907a195c81564c10a985c7e9f6a15", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc18767749fea9fafacfd18d45896443b04ed738a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31ce44f7a8a92208dfcbfca3358de9b70976a528", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x065dbf25eed046ca437b4913c7726d34fa60c7db", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdfc69bb31ce173a088a860d0e66a532a1ee1504f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd6c0aea02d1857375592042474a8b2c6fdfe0ee", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x65245cfed3ccb8299c073ad15604327c18bb5413", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb43207657d01ec997e85cd95b8133fc6ec0292a6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd94dbf2c1fc5b4c9ca277efc7ff19da7659d9925", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x762305a7ee4226a32e7c226b2897e7c7bc531631", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d925ae054c5c8095eb80c3092cba85ac0135355", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b987c3a64b465d91f02fd237c601d6d9acc7260", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5aed22bc89153d591c61d61e2325617b779353dd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x941e920177ff53b3aaf805fa424d4e6469fe38d8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa33d4cde3660a11a57b350573989b06a7a29e5dc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47a1d54f8b254aa708fd3ffc756a4c3131af6bf1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2fdd6ca72f6c193d26843992095bfdd01bb9abe4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b7cb24f7ee022fe1c67199fcd99eae415dde47f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeb74d2fe5037d4497423faa07e0979a0a1896884", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1bf36108f95cfe451c1b4d06243adf71dc7f618", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x196a142872fcf4810395407c2b14f13f4f5a24da", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x917025d0db63d06d78aceb341645d895ff011d10", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf25af5572b696c979fe5ab8f5837f2d79c7adb73", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd041e54798b9292635e7b443adf8e695165bf822", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3eb681420eaadbe13c1a958dc6a6c28359654126", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1cb0846479b849e256203047b1cc838559028315", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf187e2d65281f2473b11c6770db9c1fcd4da27a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b25e396b810baba459d5cc1eecffdde93536877", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1611e8e63c55c9a063426deb3e927ba877cdc63b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4acb730619bfaa6b843dcb2d8c760deffc00b115", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf59d84e6632e3276315c225e463fab0ca860e19d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeca2a0d61f6ec5bfb41988804ec2c6465fce8e9c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x61101724e4dfa1e64c3647eed544fbf741e2568b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e256d28fe21a7d95c4e7548476b9de250b056ab", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e3fe31a4ce71347b1730acea5f85a5f562aeed4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x790aed275ee4dc82ac2f8b7729b68c87330521d3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x78c992008e8518fc2a9f00f26253e42968e79ce8", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa15fbe0518a44466d780fbd86ff5a6576fe5fda5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1cbda05add081f3c147965e9de611ea6b3f356a6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf74758efc2c42777e31773c58fddb75abdca5b0b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x70ed1a1ef3713f3494fb93fa759d1db3a9ba1e43", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c0da62b2f992ec731ce92fc30b1b5227d8c14a7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5564fdeab81b6054fb5c08fdf7838a7a3ce2d10f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x939f5cd7aeb98c97806fed124b370c6830551dfd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdb3f6c315fa914331410218919977ad7d03f5ff3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7bba23f927a2a3e2e23c507ffbce47a837b7cfbf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x303c48e228669b33d28eaef0ef4f6e0a5d1f5015", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5bb35886f7ec42c9873b2836d2dff00bb06fad45", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11ed4fa723c5163366ee3c8a9e8824e81d6b3eb2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x651de84663589f81ef7107e15bb90fbf53f436bc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd316467b48cd04113dd895d9ad8649c2cb91692f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x27b52106c0cd7cd30c4ca8230720c2f7ea686db0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc906f00b5a1ff25babd7c2b292591b797207985", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2d803aac11b1e28e57680848fb6ff3900d483744", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3af1570c1ab012290cc4917203b31117e4a4adb1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x245f44d92cefff7d369677a1f6cf759f6e017d8b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x56d8a130de8078c33e4a3f6377af6abcdfce4b51", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9fcbfaf1986b495a147c53e2b16c97ac9e98fc8e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc91638ca207e9d5e0f30de447656358b300720a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x51a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef9d710a8b3a4c99c3974a52c0377da6389ec270", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7a3551feba6bcc44c136e6e778305479451c61b2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x987972218b91c3e3127948e62620d67caf4d16c7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc98e65bb7648fccff1009b5e160cc878b1e30ecf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x306aa5853ac89099b1c92a317c61a05d1c7dbdb5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1bda0a00d113eee140757aa5603c7cca15295153", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x59a999ba2f390cb13cd37a2e4ba009632c1b6604", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x26e897ccadbd161e215f5e562196775a73b842e1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe08fdcdd1effb28aa64dd4ea9dbbb0b498a8e991", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31c4eb8260e7005aaa63d8093699f236ed9bff59", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98c208bcdde8a2ad8a31c70d50a465ed4b864c4a", "totalWei": "989000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc758b8bf1d2b8a9eaced09894111d809eceac412", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b83da50c013c6e5753c76e5b6aea4252ecea9f7", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc788027714a45b917658f58348f962652e9fd4c0", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0f840f2986f0651a6cacf83a393eaa3e155311e3", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x425bba4000f568f9580227a479fd27fa7f2fbda3", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9e384d3393b225a145bffb709ebc88eb8292a5f3", "totalWei": "900000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdb59dd5a1e02645908746fd4dac69734a8559f6e", "totalWei": "819965616108450", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x25242813b143c293b09bf948542e7ce6b0c3a9d3", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfd34b9ef5af3567c7d0cda889b7146792da46004", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe2ab63c863a6020ad7e1fce1e8518766f68eef88", "totalWei": "707101062419346", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xedcae5edba43ac331ae04cce2096ca9b72dfba1b", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x25f078dc0922e9ad4a390bac9e2f7db6b747b7cc", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x01d0c05f9a9b74cebf8fcf2bbfa2257a50708929", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1265522e4e6f80988a88ec6fcab4e129cf4a593e", "totalWei": "650000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7152cdffb2ca1d06b945609bb44de862875a3fbd", "totalWei": "617816881744332", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1909a2a8605ff743d2d935ec04601b7f2a1ef6e9", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8220d2b586b6842ef2bf5a0c2e464924b779dfe1", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6730e78fa5116da41347eb4fe7b9ea53f1472a68", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e2f09c515d8ef09855385c551a27235e8bef9a9", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x944ca2de4be2bc5379f358b127dd003114bdd5ae", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6d10e4e399f521aee33929dfa27769879ce693e", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x11180325b253dad82be5855af67496ea2a7d2072", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x70ca07279dd9d26b5768ef92b55e652fc9e9e7a7", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f6078ace0ff7d6f00b2089ad37fc1209a3c49c6", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe772c5b0111e4fa2f16dbe4fb0806d7a936d613b", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb27b99879dc7069c7b036824d6ff5f7b6cab97ce", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15fcce1a868658d0e9270be57c212e67ffe6886f", "totalWei": "580000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1fd3ac9ba02ebb647428df005531c53c6e28124", "totalWei": "566000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd0fefdef1374051d908ce9543355f145126e70f2", "totalWei": "560000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x726f49efb58a5545656931dd0c73e94fa4f11356", "totalWei": "560000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd2f6944bb2dcd619813e8af9d1c3f36d79d63335", "totalWei": "560000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc6628562f0cec8bb01c4ad9e3c862010806b7ea2", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8ed294be2b9babefcb29295787b19fbcebf6ef58", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbfb476d5c49e3f002d9d89e01d658684d0629b9e", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb7012d498346216ee9df4d45a995542963e212f3", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d1e8b6722fc4229de9ac0fd111ea4c44a5a64b9", "totalWei": "545820245018700", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x03ddef73288e36987eb1c6df6349a02775a544f4", "totalWei": "545000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d34640eff3826b4736551e51edd75d5d8129e70", "totalWei": "541697137130630", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d6037eb6681d5af488f26861cb7270f8e726968", "totalWei": "541672412938020", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb866297c54f5764fb21f2d6539eecaf274f635c1", "totalWei": "541562190294122", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f7d5e0e67f94ce5652058e7bf67a30c616b6849", "totalWei": "540093868314313", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x65056f8c991847dd55dd2cc7f659271784a9745a", "totalWei": "540000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x942ee0abf4ac0552fdfd414680d883555d05d7a1", "totalWei": "540000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9cf4dbab25fd916d09f73217b6852cc2347d14ba", "totalWei": "540000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x925717a3a1b386595f22fb01dbf974ced9c1b3f1", "totalWei": "536208842620000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc82f4f59719bf7857a3a90b07d42de343b2bc194", "totalWei": "533803080043772", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89a531a45dd3dd725d755cccec2d49956da89647", "totalWei": "532844537277804", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f7f60f615a835a96a5825cc8c6daf855e1b9129", "totalWei": "530222693531283", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x759b4e1bce18c62740d9df166aac7282fe4ceab4", "totalWei": "530000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0", "totalWei": "520000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa71d3a7806db90e01f12376b8d5b595c0af95bc8", "totalWei": "510710000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x69b8378fe275d82b1085a9034d5a0cd71e9ca592", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0bc6cbf40d360007be783fbe341011d45c1db855", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9dd11beda19bcbfdb011c3228093cae2f0266452", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x21f0ee0e4e1078fad47c49ce4086740437cbeaf0", "totalWei": "502620000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x250249f3f5d3c6860bd880ee4af0a334e0a0cba4", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed3edf6c5fe600974770b5fd7d9ab25c913a752a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x520603cc23ddee86c87a63e18aaba2bf46e37a2d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x739d1b54808c309b032ce582d3175b2f0ca6a622", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x26e1e7c3be29b1efecc072f28c72499a1303a725", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x899dd1aa7b48bd343b502a515083e2b34c687ab9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7743958a82b51ad0fbbd239c17bfa6a7236d9d2", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x04037345df5ed2180a7fa3d25d42ad6e2c4ecab5", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6810f97136c06ba2fe144afbe4eb97b3c783207b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc032792a55e9a09a6097ad3d4d548239f9cb6d07", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7eda4366b535742c679ba5d8a1919f045a56005", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x32505addcaf7eb2b85ab391cc23e50faf15e985a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe0847fbb6581987ca66e955bd6e5138a3642246a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x46b848b490101f44cad5304f17e3dabff81e116d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x312bdb6d28f34bf5c756933d500127bc8b7c719e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8adbc04f0b9396c428ce246354ff347d9129eb85", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x23787e083f1c0c858a026f0d57afc9832204b8b0", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d73cb6fc36c6c9ef68c9f98c461f8bb59032c49", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf75404a4b61cd01eb1b4939fc112512fe1c10f0e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8d7de37f4f32d176242937e91af4982f284089c0", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae91cb07b00d30446f0b1fa0848f0d354efdfc8a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb535d371d451fb417c7eb21299f862cc04811e4", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x370cf245752388d43181dbda57edb3543af10c86", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x92e25677ad5e89810836ca36981f4a3a84bad93a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xb01c0c14d10d7e77b470ee016f58124e61b48499", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x0a2086bdc057be62d535d2352f39b827b9882478", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86d08566c4be8516fee3686f05a743d2e12d85ec", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d09b85193d8fda1536a35351a1480ec1cf4334b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93790941273227ddc5e4f29d140c614f2bab2751", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x82a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x155012b32d9881b571b3bdb5e16b5a8b44445a44", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd3c6a99a4d1f1cf3b74acd4f65857a20926e5481", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf48cbc850d4b0fa08e5075c135dee2e407405aae", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x039434be2cf69632bf03793fe88cb9bb792f2bc3", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x910d4d99fdfc92e9076542e8f2d2ceda4131a57a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe0186fcae614de6f53f75cf3aa27d50109041659", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4ae7357ea855f649dfd84afd7740f4c482c856ca", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x090fae9ec7d95e7fc9963a854bf3685ca6421722", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x238603aed394b2a19efa22a6e46374949dcfb38a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x22a40ae5a69f40a375afc79455a98d9742bf3655", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x14c8d21949c01c277de3823443ccc3881c4652df", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d155b8de2bd028f3a3a2998370cf94b27550c75", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4db7b5697a1e0390d8da348c4871404440b9494", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x26500fbc806ee509b41ac6b05c0aa94f18832ba9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f1723f9f3c9bef79246003020345bdf61a1dec6", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf0359e93c0ea71d605400865f9bc3b2fa3fb254b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5d4b8a629086a52345491a4e8164af88154c1ee", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf43c52438b14064618b9992fb0016a378dadd8f0", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf0478e1189c21ddf83f15cb7979f43442106aeaf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b13df44a1b1f596aa4ef62233511e94d74b0428", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd7f5dc410796a4e8d7e1dca7ac20445cf2c1c85", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x60700440491b6d13a35aa11015bfdbb4361bab5b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b88522dfb1a166c06b606ecb3ad2d9c6b7f053a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x684ae210cdf21b3f8181759b49d365d87d08b7c5", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5817164ea1244b8ca7d18b3861fd45dcbcef380", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7acd95e98e978391ccc140d120be87f138d7fca0", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x571472eb90edaf589035162cb8674fdbe0fe1b67", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a6336cef40dc83dd8b16bd9a2633b9d2049edf6", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x53a567d00c6438ecd68c82c0601e6c565df2101c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe34c296b3a9e8caa7f72f73b2f13d9ddce4e2427", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x059c66e8945b5d641fc16b3ee64928256fa19e6a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb196f124b9881216fc9b8072c5798941201a7003", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe339b828125f0191ff5a6aca567db1c172e2f0d6", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3cabf1ca6ae455ac390150bf87689eadd957ee64", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa3b4892f672871dc28c0aa26688f1c43f0618197", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3bee34830a3c89b240a49633cdfae5429fb78a95", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf897422dbdcd47c0f30cf186cd65e53716852ef9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5b9e4a865382d4e3a7c7b8d6d29523a97be71ad", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xafdafff6439c597b5d49c8650427681714abd40a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x97497498e3b651de88da1cfb50c61a8d1d8ab3a4", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc66308d190dacdc803e043da5cd6ecd1e2158c3a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xff289b410be1c180f77d716e0f07f591139f2ddf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfab738889b445d589f85727c05fcb16c935b19be", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1a1982a361f2746c1994a7dbc407e7c0e004afe1", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x224636e700933193841b89c52f68a55e767fee5e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fac36db18a86dd8b17c5306e319fa608b270b58", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf983c9cc2816cb0a9ccade7fdafe9760a47a2cb9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x626d3f8aeb247dae455dad85c65fdb004f6699d0", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x95f7ba743d92fcfd728afb88fa1a62f62dc72c90", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x2345ce41c77e85f566a85a75c84f3cd15d5b8546", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x603509391b2e0ed2992a506ac0c313fd4187b050", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x85b17659615fe7127aea0745982e9007c1285cd1", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6201c94d1b3df33f9a7b29e4259353b9cb4a9bec", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0be4bf64af045dc405f4e9bba4230607e5bef842", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66c40b2baafc8d56f872451ed3fe13e310e2ce3b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe538b5d7a04b13778779bf05ec09e404e3057faf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93a81ae13890400ff63f17d9755aeb6f47318c36", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b15e7c2a7faa3cb3141b1078a37076d7f08847b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd197509518a20610db751c9a04eb14c3a3a1330a", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1bd3176a95632ec0801d4d41520926e70bfe2a8b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7dbef3d6289de0575406e6e4433d9cdb58fcaa0f", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x784c9ba7122224467a617c5f844817fbf1dfb4cf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa783162ce2044ac9ac86fdae1c6088d4322ab344", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8bce8da512cee9191b2c3ef9aa6d894ece885b01", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0180baa3cca07402f3d2b09b2f2437c677e56d06", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x7e3fe574e68929cef4e6a7eedea1f66d20c1c095", "totalWei": "450000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d399d7445e78c68b96af66ac54c8a4edc913e9b", "totalWei": "420000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd8fdda136f9f4bd543402a714d653413cc06ec23", "totalWei": "403720000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0000e4090a1c217b90256eea1915fdfcd1bbae64", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xabd2a942d3d365563ffe8fed5e11f1d377c2d5d4", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6b2b94b69f03f3b3a917778e610f41f1318a5bf0", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86348eda998780459d06b940f905145b25a397ca", "totalWei": "373610402808100", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45a139331f472c4702f1c756c0253f4c80564122", "totalWei": "369000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea98a37ce62f2342a3eb0ad9edd9181c383d8958", "totalWei": "330000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x95d1ba73fd9d3b3a2ff491b312d5eb9f462a649a", "totalWei": "310000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x90f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2", "totalWei": "309000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x926bb3319f0b27c8151931fd885a009279fe5417", "totalWei": "304075216045441", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1168dc6686f19be98917b91c8e55e81176cf0cbf", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc82c3b298f5f574f42cbe041d5fe5121742c6a6a", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5c77b0988d2fe1d1be6d8757b19b0d42d96917bb", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x011478e8f9785eb5a8825afc9ff7524530d4f912", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1ed0c2113cdefa472d7841e0a21422d84d8f41fa", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc40409ed25b90650b1f1dfa220d96141e8b8fe03", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1ec8a8a12ba56355e6a59cfc64010f165a522a0", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x63513dc903567285d3cac61e499fa1a082b78f36", "totalWei": "297878998089000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb17fb3a034087b011545a15ede4b8b961bf84806", "totalWei": "280000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x326a8825472bb0f4719998e708a1eeeb4473ed1b", "totalWei": "270000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x57c5b9a0320a446a4b12488727fb0d8a6c2fb719", "totalWei": "255930000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x76eac5cda3d3c80232a8a7bc126f7d6652a17da7", "totalWei": "224000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x940f5293be23c4d06f9f561f2df79457d3782e1e", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80bb826010b8c66457bb23b34b4640db69de8f2e", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b863db993d8bb0c8b6514ea056baa57e38021b9", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc6fb9864b3e76c69a9716f242c86d3755071d499", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x71e6e71059f123c56b9b870b2fb763f4b743cc91", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7edfbd2d04505e74ea6ff6c1720275a9b16a3869", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x7bf499b5944673db7c2d9a27cc3ef72ce59ae1ba", "totalWei": "163000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48fd9ac268360bd394de9a63781010f4ab83ac88", "totalWei": "143000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3310e91b1ba34d59986baf5da78afea79607b11b", "totalWei": "132433491900368", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1fa108524a7369824c2c5b019d43b78a5d0afa6", "totalWei": "130000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x052d88166d15bb97b0ea58e295b1973ebfa58693", "totalWei": "121000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7bfe971084d2d56c5ba0bfcc21f754c9a10671ec", "totalWei": "120000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb06428af321598ea54cb34e14c9df3d3b09fe625", "totalWei": "120000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe222bd8fcc0d6cbec595d2ee000fc4c5f91b906", "totalWei": "115049643921352", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb3fb4369d1079dc85c10ac6366b345925df71adb", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x540cb04ebab67e05a620b97bb367ac5e4ed68f09", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef9d5de0d4b71c76b6147a6137f2978da3a73506", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x089da3a56d0ee629d83cc301d1722ab94fb673e7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80b3fd7c78157262d289fad864fd3a1c6f7fb443", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5ea63c170b6a6844e51b3978361be5f28b63daa", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b9928501f034139195fdda9ad43c9ec9857fe61", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4ba85d44740d7c532e92acd171a79fb31b322483", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9cb720f52ac7e777e503c456da12e9670fae6ead", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdb2ab7c1dfa51c389b966bc5991e37c0120b1f7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x344dc8824ae7ae66a3d68c81ee35da38d8918ec7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbf60fe40eb2b03a9a105697804987169c5fad184", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b30cf796e8815157a1e3b8434edef6da4a1d362", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe428a0082eedbca76a516002cc66ce5bef42efb9", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9ebb2b1334186b5dbd1b2ae677a47fc89085115a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98f830348209e806116cf0ec52774448007e41e2", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3fdaca3beb3079cae2cca5a484fa1781d3c83403", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa9a04026574f342a041dfcc76c3a20e4bff9f5e6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa063a289d0bcf2f26e6ddc242cb58d1ad34e5bd0", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x94d0deec69bd67d294b78487a758cfb763c6fe27", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x508d5484653431db879202b7ee326974ee570f83", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe6aeec13e8a19132678bf4d0541d99e9923f071a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x061eacad9b5dc7a83f4b7458753f3e1bd3947c09", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf354e360ea86320dea7f832bf81093d41bc035c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x30ef0f115729f3110d492f2bdedf47a3a9471169", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x52f24cb949580a3fb12734222655cce34e9e1d4d", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5e840cee9c90f3f8a25859552b298fcc90c2000", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x87d4a19c75ed144376ca14b1c27332513e5aaa99", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbc08e5a74521faaa975583e3a8acbd7f74ba3f9c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x204d3807481211d80c2ef467afcc6431f0dd567a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x186e610cc55f7a3b76bc01fdc03ce57ad6024083", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f8f55ad1be99cfd810417c07906d295762f87a5", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2be0ff6f4acc4215bc15ccaa5db913e83d98ede5", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0f479ec036e34e9a66becfeee1ac68495e891d70", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdcdce415cc8d7e363d5b7f662ce0a12ce61972e4", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf447115b338e6f03f7241734cef9b0a1b68936d9", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f5e37348a490c60f09691d330c6e1c6e42aa488", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3024d5511f5fd48826cc4aac8ed875284f2cc1c6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc421ac7dbc5dd47356715c05f829125ff231653", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa664b904d8053bfebc881f1d36ac1476dbb0d1f2", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x826a5e358e814416aea3f760b2cf9a665cb55556", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x14297aeeb5d308b0e487daa1e28624c8819e19fb", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x599ff99d703c2720300b001b561169b42583a455", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1ae58eb47dd61819520e274f5cf3ca7c62679adc", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf4e2fc5424bf01691afd682a73c09afd992de1a7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0493ef871f67bdbffd5a3907f7366dd0768590cc", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf4bb872c13dc5e61015fafde54ed970d113f4472", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3bf83c896a1c1ba5aa01dcaa09fda52e25d249a7", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb3866fac54bc1ff4d3656ad6131ea7076d9fc3a6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6bc623fccb43a45943f82d6c890203b1ca81796a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b73b03b24996f3735f5e74c7724d9f98d34db4b", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x905c682c3a9fb309b2e90837b2384070c0bbad60", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x382de616dcaed5e126927edb34763d09215cc489", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x78209f878396850007b632d648edcfa771154fb6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e90a9867ec86bc06d1b52c394ebc6feace6cd3f", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43e63b476b72ed9f35a4de0612d40199710aef6d", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86612daabbe9833ec3d175ff8951b409791269eb", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8b3a49b827472f8529a5b3b8fa48ac407118ad34", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xc9ee2604a982ce984fee23348861cd246ef1bc08", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fd9f3f8e6029a6834d4f814044d748f1a48f0a4", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2152ec4c17875638d09d4b10a2ae3f31b07c3df5", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x6db1a3dbb95874b1840f37f1844729b6d4872b75", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x64f5de151ca43182d4b1b978c1864a4710920965", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbee382c4ec028c62676b4e48f0d5048691f80881", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7fe33afe1109a52d7f6311cc0b8b8388d547ea5c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe91b1d34ae27a4ea7f8ef21a0367ec562d479fbd", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4373c220edd895e90b994d5a7c9cdd7d2a951e3b", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6abc587081c7c9ebbdd84d8ca7dc9656cb64b76c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f670cef2ac736d1015c53207b81d390382e891c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x91c02d87adcd691901d8889708e76bf37439a1a4", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x876b50bd18470f9d27882b713d705c4063edec5c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb2c851ed3f04851c9dbec4adc1465c1352a153c4", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd58045868c84793d378876d31e17d90124c82e05", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x54a7ede07e5af20530ecb65f850ab7d20dd308e8", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x120a111e185b5137d3c4ef364be553384c6598e8", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6004496108ea4f454562a780fb536f87361a1c62", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac6c79f3e48809088114b794b92b4ebb93bac97b", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7fdb3f5063c133dea7a95d68e0b336053405312", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x862f088f9d0794ef021c03fc5ebe198308da9b51", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf240635e9fd0bd086e26a3808dbf0ded94a990fd", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80466b5d78ba181e32c0810bd468fed1aba672d3", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x337dcb0a07961e39195c532f13937af7df9b6eef", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde59972b741983f825c2f1fe41119be62c12d879", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x1435ad42a9eac4fbe74a625ac7cd47409624c753", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb68a5910d05ec5bd829dad8460527b52bd9eb9bc", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc5f533644831b1739d9b3d858c2bba9829b8376", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x85c6927bc5217873a07465638e767edd440db54d", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd6177d48696dc7d56c50e37dd162e6006180e5a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfbc6809144a37ab60f221505ddf91c4dbd376b7a", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe2d9c55f579aec7d56078e49faca3791b97b24c", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0d0641247334404e43f48742abfbc2a4153f7ed", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x82e2d2727395b315e461d56df8e46b3eb47c6e0f", "totalWei": "98480000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xd6f50e71de664d19e2781c09e2da37387c03f204", "totalWei": "80000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x81eed6f3c2cf5d880f16841375a5994927876baf", "totalWei": "80000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x870a61136ed491f97bb27e081e8adb3da4b74f18", "totalWei": "79989000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce741154e6627ac04a7e00ef289a53110ab9d3ef", "totalWei": "71229853336000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1c8305b509e3b0f870c5999648f14bfb6121c04", "totalWei": "69050000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2799f2cff4f607462d052f0d33c1d1671674f32c", "totalWei": "60000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x32618f82fb8d53de77e958b39fdbe8891bd34e1d", "totalWei": "60000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x17858aba4338bc859cf27a3485eeee8ae5b15739", "totalWei": "57503982150764", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9eb0da56e624a205563e89330ee9dc1dbfe2b105", "totalWei": "54166779514124", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe60a61d91deb35d8ae7b6fd53bc21bde19e376e6", "totalWei": "53849281246720", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x721d53b6986634e800f355ed18b1efc01b192ffe", "totalWei": "51683593043388", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x4dbef3bfca8d83e57c09371a77a8add25678a5bb", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8dfa020896f097fa28cdeaa7d56e77860669df5", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdee108b504d604097df48daaa9db301b2f8742e8", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1932824ff1c985f195aacf6ddccc152f77421f5", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x581377db9436609b8d1fefcef58750aaaeb1d291", "totalWei": "40000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8fc9da6b28cd119644bab6cf8cd0eb44ff2a0014", "totalWei": "40000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x37ee1fd3150b19d9e072e70e69071013ae620911", "totalWei": "32000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d06e5ff1510c1e25b9603abddcd2d872468267c", "totalWei": "31500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f5a65ac9408f5478ff99184dc18a436f08e605e", "totalWei": "30000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe23f9140bbd2a766867f20fc8e71b7abb17bde55", "totalWei": "30000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff", "totalWei": "29909493871545", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7623d7a3dd5c96178e48bd49d3d715dc7a0f5109", "totalWei": "28500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x50a62e383237a5659e0b83cb81fe4629745ce4ac", "totalWei": "26774335193257", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x44ff225d45d358d519614b9985ecae6ca68829a0", "totalWei": "25239640166000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf8f56f91c5b7793a8bdaf881aff6639803fef20e", "totalWei": "20930000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6fa9b0c70fa3e528cb82f2f699c208dfbcc17e35", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x44d585fc510c5d30d909d83563fec8a47d8d264d", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6c8bf987ab3d9b2c756700689e9797efbb73b93e", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13ba1a3ce15b9b7b21c8739a2f7376c9f82478e5", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x008f8333b7f79999a6039800c0bb559620661077", "totalWei": "20000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x470e39b83a8517829cbbd74279aae0de7a4cb04e", "totalWei": "17501170960040", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee7031799fb3d362c729a04de80d6df6d71539aa", "totalWei": "13000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5126f9f3522ed030f4728028e141026924bf1539", "totalWei": "12143014890989", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xdcb18e78fb0112c6fde6b55ff802783895d8aeee", "totalWei": "12000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x06afe6aff701586643fbe13f837f6b843e4c1ac6", "totalWei": "11500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4dc0d32c3d30238bd6caf508c631202d62688885", "totalWei": "10519000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x69c10a21cb95b5ce1e80db621d3421162dff7c13", "totalWei": "10384735961754", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb4fceeae6b7f678a4a33f0ef7f37c640a7e91171", "totalWei": "10104000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe0e5c9f687e89c08fea55f2a772b986236f4f09b", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4c6d1070a8b52f6e4e1c9d0f85aad6664007e158", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0a3e5705a2acfa47ae86122eeac7dced7dcdbb4a", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe096fd8ef14901305a3cb8f2824961c3403d41b2", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x402231e1ba43112175c759202d1f806e093a196c", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa0329953610d575b5642803c804329ffe60aa07e", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb3ff66e0241f6a7ac65b73af48670e01ef732f50", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x284d2a52b206335992a155291ecd3e6ea3c5d9c7", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x56d01bd6cea47eae180a40e82797d1a9c2414d56", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8cf20c6df772c57fdc789f0427c8efb797586c1c", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8168cdbeb26874b668cc73a15294868ccf6a8d02", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x826946a3ad7160e97daaa07b2de714e12da2e38f", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x78b9d812289193cacb9e69ddc787c7b58e3f8d8b", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5908558b0a482d415e1592d3e49a7fae5f015533", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x548d9575043d1f31df5891d759874e3124593340", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1295058bc52349422f54c308fd18f003a002cec0", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac7a56bb0041e4871bf046e38943401d9e9bb678", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35f64e171ad10d12a56606c9b244b3fa2c917ee0", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xba572e4eaf49235ab716539caf8ed9f300b4939a", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x41f8ed0560b3aad02e2550a5d0bc07637c5d4149", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x460c41c83eb52f390be549a0e7ad0115a38547de", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfbb63776cc677d00b27190e464793136a26195b2", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4ccb6b4b8429acbac68bd4096e3ca45b5a06a44d", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8a58aab3f729b9ab0ff96b9938eebdf78801eeb", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6682cede4f8bd59adbb103392f2780e71013aeca", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xfc28421f3480a0fee6cacddbc693f40afd8905bb", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x88c846e8c51271390822aad661f9fb33d9229783", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e9f235c205db2ee4dbde3aeed521787d25ca7df", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3fc83c0da92558d9fe83d7385bb35d97df75a05", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x84f2e4fd7aa60f96a42c16c7b7b85c70f834c836", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x95ed90f8370e2018ed37a7c22bdf1f7616e6b74b", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcfbc6b751c6dbf7b13fcac5dfb1f48ba50856be5", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d05ca3a3250f2652d0260d876a537b852d5a451", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7bac547c6202f6eef8a1441f5b33d08fa3310953", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0116b67d5d7facdb32a01304f771cd559db72747", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf353e3d6766ad556a7c69ea9f9b36fed1a0e231c", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x42d0fcc9430690fe77d4bc0a0da4d0f543bc0119", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20443cdebee6bcfbfe8b6b008035972c2a978c31", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f56982d40688aa9646448bc849328258d8f65b9", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1ce4e4ea21cf83d9606bd13eee5febc3aa910cb3", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b14", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x00f4b68270dffb0c5af3a3dc06cd50922721a9b9", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3fc704f8691ba311974a13a24975dfef6ab0762d", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb3bc96a93e87cf81702df3f13f93d26dd6ab6f00", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6683ad5656241b200421a0aca57c6e5c1a2b3ff", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x205594b3c519412339a918591fa224727bac94dc", "totalWei": "9685000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x244853c783ced2a07057dbdac401297f24126f33", "totalWei": "9680000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x28df6f58ed5c29a718d107bb61aa1660e08dfbea", "totalWei": "9680000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc754422b9ee25e593b648f78004e599154d2f809", "totalWei": "9100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0cf34cddc2bffcb0459aa4b16c48473a087edc5c", "totalWei": "9068000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x91a0f65e9237f94f030f76a8cb55184311fe4ebd", "totalWei": "9000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x456422c216de90168240702ae27365b76c6b0578", "totalWei": "9000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde1b5eb448c96439d3bb071676a5b744c202ddf0", "totalWei": "8685710000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a", "totalWei": "8334300000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x75d199a07a8acb8970d4caece529a382d7ceae52", "totalWei": "8135410000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x56c5d4476a684fc407dea0bd4751dda900cd22ae", "totalWei": "6880000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf7a68bcfa1f27c05dbfab4089dadbe63956bbf50", "totalWei": "6000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x09edff44ded96f39c07ac95d68984ba42eec731f", "totalWei": "5755296311431", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15e6385ac70a89563f2b033c60232bde7fdabd54", "totalWei": "5753408894770", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x52cb862def3fa15fefc97e04db09eeb3e32599e8", "totalWei": "5469098227739", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa149349cf1e98da8f8f7af3744fe388cf2c81e36", "totalWei": "5412924982273", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe655297ec821b42054c6dd52fd1634453813a7ba", "totalWei": "5410962610248", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x37d9618a4b18edce503aa5e64ab70ed46cbaeefb", "totalWei": "5000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x547710a1f715d60fe2f398d217e87a47b631cc15", "totalWei": "5000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71", "totalWei": "5000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa608581e957ac3f2f09ce919dff16dce7b04dfaa", "totalWei": "5000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeddd4b59398e010d5425cb7ca87cb502f43ce1c2", "totalWei": "5000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xf014e860b32748d37f9615476d6bd9d80a253219", "totalWei": "4900000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2aab691a3cfc2c53de76d93bd237a0fa60136811", "totalWei": "4900000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x67306904f6e5d437730887317b4a33e84d267fee", "totalWei": "4800000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5f48acc110523a10c39dea48446bbd43606982e5", "totalWei": "4600000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa6f563181332394a46ef0af6677ac5d27ef35441", "totalWei": "4532710000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5931374face7ae4c5b8f1f5435aed00d26d09ad3", "totalWei": "4400000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xacd86084c943017000b9aaa0bc38081d352bd2b7", "totalWei": "4178000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8b93e6152a4d42db628059af40dee0896055e1b9", "totalWei": "4100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e3e96001cc103f563c54bff3a7fc03527f89eaa", "totalWei": "4000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd2ad2ce01ad27835746f72e396c2a130ab644433", "totalWei": "3600000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f71c380b21acc14c31eab3df8b42a59ce18a292", "totalWei": "3500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xecb9db060fae371b0850b12fa730c9dcf1c0909d", "totalWei": "3500000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b614c99d7ca9a0a1b9f1392b79853c1c16bd66c", "totalWei": "3200000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6020dd652d87909870e0baef487faf6f16919d88", "totalWei": "3000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0020fa1e681fbde5ceae324f393f40aaed013d06", "totalWei": "3000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa27f5f10d719a922ae5356cf0659181a2ab1538e", "totalWei": "3000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6c667dd148550eaec6c2405d0c6a41b178bd6b8b", "totalWei": "2991933746619", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd4356331f98a771b4c15894d8398cd69fa9bb3c7", "totalWei": "2300000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x830edac5247ce8c6bd1d2fba7c1080c44b082531", "totalWei": "2100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa3dac1819c5b23d100f3dbda6fab69e2dabce965", "totalWei": "2100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b9b8afc5d1cd125a0443a77d4d0ec5befa568ea", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4bc68a43110a924169ff677532e5c47f5554418c", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6f06258ab391787093d7b55fce6b8533917e77ee", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x293fe082793d07ffb24adb9dd25d2dd23449344b", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5b9fa4d65e285a95dd9afbd1e357a19d9d4846b2", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x974e7cb09f98813c242e12ce7428649f124f8082", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7c3fe296f14ebd0961868629eba94e5d69566be", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2155739dca65fb5935a48247d181feeedc0da0a6", "totalWei": "2000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe631e67b7855173c5ded9b7de4ed92bda3763a06", "totalWei": "1731824000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a585078e660748b0b027e82b67d3716dd38439f", "totalWei": "1497350000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x933a1425851911907928bfd1a11deea1dd582386", "totalWei": "1200000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0c04fcfd4a57d7e16fe39965fcae0e5996ad2680", "totalWei": "1160000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbb87a9cb32a01cfbc122d596b0ae2fabb4272960", "totalWei": "1150000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb97ea41b493316935a20f959f9c4f9cc648472f3", "totalWei": "1140000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x37fea84a9780bebe3dedea3f0361e6803cbc68f2", "totalWei": "1140000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2b96d4113ff5889a8962e18c517f109a1c1c8b34", "totalWei": "1130000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec5a39c7131366a1571a9d157bd2825011c5617d", "totalWei": "1130000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7cc2ad1a4e9c9a1a2509730854ccd214ac28e57b", "totalWei": "1130000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2cb7a3c3bd679bc729222381613089d91bddfbdf", "totalWei": "1128977000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x763a0428caea9207095f3ad62e836aca4fb8e535", "totalWei": "1125000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1bd5c8d2f219d10cd628b192dec96978a07ed099", "totalWei": "1120000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0677558eae4886d6fd168ba4dd67024bb72b37fc", "totalWei": "1120000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde6b5d7e6f85fb98c99558c506dd43f13cdb0350", "totalWei": "1120000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1293a5c33bbe3a2f0e2ba0f92e9c81faebf261a7", "totalWei": "1110000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2c7baa596bf1d2f106f7763593720fb6e9904081", "totalWei": "1110000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b5bc29fff9b14903f291543e7afd693426dd60b", "totalWei": "1100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd14f39a2ec103edabee2a1850e9c4bba46f22698", "totalWei": "1100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6b076f09206e0f1e70b4c7a17eb5ddfe1287f27d", "totalWei": "1100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa5c5f7d0bbabd72d7662e01b40d5d9a25635af70", "totalWei": "1080000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf77fbaaae6ceb03d905bde4cdcc2c5b8baa907e", "totalWei": "1070000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1cf96f8d594bf73fe9b7ae638b7f24a37733ab52", "totalWei": "1050000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc8288c8ab5051e027b4793dce7207900dac8616f", "totalWei": "1040003000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a072a77686b04c4f710fc9e7c561d948f7d6dcb", "totalWei": "1030000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x191c9dc2cd214b6497fa32c5ca7792f807842de3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x23109f52fc3f4829f12e07ffb696d16690e9aad4", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x34f6c256608e4efba951a993c5cd8acbd2e42776", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8b69288becd1210e7bd1ceb9a92b4fefc1ca4bd0", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x13fd69b56c699d5e57940326c75e72485d333821", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe4709a08474a8313928267145f4aa2ec44fbf8d4", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c640f57942acc9c17eb22cb0986a7b43b7d87c6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x774f491c06c84783fa4c5bf95b6f64a30d9d8f61", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7baa93faf121cbd4888adc3fcbe28d40b942614", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbf8cd391ccc71073a1781a4f74847bc5f97a9600", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8d753926910da148ca582d4bae9176bd7a527ca1", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf2f2ca28f7840325578677acc6b6bfedb41b7410", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0a4eb272da9cf039c02b2dcd7de8cea569a280ef", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc8f1e19e9d68ac3c954929daacf6c87d4a2e95a7", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdbf0ca9a2fd679e99c67f9de2761b747bf3479f", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8900d194b2e4aff75ff8244552e774324889d392", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa4c3a95c65dbfa3cae102780e4fc1a58862a4b9e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x48ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x646d49bc45e1939e679d4ad9d79e4204c2ef8a20", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa393037efff2479c40b227bbffd652ea0b703720", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x837e3405b5a11af3fa4ec7d4afe1c9f04693b141", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7ce21d95cd2e5065fa2e1cb7f44f913f2da9212e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x69f9c3b61ca28cc70b1bc5f333e26db70405d733", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93ce9ab599a2682604e3ebf7e837e3815d5ea9b0", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3ab8c2c27a9c1a0b396758a77719e361b87240d6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43b8e790624db8c537ade0b251a62257dd36df48", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4c122a2179f36f6259ea105c0b834130deb5d929", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbef8dcfc2a1f3a2b282352ef32612a6c044aadd0", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb1f97cc1ed546da125fa01d132e20da2343c567", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d306e578ce0057d3dca4660232cb6d9a492d9df", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde596a652395915d225945776d56098ec39c6c8f", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45df4d29bb45052e8e8d7c9285036a3e68a18d94", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9978634b24f22a130d29f806d1c8b841e308161b", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b5c4dd142d4513dee2edfe6a18e25ca67653822", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3ee4b083d881b99541e118fa3366ce48e6c1589b", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe7f1239f0cc08411e722d523b7c7245884c73a2d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d989f9f948bfc0217db498f802cf709066f7251", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d55c084db798ce3abcaf0c50708aca3a011e4e6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbcf7968022f9c2fd10b2cfc47fdf0d890d67206a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7f79de52ef869e142615b18299d0228ee1c4d045", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80cd77685ed0b5bd3715d56ffa1dd5701e098687", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdbf723293730bd6cfc359a414aebb01d3bb201d2", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9106a095c5678f110dae6e6160a42ca2a57fa6ac", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbfda4afd332e77fc6ed379a62a48192a62a5b8c2", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a0106b20a582ce07f2d959d322eeefa901fffad", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x561d15339eb536cdf58e5995a4cadef661d093c9", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3305889bfc01852957df14256462990700c54db4", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x817d55884a7bd7f4b8c350ee6a58d6ee57729e2a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x19db26e00c1c2efb2aa302b03a92151d96aa6cbf", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x081cd8d8e02c10f1a0d47d8be0808c040a3896b1", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x726ee18f2a967139d8215ad69573c23f0acc01c3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x43161d4fbf7c5bdf5629bbe2d037558e0c0ebe98", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b78ce43801566cc84c7a251dfd9e1ce53752c8c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcbae977601b55afa4111de24ff4aa24e06a58625", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb86a1ba78c5db12a8c093f3b83c58a02ab329f3c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x68268a74c3a720338d1b56a8b9559d5813b080e6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0cdd4ccc898a35f1598e517e916ace8de134506e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb9280066733cfdf647b9ebb59c670becf3bdf59c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x407383ce03aa643cec3a18a44f2185b239c273df", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2c2331f0a174606b44abba9d5682db96a776fad7", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x24e9d00d2038c549d292fb572adaf449fa1c30eb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x134dbd22768b5dbcc22264a2318c30e7138ec61e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe6939c22fdfc93141bd52a2b88353b76d9c749d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc72c9bf3353daab801e15a60d5d3ec3413fb2de", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7006094dcd29bcf2040009bcaf0626559dc34378", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa9da165216d0e1032b6db3985436e339cc3ba224", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbd4106934dac10e2b65bc9390caedd45bd57ab04", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2d300cf2651b6dd52ed5c948ae8e6dbec4883c02", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x39453acb2c916039310b28e799bba8e262ba9a11", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab4b1dbf08e7a219dbde10796c7f6c372be161fa", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x39ded12296c983e4e9137ae21957436aba3ef5af", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b55bdc6f3569ff8e061372cffc76f4bec92bb58", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x08455a4855ec07384195a1a2378da31270597045", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a8267cf536e00aca465f5bd70b8276674d4e28e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb00795aa07c9950abbdbd1677f2ba2260e83229d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5cc69616c6a7f041eca97ca7354fbafbfd4549fd", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeccc8797b2dd85d9248fd3b7dc32e913a33b56f2", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf0757d6a48d23fe31699d529f1dc0e8763da97eb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x24fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7ec4cf225b797c9ded326ebc9694a10103d98880", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x08ddfaee3b690aa100291cbe38d993c4baddec95", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd4027cc7ceb7916c598d019dcfe3cac2f8a9d65b", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20b7be1df5f79a779bfe2b287693f133738ae307", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6513460ea3460396c8db2e54bffb7f0ef39463d8", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7cb3699eea9767bbe797a54369982bdf00a4db62", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb715841ff5bd993d88a0a7c9c14c30efeeb6f5fb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe1ae2189bc9920e283b46efd3e5a004a5aa8ecd", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf1784ba80220f0c5c4a4a4b66051b0afd34e788a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x09aede0811eaefb926f300657e54bbd2fe6ee229", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7758ac8360541c886d4facc8b68968db76862d58", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31c266c157d57155632e47046e35d2f640c6d203", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcdd469de67665eaf025da57a350750c960da5a58", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x028dd5a007676196d912968f64a10682db865850", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad09015b215e85c4e29519eaa45af09290f21579", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdfa9a81613a55884e99c2af8f96340b62f2f57f6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d6a9963f7b362c3d50cfdfdc9207b4d8e766c13", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98242117840cdfefc6943eabb1bc09340643326c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8a71d5797ca300383d21db761fd2f4e2f3d33140", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa4a9624aef063ad725ef9361ece47db553112aa3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xacea66d815546c4a636efa83c93f7f06748035ea", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1c279c06a4f8918f03b32ef985290a5236e1b0fb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe798356df129a74738933c474c3489f5ff7e3dcd", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5f23fe68a7a9cfead224e5f62480f37834d556ce", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8eb093010713cb58b2bf46992c1a07b592502271", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6aeca1a83e6d0ec9064adcd7b60ee4ceefacf53", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4c92677321f60a0dc709bdc4a9a41766c4cb1c43", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20d6b8c56a67ab6ae3423798ae40ded3a19c9a61", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4f49e89b1530387002734589e8d4227665e1f258", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20134f2a91d7ceb746f54249f0626abc94f9858a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4f0f2f2ca9612cfbc7ee77a9690919cd016812e1", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf0a573a52dcb2b2c57c93c60ae4b2c4244244b6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8cc62a24fd891d4cf7793423e52c1556671198b6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31577a229fc2ec0ad5630546d576dc753feeaafb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x606a03cadd4b369b8066e748f328efd8772cc1d8", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a9da8b89dcee94dcf55af051b0ac3b146ad7035", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x53787ee1b2628b8f2c3cd166e37c2a7617092dd3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7abfa4e445890a6ad8d04de2bfb534a1710f522d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1d2349cca2d20c2c8d2a3d4a292ff7b97febda9", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b3e46a6823db3718bf0d4dde0254be6060728cb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x011230a5cfa00d171c41320f0bda47f6ec8596b3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x829ee1e2e04f2689d63667e65eaa105c20e0cb6d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcb73230d560454eb71da78087f588557b534d5a0", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4e68a02c458211f4fd016ba2b988bfa108ad0382", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x68f58fb15af6a6417f1ba5c33eacac2e5ae46723", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc7897bb6c0e396a595c01d9fd55b304a60f3e65", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd81ad3c1315936797559454cab254dd71867f359", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9e53067855d1f5619d1ab8b7f7a9b944396111f8", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3f18879e511cbd6520a686cf3bb1c5413afc9b36", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x19f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7ffd3f4e162ddef1e576f4b03322f236ceeb454", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x999490c494d0cea386d6936cede53b0203195930", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x132e5ca01addf97ba14ba083d6490f8dc43eeffc", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x288ab636ad77f0bef17cff8beb07828d48a60d01", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6bd64abc231238de0e523b06793b578770f3e5b9", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c52bc53f14107993a80736605ee8e5a115536db", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x71fbf5bfbb4a739d3eb21526fffa7aada7bef94f", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15773e75e8665ec15eaee8c0006d87b3d059ad6d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa4a3eabdf7d0a0e98c793915890a89e63bb39a77", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3619e40de14b98929c0bcac51e890c49263fdf9c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x65b12ffb0dd7b7fdc81276db5bac10bad34fc284", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xeea8692028e67f5945640292298969d5a8eeb085", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89efbd2c494a594517aa21c3335841e08c8dc7ce", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb7ebf31e678d3c3fc1da8447550f11421993fc90", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd98be577b6b15054c1937b1805c7ca5e2f9d965d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35c295f087dc430fb8ac940e2104e48d25c4b4f3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x36d3fb5b39399a0d3968747f3b95637d7b1ff82b", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80a885596d1e9d61b15beb0f44001ddd3b1b4a39", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd9529f1bbd43cad5bcc14f1f5156ad937bf9cf69", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2c5913a7da17a2890841ee01b94fc48f0ec44010", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x445119c4aa2d6bad74464d760c4df52b2761dbd5", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8296eac3de8a68ff557964414936a14644a1518f", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1c7d6e73ab8685eb796c6ead71accd9132c883a6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb3508dd82aed931b8bb97a81880c61bb2510212", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7eff5924eb3d70c10870ebb1ce244ae80d7967cf", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5a914e0c891145f4a0a9610a670e703149895322", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x55a1cd90c5fb0dd3abe513f547ed8068d960d3b4", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8fd4bade9eb2ef70c037993a1f5843e84f467f5e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0bc708103ad4c076f0cb6faeaeec67c85bed525c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c72a952c259ebccbee01f28f43de45de61ed43b", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf77b9812c69482dfc14344fa7e52e22177c74aa", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6e5db8dc6618d764aa95cebb167c3ea009412bc0", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x26c5081bfd43dbd31f73f7fdd96e86239fd9e052", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4dae6ec85f8ea5a663876578225b8f553d99b14a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35ee3a8fd1f2a847fb99778dc57b80ddb95fd814", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x47467ff4b00a8bf2b82fbb2ec11334b305a9c7dc", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5dfb9bbecd05730157c61c7a42ea92b71181a1e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b3bbc230e910034c891d6867d8f7f1c54596175", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8743bf4c6bd1949df9d793a4e4df3fb030a82d10", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8bf90b727776b18d1e23c2df3d5847ffaf5c621", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1e4999277fcc659ee148e49851cfab731bb54a34", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xabeac11f12a146c31ed27a144b71d442b2b89ae4", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5769f505b3bfebdbbd426ffcd96e75f84bfabe4e", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8c01585239c4156f0c46da9e74f10080a90919c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdcf1ef38e57c8e0d885a5799c2b8f2466263c52c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d689dff8af0587917b1b3e51e07ef0b3d46a927", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7867c24d4dcc2b9790e1a1f33726594ae670a6ab", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0882203da99f616ac4c2af3b3aaaaa5c2cc50384", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4f904e3bbafe50445c8a17a7dffece6c152c55a", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x297b0b83c9750506f65a0d89bbe1d259e8098d01", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcdc3367d113eb906993340806d380b4fbcf6e886", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c2df67c7f432390b8768af4f92d10e51de3f151", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa81ac4cb9518a97e1a07a6ea9e8203121be1eac", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9222ea5d7d78a5e726d2093f993ed123b05e6221", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbb654f4e56d59cf980a9f144d4e6658d67ef66dd", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3eef655183669e66c99accd63cdbce0f426f7b1", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc34ea057a181721fb6b8d0c58217517d3d1c19eb", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3e5e69bcb24b501350dc7ec5281b58b91e71d469", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x86b5def63aff58f9d90412fa0b057333f33f29a6", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5706c370dd72cdea864e27d0876a4c66070c5bd3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x092eaf8a0dd18efbb514b280652273f746a0ce71", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4826eade1c9bf5ce3e9889b37aee0ad15df66e73", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4779381c539a138dfb2d83f80c57e3cd2add07e8", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x475abc90c3cab0d1e0be8411e5df5ab5cef76017", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x332a683bc22b4ed71ce31b301ef245790569ecd3", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x530e86aebcc9c40b889ca7dab1978ca4dd052fb8", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8642e07a7f91a160dcc86d86cf1def3d705a3f1d", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb5e3f7c4e31039e88c35832ac4b27fd90dcd94fb", "totalWei": "968000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6fa133d719b467298ebe60563d29cac2d827dd5a", "totalWei": "907000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xff6162ee001a76c864a3492ccaa60604ebe1035f", "totalWei": "907000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x79c9374f405a8b5b9f65e7cf660056eadba01c58", "totalWei": "552000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf673588e1b3280e87e98e7feeb85fdb27943853a", "totalWei": "446390707931", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x597acba3f836e9fdbabcab75d6eaadfbbce7ffd8", "totalWei": "268659763902", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6ae3b38ca5dd6f937898125324c134b67b11a802", "totalWei": "200000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x74cd7d8c9b327ba961c788f151b8c5946bf115e3", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x20a4f1f9c16e913188c3c80934ac074b9f9b4997", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x90b3335eb95481f6ad6dcc8903c445911683b40b", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x26dd86cd10d92e925fe75b80faa51eba86bb9a83", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x68c5a0ee0a59b5f715c52ea06ea56fa84eab340c", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x83e359ddfd91b400b62dbcf95c8533dfe9798e25", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbc1ee29016f945ea5867218c752ed05723a5e21a", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcf1d74e57ba61b19d42032beb08a9dd27a59cdfb", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xabde71a7b5f7b13d08fe7913d82577533e707708", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18cb1ad37c19c39e1b2dd020c8ee0d07418924ff", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf11723ca71c8fc6fd8b18fb0575ff58c9c19a562", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0aedd8a6770a4c6e1a90d9b88e187db84635bbb7", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe8c107983f166d3ea3f7f53feed732616655cff4", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x30884ccb0505c5714038dfdb30ef0b92f922aa1b", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x081d9529ca3a2e085dd9434b48d630f15b9ab537", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b11d7c4ebd294480d93cbf8b64cb8bf2546ba54", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xda59ab41714d3169897d37a7c185bb04dbae5785", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe2fafdf8d4a7fbe87417314412a439adeba37460", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x005318cdb1a8bcf5eb3e03eeca531dd18b9233bb", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7faddd52936df1ed13e8fd8b57b7b672264667f5", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0dd61b6756b84fafaecf68d32e4f8aadd95b7a90", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x572ab894165dbcf68770f34429d3c60d05141a82", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe66defa163a42c0d38aef1ef3f041be05c2d2c0", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c47", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ab040c9242d99eda30fd081254efa31310fb96c", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaedfae956f093845965f3de458db26292e696c73", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x588e90af5066065290fc07400de761daafe60ebd", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0cbe59eae12536fca7ee8f5c649eb874591bb3f9", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9d7fa78b058455602bd0080038b6a11ca04fd268", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb1e434cb256a23d1df7032606c9d32453c2322f5", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a3a98a4446e08c07221996b398084a9eae27f22", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4799d4272a04988c667a382192f1ab634b708c4b", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x082b145d0c02452148cf559c554fbfb75f5dd240", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0a2208000403e279a4b9bc097b8e4a0945de619", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdec89694eeec57137b7f8e080e038e103b7e4e91", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa0339d402a952a6bcbfab1fcf63a382770ec824a", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x35639b6c0b7fd6e6f959cd448d715eec35d8ff27", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1100d2c93d939000a30d45384a68c9ada99d3dac", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x205cd43d386a344cdfa90028f6896d254d5dd85e", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x88decaf8310fb0efe6ade3935c902564ad3f896a", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6eccf2bbca701610e2e4a35ff7c0fe341df1970a", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1a6fb65d94cba98425258d7c2fe94be353910c47", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa6e1ed5f5f628b47f4069377862ed5e45c4b85dd", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe661dbdcebeba61999840d2767291ef14f895dbe", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1eb763eb974d33bc8dd65113a5127ca07389f74", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x46e6651cd50e1a0556a9d689dc46b3c51419b03a", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xae189c0789e690ba0d1756f59f949bf7de80d564", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2175d23a1cdc05d219bdcd0201462c40a01aa386", "totalWei": "10000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x69e2da0829e8e3e992d234a6845a671c703cc3ec", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x33b4e31944bc8282c350d7e08b175d53d34ad2a8", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x928671ab2459d9a147b3ca985aece8cd22d033f1", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc4b05952b7b0292bcd3285effa518f3ec07bdad", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4df2ee0912c3de56d71880bbe72de7c171ee84ab", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xda39a9b060c237dcafb55dbeef43e42c9eef9418", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa6609fc627f76408a905f2607f351c17102ea4ee", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1dbc7966f7c71a4174bef75dcbf91ef829f4c0c", "totalWei": "10000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa4c33c26b3c11cfd45b891ab1182fdc3c934df67", "totalWei": "1000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9ebe547ee00899aca5ab99f05182f2d5b7f37827", "totalWei": "57550000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x754b366243532aa193f855a794e51e6bb7e60b48", "totalWei": "55000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3890beb1f106ada3a33a777dc6825bbfce182eda", "totalWei": "20000000", "category": "NORMAL", "addressType": "EOA" } ] } ================================================ FILE: mainnet/2025-07-24-eth-recovery/output/optimism/recovery_addresses.json ================================================ { "addresses": [ { "address": "0x88f5d29b88664371401b6786a01db137fc5fca61", "totalWei": "800000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x623859f6da03a9bd9587acf4ba53863ce2c9e325", "totalWei": "539500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12f787d5833b8b65f9637a5d4bbb163b7db531e1", "totalWei": "500000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xee49c8eddab1707b32db9c9263b85f9a38609d9c", "totalWei": "300000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xde55a6f7e8fe05ae1264577705b4d43fb7e49e8d", "totalWei": "208899743171606634", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x84356ffcaeb364f4e5bcbe71862a67c97842a16b", "totalWei": "183000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbc12a9b7da3cefe597c9e3f265b54342e22e2e64", "totalWei": "90000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xddb1f53efd461ec0b71a967f08bfc2d71a2404dc", "totalWei": "75000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc08fa3d9a67c74a7478964f470999b84af35d619", "totalWei": "62976751942455917", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x77e15a151754ca638b89dc2fd5761de5c776bdf5", "totalWei": "59781050000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x82dd4600e7ef8d1fe53fc1906b18fc511fa861ef", "totalWei": "53880000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8e70e6a8cc1783e01a02fab76e0371251f65cfb2", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f", "totalWei": "50000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbfe30abdec1c649ac8b7fc4b79d7c844722430d8", "totalWei": "35000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2e75e9ceb9ed13e843628a5b277824e06e28c360", "totalWei": "33034462512968948", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x44ebdb20908b124ae447b986b42e09c7ff65fee5", "totalWei": "30000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x45d0765086c202fee211d55b6c010b51e978e379", "totalWei": "26642155883255000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x673b8f5ed1520ec242d2e633defe45efa360bdc5", "totalWei": "25000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd2881cda4aca733e5ba73b75196913e4a1c9d916", "totalWei": "20000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x79dc78f23e2ec66aabdb98b584005b8305b09f27", "totalWei": "19000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa0b0e61e3eafee16b8fa30d97bc49f4151070b43", "totalWei": "16000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x88f96204a47c3bd173b672a49f010149c4bd802c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1ff5cedc90ecf6bf2888edc450975d57eb0d27e", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb7630685fd05c6c25ac7508be15d67309cd457c0", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa18b9047ad29f8b66b556da8e97af1b6a57e39c", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1e6158ad96dae1ed7e3a1d6358b1ed806ecd324", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d5f396fed79ed47d52e4f76454d500971c662a6", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x786562bfdf880256a1a1e315bb0c48424b292fb1", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d77d267830d91610e2bb5876013d7dccbc31186", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf41084c75a910abf87a5c669f4b5481621a21720", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb8d738d819e43283257a8768e51850da0469493b", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c6fc47b64b15f1aa0bb32cf86237717cdbb5215", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc439258055449a8aeeff7435d04f211fa665abf", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x51cd590315a39750775202c73a5c6ba70d684ea6", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x265ef3e30fe964314a2b6ae6bfac32146ec73424", "totalWei": "10000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93059a1683f5d250e739811ae783b06a6e89eeb2", "totalWei": "8000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x427c15132273e795dc7bc46aa98e53898f8a2f69", "totalWei": "7534973084083916", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6b071d291038c4c953e7777a0d465a380d17b2f4", "totalWei": "7500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe36052d993875a8bb256d5a651802d196b922a52", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x886cf30e5f7c6f69ef1be1173a53a6dd04e76966", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d53deebf69c3c8267231e30d69cb26e05e69caa", "totalWei": "7000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x63b64520d7eef6e3fcdf2c2f8ffb022540bf9d51", "totalWei": "6000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb241df251a541de2ac21e857a350692a909f1a78", "totalWei": "5700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa013880084168c4c57dd49a10f61a8efa009a10d", "totalWei": "5558310000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd21856efedaba0e60a3df7e8bfa89adeffc6433e", "totalWei": "5400559497963989", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x190cb8ac64c5ff16419ae7101b49803b4f16f239", "totalWei": "5200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcd526132dba5fe62a0e383c6342b86f06591988e", "totalWei": "5100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd171713685a0162b78434a2abe9b5af7ffc22a22", "totalWei": "5079163230814322", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6361cac2bd1391af556de4f24b76e21de71d7540", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x2c0df81c97f719fa2d3015b86f7ec1773c41166b", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x631478c1bd538902ba285bc1fc204577f8d12ef2", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x701a97be29a223b21c946fcc62c2afafdca53376", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xf3f78c87e63c73d9f2ff96d6d45678730c29cb84", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc8cf6b03c2aa80de2579df02aa3bed1e716e1680", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2917814b19ea662dcb781531e749bb094841ae95", "totalWei": "5000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x728b0bfc1f3979d59333b1d7da47da28d2d68f51", "totalWei": "4280810000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa041e8fcfeb517d9682807b5c7822655e6d3da20", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x75ac15ef1951d82e28a7eaa336444a9feb0d8080", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf7368d3022a5ed5d882816cb7f2f34e2c683e962", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbb5547f8b2cc4ff8d22fc5da655b97e8281abe8b", "totalWei": "4000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d", "totalWei": "3747092657571938", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x439be4bd928c390ce81481a60c919f7c5955098f", "totalWei": "3500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8f5457f7776191bc2381e6ce63c10c9a87c61abf", "totalWei": "3031710000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe7869b527c806d414597e814ce579be727e5610c", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x9e8d819703c20d73690ae7584ae60c2318beb7cd", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x217b121d91b7211f3ab2d421aabe25615297dcc6", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x029f781a6218d49b547ac058d0b045a07905e089", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4b5fb113a712fd3ab176bb530a6779f42f6275da", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x09aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c9", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b9effc1c884344e6d4d0da12e6d77c03d094b69", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x245c817bb7c5648cdaddc96cee166173094391f6", "totalWei": "3000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa71bb7f374f1c42c3497e53512d247be9edb78b4", "totalWei": "2620000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xef194d117fda93fe6ad2aedbf72a948ab65e8054", "totalWei": "2600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0e86e604ce320e0a227b748d62c5ec4523825e3f", "totalWei": "2600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x30981e13e59b0fa3c07c42faad64d8ec15c09342", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xea07b4680eea83ced3c8b1dde0862980253dc731", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcca65ea3449566d7cc2f6589ba126adc0c151eb7", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x31bf5793976c10aed933787896c394e158271fdf", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x670c82562f740b8e7e0d9dc19358072271672509", "totalWei": "2500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc7177a8921f130078cee5ab430e336bcff303924", "totalWei": "2494151661642273", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x065c8299c3c42b448d8ed3d297837370cbdec042", "totalWei": "2289686435488506", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73b3569042b1bb104f7fc74ee30925d62534d065", "totalWei": "2200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c64605387a115cd2f382ea87a30c5188da1cf1b", "totalWei": "2100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x9631288f4050f7cfbf77b77f8540decf6cfc7012", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xefd36d022c0099579715382d5bc929f16e14a984", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x853793e1322b8b5f7ac5b1106013e746606459a9", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x854f2922c387c0d11698378f46dab496433e449a", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x62f89eaf4a53f81bece4ce9458c8a5bb902a1c87", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbe2d5c4b0a80a2e9960e0969f3510b5c1efbde72", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x91eaf9003bb447fe0bc616821f9d728eb256258c", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96ee49d020655ae66d5c678a238e48c44e5f65dd", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa27eacdcf251dbe4dfaf9b0865be8cb0195db0f5", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5d2e73dd5a395384961d60982a64cea4aea2dcfe", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd21895ecac23f5f3e9fa67180ca7e1fec3223140", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaa89ca05646e598210a9478db27ef5e8c803a0bf", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaae2040f30725e3ba320dc4de4a11e5979f21f13", "totalWei": "2000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc4130e106837730560b534d64d488a502096fded", "totalWei": "1800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c88244d23f96336439eb68c21326e29013b5b41", "totalWei": "1800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd", "totalWei": "1563797547534053", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x1ae84f502350b987d3d3d289d50b0071acc5dcbc", "totalWei": "1510362163270150", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xefad4323bac4d32fd5fc6c65886ea88239d9dcdb", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7d41ca22a4a51c1dc4a714783a702339e6122cf8", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7fe717376713745147f88f72cc3211c287ea69e6", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1eefbe692290fa12c94f974306137d58a8ccc6dd", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xce6bdc76c2e51b4c3bf229a62f3401d9450f8d43", "totalWei": "1500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x81e6614fd977fe5da99cc9c871024c9c0471c929", "totalWei": "1473726000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa7c012c15d16f8c39f249818881fc51a91944492", "totalWei": "1472890629688020", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x76e198617d0b09738f0a2061bb268893ea366673", "totalWei": "1456420657439073", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xcf952e428671a4ffb942ad4690d0aa103d983ccf", "totalWei": "1412810198116972", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x4f92604ae46f09fe0e90227ad55c9066b595f2ef", "totalWei": "1402479151607996", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xba3a9f59ca96b490af6e5eaea078f624b66f81a2", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0022251ccfb51d0c77218dd1c1bac68df7ca8098", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9f460fa8548d552868297ad55608560bb89f447d", "totalWei": "1400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3d8835ba9afa8bac2e22b78b0fcb5ee496904481", "totalWei": "1348537645776920", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x9407d0a9b44bc121013b179db8add2cae794da6e", "totalWei": "1300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8424b7bc704fe69ac3db0b00afa58da07055221e", "totalWei": "1294596139945843", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x90f479347e6f915188f44014a0c729c9f74e3ee3", "totalWei": "1269331399114058", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2666c323d1ec8b614792c9b0c9c082aedb9d13d5", "totalWei": "1263554603423105", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfef171e25b6422f102bd6a68b807df01117f06cb", "totalWei": "1200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4fae8a3cc9deaf377a922a3349e3d7750a8ec65b", "totalWei": "1186713128283689", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xa2ab61c6a80fc1a68eadb38e6262bc22effcad7e", "totalWei": "1160000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2a53ff9c496458c70f0b2750ed7820260821198f", "totalWei": "1132777732826280", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0xc18458f9bd213d5c7348fbfc82ec096a478ae914", "totalWei": "1130000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x188c2eab876e98c1c6b0ebc37dac9a331a765563", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998", "totalWei": "1100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x700cc505f4a47c9337fe3478b939b33bfe3eebbd", "totalWei": "1068013509829205", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1a3524b0808b3393d9d64486d3b0fae34665be9", "totalWei": "1067127665818300", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbdde5f17970c2c15aa8cce0113bd266e645f8e1a", "totalWei": "1066010000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9a30b6021f827465d5fdf2ff8a179acb43982f5e", "totalWei": "1032151519843113", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6f8f2b9a1048339559912590d800113d7cff030", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x433287f355db57bb0ac6528fecafd3b73b0838a4", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x826f2adc72e7f97663330ae61c20cbf01f6ada92", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x77fe2d8548082698d7d4be8045876928799e171c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x599321b91d0e4e541f7d172ab1cacccc0d5a8e82", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b281d3741f881f43a49bbfb12d85f4a1d6ac893", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd94dbf2c1fc5b4c9ca277efc7ff19da7659d9925", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x024813b4972428003c725ea756348dcd79b826e6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc3cab030a79c98f47c3a3efef85db5ef4dd54b92", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfd9a3b43c5d3327675f689c954d063dc3e60ecc0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f0cda686cb448daf7cae161e57aff1e5258984d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc2af996c138925f92011ac511d96fcd4737db231", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x93198168207e14f2d2ee4172a9b115487d92e915", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc83684d01c800a11905bb65c383b89e808514a18", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6a42c2205a7acf3e4dc403502b81cb7bc8b70751", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3b32cb66694500774dcc635f76aed145ba742d44", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x51c989f324e4dbfec2699b7cb6c81b268a9c87ff", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x403767138047ecc1a319213f7cf915b09b35d58a", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1ef4b676e17fffcf951d543dc91d6debf46f937", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf825776e971da4400d9c98b09ee87ecb741ba301", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xed7679346494c7fd083022bccbb2669b11aa9841", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7e1eaf5b5736794b19df88722ca1c32af80cc2c5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9514ea32e83b7a2b3fe1acc5b788d108e3be720d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x566ad96e3814963024ba4620987bd0461040fcc0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66f3e026054f17ebc695ac4fbefaaed7e87f3623", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcaefd832536143e6c7985ca78f1e17fd0b05c4bf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x81b47a508eff27ed82ccf367baea1d17289cdb16", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x81a2dda115e86fd0f22934fe857f799289e365e3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x51363074d8fb3422aa8f45aa5a9639cbeb217289", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c322e4edef47e1d5c3672361b7e009ecc93141c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1fc6544403f0ef9bf7ee486abb63240a796325ac", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x05875f986fdf0f7d307b71f036df7a621dcc5d1d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xec9d11384f42066bd188300cca4069ddba942ee3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x98e88e36cdec51b71d826d69c0965563bfb3f2a7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe18c68edf591b495e3e8c8818482f724a55ffe80", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x691f54bbdf548a5e51eecf74d22bbff1991f1f4e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x89d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x64749482806060993379609605585df950393cf9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x10fdc636697403f7db3ad215e1433b116921a2f0", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3fe547d0369e29272f7b19fa08f7fd750956978", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x15b57c8d84e7bd1ff71881d21376fd9b425e1ad7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6529770a5c58ca859558670cf98171f600c48783", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x8f294a0acf670fc6e14e95d679ae86bfae2be6ec", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa34551ceb662aeee115d40482a0fd2d97e6f2050", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8362beec6f02a977fde4158bc5626329374de3c5", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x413c7c4f23f42588f417a978a0ff23f3f4fb39d9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc9793cb631f299b7bd8d6c02910b11d865eda423", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd5e47de39144b095c0502d75358af0281d7eeae2", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb583c187b1429fc08c6c7a7f926c0d56d42a5caa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc1d075c75a88310395b0dfa6fcfdac5e7dbf91f3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x57a8cf309a35e87156b149734dee943c6fb52d4d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x856b044077c490fdd657290cbaf7edb132bc01fa", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc87d94e265ae61cc4eb1813f8b2445e6724c7c2e", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x507303b99c42f35058b00f6bb507cb2b094b616d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfc414daf238a3cbea641f9eed8959ca6adaee3fd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7b57dde6e443070ebf60564d1b5dd84a1fa0ce1c", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4572ef6fd7faa5325f31b984ace9d522c9c06b5f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf78c3a7514055c8fdf95ac594eb2f27784e807db", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf847fb22c17a68a515d385e256a296590bf8103", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x74d7bc20202e57d64f1feec321fd391edae2bd12", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc29300acea4e2adf41056f619b6b503ab376bff", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc711d6cadd0e203a0fc8d82b21950cfa7616bf0f", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfb67ad972690550fe04f5bb264803f6478c11416", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb125dda6e005174aa2ae7570737ebfa7b518acef", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb0220190d75d21b6927653080a67e727c2ad91bd", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9716444f669e10573513fbdc0ad5d03c2e236fdc", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4ea887e70441fe1e7e30f06d381ee6186c305bce", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc25560e513de24d927fd1779fdce848e3d1a9907", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xca691d8aa8d32726832b6787c2576d5ef761c93d", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe1317eec6153bbfda53932b4f825badea66c1bf6", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc0dc98ce0db0b73d27f9c496119c02d34f145b3", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc84a6b669ed75ca5194b13a46e2e0ffa645f6db1", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf8d05938941b37f7efbb0507210ea6577d9b7a91", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xedec3a757df24f1da06f14f6772d324ad66c6aa9", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2276816aec0c14697b0c9f15ccd99d8c475f8ed7", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xaa0dc16f7e07baf7b1df877281b8cb782ad37b0b", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf8b8f762ec18b32a67f5c94c57ab7bf620221547", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x570fdfdf72f55760913f18064875063ea7729265", "totalWei": "1000000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0", "totalWei": "955840000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x070cca32b8324ed5f6039c1f0fe9a6eb47d99771", "totalWei": "929599564026401", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7de7221723e9492c9ca365260479159a38c35fcf", "totalWei": "910346521829621", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2", "totalWei": "818994111432339", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb6170eacaa6aed67d64e095d419ce7fd8e7d4750", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdf016d49bb059b6a1ec651bbc04c54de701f5c47", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9cf256b5933c3367f73d510c6e8ca98b0a294afc", "totalWei": "800000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfe84b1d775efa42cc2e0dd1031dacbd241a3f881", "totalWei": "792140000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x359791f496fb9e55340a227854214a27d4bb011a", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf924ab834ef511b6bd438baec36ac50d513a4e59", "totalWei": "700000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc59b87b30512ba66dce3f0fe892d19db9abd0e6", "totalWei": "677396486990312", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d83ff41dfbf4d820359e4c78e487ed125f2c37f", "totalWei": "640494899473544", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1e39c8102dfb89ce8d05a5add89da845b958ac0b", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x73ca85522ef1fead38d567cd278561ff8248c3dc", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe10701fdb62f3526a3ed06670e94a463401d8671", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa1be19349c296c4c7125894672ebc1756493617a", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7fa18723ef2a885dfee22b202c9df2274ac3453f", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4d8c52776ddf0e615e3758a15ca766f9128acdcb", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x8aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcca5142ae99ed42dbdd3cd7df505abc1e73d32b2", "totalWei": "600000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96cb882e0fb501a46950db902d85c314feeaad29", "totalWei": "579000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c0bbf283640a058746db6f3d4fd3cbd7e526789", "totalWei": "560000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf6c74bc3188bcfbae409378c546994aa166d0346", "totalWei": "554433000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x30a37edb6051ebc5630d02732eae8fcdfaa001c4", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x17a79abefd7cc1592e3dec1edfe16dbf7e86079d", "totalWei": "550000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66fb69b0e14c3f71687cadfb9c2a5e5985d2ac74", "totalWei": "545610000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd1e2654aa18e829232d777b4634603113a75ac28", "totalWei": "541468353882057", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x745bdbca643fc419b138b3f2c5c0e67110381755", "totalWei": "540000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ebf6aafe796de90050f8e9a72f0c3e34ef0f537", "totalWei": "537062696699213", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xfa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa", "totalWei": "533000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x18e93dc2744f2ab2cc112835c72bf5cbfd3468f4", "totalWei": "532389229765882", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5", "totalWei": "525613321047948", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbf78308012b52ee1349108089e8e3de11562b155", "totalWei": "522930502536213", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa1c22df31e708085dd1dc68507b60d26175894dc", "totalWei": "520000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc07b987c2d572fdf76e93347742bde152c4b2bb3", "totalWei": "520000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12567ef4f6decdaa31f4e4d661a0783d423802a1", "totalWei": "517080000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3094ea2500822117a3518cf76518c4f2ec1f01ca", "totalWei": "515404141272300", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb4a1facb1b02097c32ea2f86722624d2377d6516", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x06df9021910c216a6fa7e6f119b65a7da723bc7a", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x41c969067b05c69f0e7877c7934ddbea1a3578fb", "totalWei": "510000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x019251aab8dccd8bc4fe153a30798deea1dc1b01", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4c7b5ec93762ec4fb61fde287bb5342bd4748245", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x320a113f60cb2d2059965acdd97a22ca66771dc2", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x81247b89ffd0f385f92e571d772383c849637032", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe7f2004f57892ed3424998f994093e7924bd72c6", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1812fa2fb76945e9d9b683d7acbd48cf852d861b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf351f0ea9e40cdd9d7473d9e5c173f0d31de0993", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa1040c9c11894f8d6e11c55c1d7bfbf4537361e9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b068417c7affb3aecddabf078421e094ae04032", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3640c0b55299d9e2b09f860efcbe972780a9fed2", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x60a8c5f12e745e6170fafa08fa434e2d4b299190", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x88f66de9a495bae3ce552b41e9682965ebf49fde", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8dd5b40af1e354cb72792184b138401ba82ad29c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd7dd3cef544fed26a54fbbca7cb6080f80d61b07", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6698008f2b78aebeb8ffd7a720126548a3f39c15", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe3be4f5390c7760bfc095d6b1f63619b2d09639e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8c235aac3e38eb2d5a9ae4164c23480b0a31522e", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x558fa82960ec3fa51af9ded2d5a846c597f8c28b", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdff8ba45eb9a34074c1b2e14d4002add0fd61a18", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x69052d279e485b54c00e53f896609253e1f6f8ae", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa819a27c5d2e7c07f7739fcf2b620ed6b597023f", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x80c23f367474972ad6e2eb5f6ba3bf045efd8e8c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x12f759cf8481148a29441628c3b75d5b5871cfdf", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf3c3f9f60bd25144738be81da0d8ec709d6c997c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf9178e809cefaf2b219787336650a31552e52d5f", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x74ae5941f76f4810137aabc257e55a7ba374b3d5", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xccf0bcdf5491ddb100d42bd6944b12501b0a2991", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x254fc3950474e3bc7b8be0b463fc28ce557af0eb", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x66d8aa61be8c5a9e027fb3c5d1527e615fad9ca9", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xbab1b58bdf231522824d5eeafba249156700c71d", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd874ecda3e1ff9f0d2b4c80cb8c1caa095cd0725", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8e9f5b55d2c194b4af729a97ef1710bd745ba49c", "totalWei": "500000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6080e863914e66e427998c6f4cdd72f990e648f0", "totalWei": "441945878865728", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6432dfe5c8aa619e79d52a50ab7fa851b56d1548", "totalWei": "414684000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1d8335a0a81f913f4c04644fe290e29115491231", "totalWei": "401250000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe016a96735f97ef4120e50de2acfec221cd55b00", "totalWei": "400000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xcc1f79f92ae827c66ef8a80ca1f2a05f75d01086", "totalWei": "330000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xad0a0b434204ba0a2ad0e02e0d7627fa00c271cd", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7636b570ae87a0f9f49b920f734cf726c0b8d3d3", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2864c9bd73c0fc8ad3d5e3d77220ec53bc547040", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x96daf1d3bc516c60fd3c08009124f15a8721d06c", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c78623a815e71281c3e7a4ffc5bf5f3c570c72c", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb7dca81ce67f685887fcd64f23f850cb45580758", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x2e6110b6cb83bda4bcf2891c676ef48900332987", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0d88ab85de9ad6416c13d2f6ae564b4944c510fb", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf40896cde395236756185e5a32b7857ba3e93236", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe5edfe0e968bf5dad6d023814989b536c0875676", "totalWei": "300000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x6aeac243c090fa97e77ca77a4446be33615f07ae", "totalWei": "272784680791814", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x301a843a7a9f8f00ca2604c4d44e5d6f64bcad59", "totalWei": "267339033071411", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x59cc41a35621cc2d611600452270c93414eb5470", "totalWei": "250000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xc600c544957edb041003bbe68ba14cecb3113e40", "totalWei": "236410000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x7ecc66fc5757dd473824732d8855b8b80bef40a0", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x1351920815896ee2b027bcedc63e16ddb75b1453", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf22fb421de15ef56dc320d2b26f54769d3b35765", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xf2dbfb42722100af12a5789861d99312103a304d", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xdc00589c45e0200596916a0e2845f1dc2408b8a4", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x32378e36ae0d70f7cd6d112b89daf30fe0aee314", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa28ba0d8fefed47fc1accef68faeba3804309480", "totalWei": "200000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x90cd1069d613250d73523fc463b3f64b1d8b05fb", "totalWei": "162000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x9c563aec2b441187cb23597495343f6d5f5751ef", "totalWei": "140000000000000", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x2be0251b28863c66047fd3ae16df619a9bab9bc6", "totalWei": "125075191281766", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0985fa60ddf7ba252372edd620c23070814fbf6a", "totalWei": "110000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x25e30122242bbc4c28b62d8e09b8bbf4c4af6ca5", "totalWei": "107465060422230", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0eaec36364b2fce67031c2f7d924531838952339", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3a320f522aa6067a5ced2cf78ad52e2004b2f9dd", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x44c38fc7eba94f40e9756d6c43cb399b0e2fdcc6", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6d1b396c7fe59a42caae1b3613ee2af9048d3c42", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5910a1713a01e3e7e0853287ae86278c01661173", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x67a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x412b7bb2502aa48f5d50a5cf7153f16744d76d07", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4453a5001ea3942082b50723644e061b2ca7a901", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xac62e678d02ac2f24bf0c01602e4a8fe5cf02c88", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe8f479a33f0ce458c5d7ed22e438a76604efe609", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xd0575ae9f313bd8983ca17aa3941ff4031bce140", "totalWei": "100000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x4818e7c8cd65662c9272fe2ec7f1cc2516149530", "totalWei": "60000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x05ca4481a9b06f829cbe7db8743b01c746ed56f8", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x2f4d763f823dd6a48e76fa4d01ccc80777cd0ad5", "totalWei": "50000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b589695f0c11fb15b3fa53d29f6e7d709e7803e", "totalWei": "40000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd", "totalWei": "30000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xa6e4a0aa265f7009dee7ee84d95d8cfce3d161ae", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xe67dff408974912e0011ab72997a8b58f8759f03", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x015421d227ad552b7fab1f1b383e6c93cb4c964a", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xb65d4f33bad72156d1738eda2ddd0f7b9406fdab", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x759d4b7158894d1f65f3c7d3ddd41135ba79d4ad", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x5ae4dafcdee3b1051f0ed2a471a4181bc3164bb4", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0b95b0322eb8654f5709a6c43b2cc8b9acd452cb", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x53a41265e10f66c987fb2e55a48939e1c50f3ea4", "totalWei": "10000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x00161dd9179154421b0d493c91294c34d1398f1f", "totalWei": "1094145778576", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x277f0eca887881aaa6e6112ee3e5c442d9ba9462", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xadddbf546e0467fc93efb29e8105177b4b45c2a1", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x6cd5af97ba90bed182ed8e68791004f2d4e31a9c", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x8059cc341b41dc765c621ba52ca2d9e9d9284e12", "totalWei": "1000000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x0949c8d6aa7ad809ea08216f327ecf8a3c6b6518", "totalWei": "251287850232", "category": "NORMAL", "addressType": "CONTRACT" }, { "address": "0x81dbaaa0f6230812bbd55ca04233503232829214", "totalWei": "161354125461", "category": "NORMAL", "addressType": "EOA" }, { "address": "0x3c004cd31d452b897aca4bb4cbb566bd0e5f6294", "totalWei": "100000000000", "category": "NORMAL", "addressType": "EOA" }, { "address": "0xebe85f2043bb1d669e4917f3b014ff5bc4863d71", "totalWei": "24995875681", "category": "NORMAL", "addressType": "EOA" } ] } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754080993.json ================================================ { "transactions": [ { "hash": "0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xd782ca9f4611379f55fdfcb6dbcb40b47ea05c82dad08f836088eb9d9e43155b2952da9bea6e6f776522d46d9f81a8617b52ab43f5216ac50f975869bf2b6bd71c6a0031805af471a0dd887a4852a827fb624f0e1cc27f2e959289f107731443464ea562d4a17e44df8e20d45b625066d4ddaab7e9031350257ba786c50b3d71cb1cd5c79c3a9b08910b2b3bcb0e3cc70a17c6046fa24c15472b05756cd45e0827f279bba575e95b93ec9833fc29ae07d40232e18460e233b0fe1fd8ca0a2f65732c1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x67bc2", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b2600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d782ca9f4611379f55fdfcb6dbcb40b47ea05c82dad08f836088eb9d9e43155b2952da9bea6e6f776522d46d9f81a8617b52ab43f5216ac50f975869bf2b6bd71c6a0031805af471a0dd887a4852a827fb624f0e1cc27f2e959289f107731443464ea562d4a17e44df8e20d45b625066d4ddaab7e9031350257ba786c50b3d71cb1cd5c79c3a9b08910b2b3bcb0e3cc70a17c6046fa24c15472b05756cd45e0827f279bba575e95b93ec9833fc29ae07d40232e18460e233b0fe1fd8ca0a2f65732c1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1e", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf5aa91", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7ba2", "0x9b65c35f8651ca5bfd69e7cef050195a2c4d06319a8d221b70276ad797c59419" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167a1661952c46f21c55d025098cfebe4e2793d2f253c13a7bfb2dae16209000c5a000000000000000000000000000000000000000000000000000000002bd9058500000000000000000000000000000000000000000000000000000000688d26df", "blockHash": "0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0", "blockNumber": "0x15fb1f6", "blockTimestamp": "0x688d26df", "transactionHash": "0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0", "transactionIndex": "0xb7", "logIndex": "0x1bf", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7ba2" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000002293014ca33b9d3db2bf2470c2f4ee3419f2c9c800000000000000000000000038fa73d4d40b714cf10f9df0f3b0b83cfb93e1f500000000000000000000000089b585df208c727829232d892a50806c3a20a4e6000000000000000000000000b11e239910eaafa78fa925e566c20bc611fd4995000000000000000000000000b8c30017b375bf675c2836c4c6b6ed5be214739d0000000000000000000000005c07cd461a072ec4dd86ed6c062ebf62876246de0000000000000000000000000dbdd871f45c6b4e9b508e60e3af9c4044a12fe5000000000000000000000000eec38a8835bf98eb8f4abee900455a5175d836a3000000000000000000000000b5a8d8874aa28f7a355d165dfc4eaa8c84c2ad2d00000000000000000000000039e746fb643789facb3031577eddf0ee996ea701000000000000000000000000491f58f614627826cd31b5b74fe895d7c87da569000000000000000000000000e476c3a18fb117ecb16c986dcb09630bb3abe8540000000000000000000000003f922732b21f36e3226944ec7606acfdb55d35c1000000000000000000000000c1bb4d41cc0635e4349a4237dc42937111090fb7000000000000000000000000d3fb2231c5d761a2ac02aea235f67c2cd35672f900000000000000000000000011e6aed8d826b2097d08067c64d46084ca7a3f2f000000000000000000000000e5964fd10170c8291cf97552284d995a006e67ae0000000000000000000000006ddcab72b2d6f7593ec912bf3d4b43d455a78c64000000000000000000000000e0e9271b3ef10c0761a09cc813282e6c8f21dfd700000000000000000000000072e44b2bfcf28755b5c1d54442f18e2daec5b5610000000000000000000000002c3d636f7adc34dcba3d787727a6b2225f43c3a5000000000000000000000000ce0a26ab5ebcd76cf87494c978003b5019dd52aa000000000000000000000000f3c3710cdbcbce065f912810e70cb78e0d9e0050000000000000000000000000659e2dd7261ae1d24abdd74fec16512650afbc59000000000000000000000000bdde25c38d17c0895bb98abbd6f42f4a3fc7a08e000000000000000000000000f67b3ceeafe13d8805e285b7722c719990b61960000000000000000000000000a65673459a3361790691562183bce05af001872a0000000000000000000000001cd8f13e7bad6bbc7e766ae6fd4c0fd145b6dbfd00000000000000000000000058a02121c0bb9915dad08fe699699fd3000000000000000000000000000000002e97bab47dfb1fd1395be6d86fcd48c19374b79b000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec73424000000000000000000000000ed6a4e0a7781e1f7e25054db9e29a4121bd6e8420000000000000000000000003300f6a0845258216e705d2abbe211c2c400617e00000000000000000000000049121c6c995f76cca4b89ed8945fdb49164e39d80000000000000000000000006e3d21a6c60b8bb00dc2bbc163665c0abea47d010000000000000000000000000152aeb9e07f64aa6ee041f18ac647c75100000b000000000000000000000000a5bb368bc55aba37a5bd47c7f7bc87c6001080bf000000000000000000000000a85bb9720b83ae3e7df172de4067623b979bd4ed00000000000000000000000012fda12b1c5f69b45fa15f2e5396b726d7c8a8fd0000000000000000000000003a01b4a47b1c26aa098891a43da9524cf29231c800000000000000000000000050d4a329186dc01f23d66a4191e015001b82edc3000000000000000000000000e4a760af5f784107789e6cf04b10da689d747440000000000000000000000000971df5505d4f442570ca9e05dc2dd1ecccfd7865000000000000000000000000bdea881543543271ecefce91685cf1139765c18f000000000000000000000000ce39f85484a899a8a31268428698cdc908220f54000000000000000000000000bd2979093cc4940e856faa240b6f54bbf1dc59ae0000000000000000000000001bc3e2c44e0b2dabb1b06a1890273571825d3e0300000000000000000000000008713995371818c67f601cd347d8ba1740c03dc7000000000000000000000000b44ce48a53a79548dbafc3407b28bd37cb9f99560000000000000000000000008ad1816c73b623ff2abefd60efc2693264a40f4f000000000000000000000000887b86b6b6957f7bbea88b8cefd392f39236a88c0000000000000000000000003294733d558fd893fad3c9ec18be7323e7bd7256000000000000000000000000e73fe7e6d4294da0e87cc50c7e8049996f8f02f20000000000000000000000002056e236076e79a2f6ca92d78a6f74a5f8f932b7000000000000000000000000ebf35cdb22e31ceae5d9491f9f9093c6227cc11200000000000000000000000058d51c00a48d36cf9c2bff92e98923c30d3446e00000000000000000000000007344184be33f90c20b34efd96d3215f9c50cbecd0000000000000000000000006e7c0fefec5d9e781fe0643a346bead6ae3516a20000000000000000000000005ec3e02105ff5224dea33cbf47498ae726cbc69d0000000000000000000000006622c534d9be477355cef0b59fcdcc25cbc2adf1000000000000000000000000d8836dd5c4d56bcad868af0dd08085ea9f189b2c000000000000000000000000f614da1510b4b48057b01f3450e2717f1495f89f000000000000000000000000a20c043cd7f72e31bbc0a521f6fa7d29e46197d1000000000000000000000000618b4c52ed90bc5978f33cf2b057fa65576a72c0000000000000000000000000da22405545a6ea9df88cb2b0ebc52b7ad86fae1300000000000000000000000002644e345b23767c8103dda301aa11cafd82b71e0000000000000000000000005045f7ae251d3386ec48a0c9283503ec9b0826f4000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf0000000000000000000000008f38b0b5af86384b0eaeeb9bd893537a11908045000000000000000000000000a9a1c73e1e90b945fcc3507881a5e1a437ead162000000000000000000000000e1a85108fca08d3566c098b3b7eac1fe0f2219b000000000000000000000000014f1936819ff803400fa57b3878c8411910afec10000000000000000000000000dbbe14fa2fa8f150670ec127b46c61e83051c5000000000000000000000000061a81af7e1f611a89d10dfad779d786ca840f480000000000000000000000000de29e31a9b1032c2f511d53b46253c4d096636bc0000000000000000000000005b6b4253ed08c4853ec1d5fa7b8e0c2286583243000000000000000000000000837200baf9674d97243ec7ee31f8906b850f8c1d0000000000000000000000003c86b3d1dc8ae5744d6cf0f59c8913f11251e31d0000000000000000000000007a0785be7d4bc630bd82c2b16bf0a1c2329ecc880000000000000000000000005c186f2323c093ccbf645088e6aade58227d0a0a000000000000000000000000712ddf49080261325a9a4b048a81294587ecaf8a000000000000000000000000c6c742376e969d5d973ec09d9bd813e1b6cc5d5300000000000000000000000073fccce878d100d8511e1604d6a8b4fd79fdf98f000000000000000000000000b7ee28d626e21a9c95e1ff70c89c5e5250563202000000000000000000000000cbafa86d910a2ebcc7c4db23c3f3b672d5956c190000000000000000000000004fb97ebfb3d0fd199ee72ee2915bd6e0ab41131c000000000000000000000000ba6fa3a422f09895d7ec2c9e749c63061d56ad55000000000000000000000000fc064084670b76ad53417e090e06f4b5fcca6cfe0000000000000000000000007e027e82e314082df67c7983fb7718fefd3b0edf000000000000000000000000c3f01f6e61c0cedba21b6e22ea5a005e7b5ece030000000000000000000000006d79ae514cc2dd4287a4383b498dd5fd587b716b000000000000000000000000c6317dca3ab577fd956a346fa1b45bb4faf9b01b000000000000000000000000e691ca9e45b73de39971b06893053479feec123d0000000000000000000000002feb6ea92ee8a03844bf21b1639fac29ec278db4000000000000000000000000ce63e46660db5914593f986641d9133789477725000000000000000000000000b9a3831adfd989690424cbeedf788c53681c8731000000000000000000000000ab35ac8661e0011de2b4c20798410c015eaaf5980000000000000000000000006ec8b8cec5645066fda40c6c6d6c3b749a565755000000000000000000000000615db6e9a20ad3b89ea9f17a54c9fc79a91537c6000000000000000000000000e482498540424d9877d482b52987b8fb34a010180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000002fb474098f67c00000000000000000000000000000000000000000000000000006124fee993bc00000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000442aedf9a0b80000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000003d0ff0b013b800000000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000374a02e4512800000000000000000000000000000000000000000000000000002e62726b9dfd00000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002abe9deb958c098000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000000024e0e69ec5757d90000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000001ce3528e529aa0000000000000000000000000000000000000000000000000001b4fbd92b5f800000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001988fe4052b800000000000000000000000000000000000000000000000000001876faf337fd570000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000010262981a32783f00000000000000000000000000000000000000000000000000f523226980800000000000000000000000000000000000000000000000000000ea35d08c716f8d00000000000000000000000000000000000000000000000000e0da67f760f48000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000d4fddf619ef20000000000000000000000000000000000000000000000000000d4255406d8a14000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b8bdb97852000000000000000000000000000000000000000000000000000000b41a17f98cdb0400000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008b4dfa7d2c5000000000000000000000000000000000000000000000000000007aacda2018200000000000000000000000000000000000000000000000000000786fded1e2c000000000000000000000000000000000000000000000000000006af1cf125df000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000050cac4d0a92800000000000000000000000000000000000000000000000000004fefa17b724000000000000000000000000000000000000000000000000000004caecae6463f00000000000000000000000000000000000000000000000000004a9b638448800000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000040df00a2705d4c000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f1dab98320a34000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000388a8a1612a40c0000000000000000000000000000000000000000000000000036e6f2ef68eac00000000000000000000000000000000000000000000000000035e61c08cf2d2800000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000031bced02db000000000000000000000000000000000000000000000000000000316d1b78ad73c00000000000000000000000000000000000000000000000000030cc28445fd200000000000000000000000000000000000000000000000000002ef9531d66b08b000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002aa1efb94e00000000000000000000000000000000000000000000000000000029be90101c60000000000000000000000000000000000000000000000000000027ddc478b2600000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0", "blockNumber": "0x15fb1f6", "blockTimestamp": "0x688d26df", "transactionHash": "0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0", "transactionIndex": "0xb7", "logIndex": "0x1c0", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x6d43b3b0c1266d35e4aa26f5fe7cda6954e96a65283b900dfe5638a0c6f3d3f20000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0", "blockNumber": "0x15fb1f6", "blockTimestamp": "0x688d26df", "transactionHash": "0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0", "transactionIndex": "0xb7", "logIndex": "0x1c1", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000440000000000002000000000040000000000000000000000120000000000000000000000000000000000000000000000000000000000200000800000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000104000020000000000000000000004000040000000000000000000000000028000000000000000000000000000000000000000000000000000001000080000000000000000000000040000000000000000000000000000000000000000004000", "type": "0x2", "transactionHash": "0xd1d742b3ce253e279a9ff7c1a6220ea7b05b76a6e3d1b199d2d939def69e2ff0", "transactionIndex": "0xb7", "blockHash": "0x0f7972b001a63b2971c694a67e2e3aeb632191b1bf8226f70307486c03b60cf0", "blockNumber": "0x15fb1f6", "gasUsed": "0x46eec", "effectiveGasPrice": "0x2e3b5f85", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754080993, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754082985.json ================================================ { "transactions": [ { "hash": "0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x1e4a939daa0a8c32d9fd54abcbe1c1684d79b271871fe3eee98538a96889a74b491f92e1488866e512b9a0c6cf597e677919a6fd8f0bc426ac8c26ca0c2784c11bedd2eed241d8fc312a56e2125bec23f3141150c42de2aab7a9210e25e9e273de6d3b435cc125a3079aaae4359f0506662450604a2dbd5a503f8c483d2e41e5711baa9b204495873d7587ee27ef54dbb60ef0f959fa0892d72f349664630729bc16297e4286af32008f30c64d56b2d0cc9fc9030ec06d1e0e4c371b490a75b85a521c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x61e0e", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31e4a939daa0a8c32d9fd54abcbe1c1684d79b271871fe3eee98538a96889a74b491f92e1488866e512b9a0c6cf597e677919a6fd8f0bc426ac8c26ca0c2784c11bedd2eed241d8fc312a56e2125bec23f3141150c42de2aab7a9210e25e9e273de6d3b435cc125a3079aaae4359f0506662450604a2dbd5a503f8c483d2e41e5711baa9b204495873d7587ee27ef54dbb60ef0f959fa0892d72f349664630729bc16297e4286af32008f30c64d56b2d0cc9fc9030ec06d1e0e4c371b490a75b85a521c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x24", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xbde905", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7bc1", "0xa856672f23924f19ca6acd5250b7214efc730591e7e532fb973362e5b96ddf18" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1676d2cee55f0c7b883708fcf65e307d3df24a37fae9621a89c653bcb1d0f052bca00000000000000000000000000000000000000000000000000000000187001a600000000000000000000000000000000000000000000000000000000688d2ea7", "blockHash": "0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54", "blockNumber": "0x15fb29b", "blockTimestamp": "0x688d2ea7", "transactionHash": "0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3", "transactionIndex": "0x9a", "logIndex": "0x13f", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7bc1" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000f62f7f4dd6ada21a672153503795f9829afbd4e000000000000000000000000df67d976307886ec39573eb979b1af790aea67870000000000000000000000000e1924004217160b1a95e4db8e4b2104955275c4000000000000000000000000391180ab65f7bd2943d468fb00f96a47f51f8953000000000000000000000000ff6a726f83286d8f54273b5b816762dfee47419d000000000000000000000000f88a52b66a2432beee898f5514b85c43010dc668000000000000000000000000dd65143477647bae64a6e810ee629ead6428ba8b000000000000000000000000c4bc688d019bdc1b5e3b7b7f21d50de67ba793fc000000000000000000000000f68e7d0c6cce87c39df3057dc43ccb9a07db1e7c000000000000000000000000de6785b0574e5867366d9e1732f968eac8b333bc0000000000000000000000008bbc42da742e9a5e0ee458a63be0bcd23f0b5912000000000000000000000000bce3b9da85e4e095cb6b295240732056692fa67d0000000000000000000000002500b5bc31eb6356eef5e5068e8569dc2b0687f900000000000000000000000015354c9f64ab1d03e48e990bb946069ad1212a1100000000000000000000000047db3260ebcdc9dcfff4963590a1ad012d0b01f000000000000000000000000059a493f5e2f318bc4bdd32e72c8c589b48821f4a000000000000000000000000faf57f0a88fe6d2ea786b67ceca69e006e304381000000000000000000000000e5d85d5488f775b29357611ec3b6849681f62fa7000000000000000000000000c1149118bdc9190b65dfac37fbf00945d0fd29a700000000000000000000000033bc7bb9036bff104047d059eec208e43b0ecff1000000000000000000000000ff24de32cfab08f833ba56d970a8ef61c3f0ae1e0000000000000000000000002713e1e0c988797027ccd6e47fc6cb74fcc88a310000000000000000000000002af3a27712ec8489fbcafaf4a01ca3b873da47df00000000000000000000000007f810a967b920f38c3e1042d220223c0abe231500000000000000000000000006fee2818ed2bfce2635b03a231ebbc9dd18860f0000000000000000000000000b687d1f5fc8829158bd80f5f34c13acc8c3fe4d000000000000000000000000bc17e932126874f8cf2813fa620c3383c56b1b97000000000000000000000000c18567c8e5aa06c3689551ef08308b73ce76da7d000000000000000000000000c45410260af1edd40082253ee8ba0472d186b14b000000000000000000000000c8926707dbfef7feb52c22325c814b8a99667798000000000000000000000000672005e26525c8253b0fdcfeaff5683459e77a98000000000000000000000000cf0c2e6345366d1c51bc71ec7330f26efedcd1ee000000000000000000000000c7adfe2c9dce21049722f98dad47366ed5a3b8000000000000000000000000009cd939ba7c3d3c5443a2ccc164f85d03a4feb70800000000000000000000000087cd289b2358f88be6debb6a48b046d5ec00d8c90000000000000000000000002ff72c190330555f7aaa2406677272dc06bbfe850000000000000000000000009ea536b0bf416cb073b4d8a9d7c95dacaeab0df600000000000000000000000085e93fe564fd241125dd3ca6b3fc3461f516ec80000000000000000000000000647ada5bb7866f75b3056902a42a7a01bf14d5f40000000000000000000000001ae0b6c7986cb529f8629a16617932f811b002270000000000000000000000007fa46640cd3044833a44f41984228558f11a912800000000000000000000000023e28ac0a7940d42f9c40672f7daad79cb0eb751000000000000000000000000ab5129827b504f20a6195d0f0896183391e513c8000000000000000000000000e31b6fa5eb7bfefb4a28ed1c5e9d0ec5240b5e8b00000000000000000000000083c2472a80e7fc6478158fda5267f3002ffec3bf0000000000000000000000002b4dd11fe82d0359b262de601c8c6d7fb0cd520b000000000000000000000000e6b1cdcc40fe58a0f19e788366e25ccc97c8352f0000000000000000000000003df02dd4458570ad303f25a3233c908e534e152d0000000000000000000000005b136c570057b8a24fbbfe4b9988e9f84a1df4c9000000000000000000000000e9dc9f2a7a72c5cf87d1f5423333ea1b7a37c4b70000000000000000000000001023b453299b4f564fad857e549341be93c64335000000000000000000000000fb252a35c42fc0a562db1e30f6d23bfd545846610000000000000000000000006a5884fdb62e891beb8c6680e4a5cff4ba70dabc00000000000000000000000020a9f42cc8e1872104689e0d7018c790630147f0000000000000000000000000545c9b5ff0838f85ed1873e385d674641dfd60f90000000000000000000000005bfbfef98c378c81debd9bb96d13d4da782af8f8000000000000000000000000ef8c7fa2f1965703875a67b6df529e8316e09cad0000000000000000000000002a8dbc13916a49d826d1864cd9ac419eabf3981c00000000000000000000000049801afcc5874c7cebd8d968f960a8cb6c7d7eee0000000000000000000000002b1f9460bf042f4b6c788a047b12f6f8d20cc4200000000000000000000000003687ccd5190b59d8d19a9ab61fba546d1335230d000000000000000000000000085e73a8b959d3bdccab6427ad4427901f6afe090000000000000000000000007f229c10714ad14cde790a0787642401017c4e740000000000000000000000007a2d8d020ecb987646c0577e0dea83e178399c1e0000000000000000000000004b650a8bab0a0d3c8035afd466bc5d9bf6f1c75200000000000000000000000029b5e472e36daa709fdbbb727423276f44b7e5fc0000000000000000000000008f2c67813ab735469035007212ef1a4ee30275d1000000000000000000000000de9c059c8fdbe324081f83b29277d335370e2e130000000000000000000000004a5d3634b467ca6076e2e8f5c092812e2e5c1b69000000000000000000000000edd37caf0f19179522f77b101fd1b00d3cd1a2a400000000000000000000000007f83a636b0e48f1693beb60426ce4c76b8faaad00000000000000000000000045e0d89030d216290a865b4b6eeb9a07f1fd232d00000000000000000000000050e01433711f0cde93d09856405f64a579fa5244000000000000000000000000db3202d37bb6a2e4e1315b7a5dbd217246a666660000000000000000000000006f8392a5ee3e30be27229b52b24f4d2970754912000000000000000000000000085c1bf97ce01758f3e92661e6776b8f5cdf822000000000000000000000000018b8db3291f4e2cceca0a3f9d301e56716b0e750000000000000000000000000480c5963799c437ea3ce7e75bd2eb9561777a40000000000000000000000000031658df07a63634fd15ea2ab8ca6a739cecc0a55000000000000000000000000cc5943ae36253dcef05815eab1bebc6a6b3253cb00000000000000000000000003fcc43da662ea06aba5bc2475b1e28b3da7c382000000000000000000000000a508c16666c5b8981fa46eb32784fccc01942a71000000000000000000000000ff4fb0b65f143ac0a09ca78881d19df40a7919df000000000000000000000000b74e3feefd937ecac8d0e0a7c5dbe1e2645a875e00000000000000000000000097f7c67b55b62a0024cfc4a92c0caab5ed0101dc0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d7152000000000000000000000000a9b3bf5e94a41f48ed69ac96c3a60d4c83c11b43000000000000000000000000baabf5e9f000521b51c8024dc4b62f1d81dbe5a7000000000000000000000000fbe1cc2cfd738324815f8aafc8363c9336c440e3000000000000000000000000c5e7c8ce4c2005dd0957e7bd4ee51a4d5e028b9d000000000000000000000000157c359e638b52f3045243b483501069cdddf6d2000000000000000000000000bd2e42af2e4514aa35c988ef9059923b012fc9df0000000000000000000000002ab771be6bb220735871df5599d806103995d29f00000000000000000000000017c497aab876553c1fb8e73f05cf4b6aca7559a7000000000000000000000000233f033d7f1f7199be2ff9b3fcca21366be05b15000000000000000000000000e1a9229006d237b23a833c00b056fea8c0a342ca0000000000000000000000001d4f8bc1b8cdeb52d08c8b7ae1cc97b19e9bab2400000000000000000000000037c47758d6b36dc19f44d7beb7573b95a087f8b60000000000000000000000001ae2d1522045db426954ad278328b2be71348de600000000000000000000000006c922ab286196b558a0ef8dabd99e2b98bd4166000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000272fb9ffdf600000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000027147114878000000000000000000000000000000000000000000000000000002714711487800000000000000000000000000000000000000000000000000000265e8af39300000000000000000000000000000000000000000000000000000025d55df3047d30000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000235330ffcc7d0000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020846a9d49cbc000000000000000000000000000000000000000000000000000201c456f77d48b000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001f00cbe518d000000000000000000000000000000000000000000000000000001e8da789118000000000000000000000000000000000000000000000000000001e32b478974000000000000000000000000000000000000000000000000000001d7cd63949d532000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b7a7d6f6b6e80000000000000000000000000000000000000000000000000001b1f76ffcc5452000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000019a67a9ee820000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017e8c1825af1a0000000000000000000000000000000000000000000000000001606ddfd9b80000000000000000000000000000000000000000000000000000015f73c582745c1000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000138a388a43c00000000000000000000000000000000000000000000000000000136b3e5410480000000000000000000000000000000000000000000000000000131c33db2193050000000000000000000000000000000000000000000000000012726ee67247ce00000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120536d7577e040000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001131f450b68000000000000000000000000000000000000000000000000000001128636b298e400000000000000000000000000000000000000000000000000010f667d7d49d2d000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f1041edd90000000000000000000000000000000000000000000000000000000ef88760aa5c00000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000ca7772be67c00000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000c1448303c8000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54", "blockNumber": "0x15fb29b", "blockTimestamp": "0x688d2ea7", "transactionHash": "0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3", "transactionIndex": "0x9a", "logIndex": "0x140", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe8013f6ff7c420b175951fa16f7fcba8400cb18c2bc8444e274c5e982c7277620000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54", "blockNumber": "0x15fb29b", "blockTimestamp": "0x688d2ea7", "transactionHash": "0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3", "transactionIndex": "0x9a", "logIndex": "0x141", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000440000000000002420000000000000000000000000000000120000000000000000000000000000000000000000000000000020000000000000000000008000000000002000000000400000000000000000000000000000000000004000000000080000000000000000000000000000000000000000000000000000001000000000000000100000020000000000000000000004000040000000000000000000000000008000000000000000000080000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000", "type": "0x2", "transactionHash": "0xa6760bec7a1fd87904ccb6c178123972b59bb10cc53016e58261e30d61b619f3", "transactionIndex": "0x9a", "blockHash": "0xb43bb11ab1696831d3f7e93d4d8dae945c6e7479f438fe1d41f7814322076e54", "blockNumber": "0x15fb29b", "gasUsed": "0x46dd8", "effectiveGasPrice": "0x18d3ccab", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754082985, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083142.json ================================================ { "transactions": [ { "hash": "0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a5780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x312f22437eebfb4bb58d1c64a4b537284c6597c3a4b47641ea9acb41ef03b8db2560862e255c0c81138d10693999d6dbfaec6c2c7c27d87b445247a284118c381c895a7258065445824f0c30ceb795c49dbcd6f31302ebfa555148177eb7847d104c6ca462e75b311cfaf130221c65bc40321c50f93f6a1bac3de808f94899e9491c2eda6fcf4e2769e415be51c32beba418a2f17d86cbe9a19e4f6a721c462c201a63c30396b7c50036abcbb06b19b31934394b4baef0112523318366a113d2393b1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x67b59", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a57800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3312f22437eebfb4bb58d1c64a4b537284c6597c3a4b47641ea9acb41ef03b8db2560862e255c0c81138d10693999d6dbfaec6c2c7c27d87b445247a284118c381c895a7258065445824f0c30ceb795c49dbcd6f31302ebfa555148177eb7847d104c6ca462e75b311cfaf130221c65bc40321c50f93f6a1bac3de808f94899e9491c2eda6fcf4e2769e415be51c32beba418a2f17d86cbe9a19e4f6a721c462c201a63c30396b7c50036abcbb06b19b31934394b4baef0112523318366a113d2393b1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x25", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x10fc91a", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7bc3", "0xb73431799190c6632c8bb69f33c96a59abb90bf407cbd24cc32e09d8c8ddf271" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1678f72fa24ee95ed59c9d771c35c7781f49c5590bfebecc4bf9dfc6d2081fc79400000000000000000000000000000000000000000000000000000000013e7467d00000000000000000000000000000000000000000000000000000000688d2f43", "blockHash": "0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132", "blockNumber": "0x15fb2a8", "blockTimestamp": "0x688d2f43", "transactionHash": "0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391", "transactionIndex": "0x87", "logIndex": "0x200", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7bc3" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007944bd762876335d995d93f667b9ff34c14fa911000000000000000000000000468f360f46cd855683a55fa92ce7151b9bcb5dfa000000000000000000000000947343951330a1e6f5d0ea83ca70e2cc0c043d1700000000000000000000000084c795d8a1fdb9c4502810e4f7d9e04aafa74c97000000000000000000000000c77f24be2d46b421e1df7c45dbeb5fb0a8757e0a00000000000000000000000060e7e15f8b7965313a210082a540c4874124e1b9000000000000000000000000c14a71ed6c30d66ddecfc905fa3f239045cfff5000000000000000000000000064578d105ac98bbdc9c5a369df26afa87f88a9c8000000000000000000000000e31ef2dfce2c852570b5cc52bf02ec8236866755000000000000000000000000ca21911c178be6f71fcec1cd4b1595861f0881ec000000000000000000000000ac4ba977e5de6119d79e3e029add59d329826a3a00000000000000000000000073382c6977ab57725e07c86033f0044ceb7fc12e000000000000000000000000c046bad2ca0430dcadefc40629f1e01d2c84f37e000000000000000000000000e6c4e160636c3843a1db207a954993cdfa68861a0000000000000000000000005d4036323f52619b9faf7d4dace12bee4669cb4000000000000000000000000060e2cc1ecbdebbc2216ab2676198d68e73afcfd3000000000000000000000000e1b47602816a3a63ba769851304a4a2a90c41816000000000000000000000000470e72141418c0eb71355e5d99244e635a989d95000000000000000000000000cf8be0c141fb112eaf8fcc9b8406cbedbc6f296d0000000000000000000000005e35f578fbfb8e197e411f6f043863f2e34bbec7000000000000000000000000f838055d17759a9ba621f9bb9160e76a0ed3e2790000000000000000000000005dcdc3f0fed4bb900707e88c76c2acc29ae80579000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc600000000000000000000000070aea4c511ec66d6fadb2e120802016cfb333e23000000000000000000000000fdc37f38cf5f063b59a333f01173f3b073becc5a000000000000000000000000e9c7363e3bbbc574b78433bddf699fac0587f6d400000000000000000000000086c45f56862571742262e4e3a5f2626f7797fb5e000000000000000000000000f59056ac7b9b7729c21b69faf09177b0a859024d000000000000000000000000dcc8f181295cfcd9ce83f8be87cb16902c2e1aef000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000002511b8479e7e0389a5c60f7ecdb4213bc3639c97000000000000000000000000ab3a38a2be9bdf8d3298aa6edaa9c5cb6415ff44000000000000000000000000bdc985760b9b38680cf088ff19a9c310c24473c9000000000000000000000000d020756ec0d08b6c1b300efee33197fdc2af70af000000000000000000000000402c296e569b90df069e883b4b35fde7394c13ac0000000000000000000000009d56652d48c5fcacc2fcac0aac8fe3e1a7c726720000000000000000000000003cd6c267c437bd4235b1e98b7eb044a831ebeec50000000000000000000000009c9ac2dc01ff6d9bc9b1dd42e18051eebca1fbf20000000000000000000000003a3ad081cb10b004145a3ca5257bf5dc61e3d930000000000000000000000000996376925b729404afad0094edb37f5356619ed40000000000000000000000004aee7c1251d793fef8a4826e999b885370d076940000000000000000000000001c270463428d780a47f6c9591a570bac837ce91b0000000000000000000000006bd92bc0ee369c99889b5dd2c5445d1ea757c84c000000000000000000000000ded3e1a39e33e200f3e6ef8596a1a16a503b8df600000000000000000000000092f66b95ea8eb2d8f1c32fcb650dac707bbaf17f0000000000000000000000006d700358ee6735dfccd3ffbba28281b76eb2dc78000000000000000000000000595dc126cc1e7794f6b908f6046bf6834b04bacc000000000000000000000000651445c41fa6d4dd1b93e8acacfdffb4478edef70000000000000000000000009ced12517abe3c1a88ab4cee3ef518484facd9d6000000000000000000000000e7f1ddad8c5454e7d997aae8e510b6d666376b5a000000000000000000000000169b931a328a6bf9f18199d6eb9649e44ba31002000000000000000000000000236ba1d7e15cc1c689c6c9e2cc3317ba39f9d7800000000000000000000000008a53b9ed8dc15ffc4be9d4ab449f02041e513229000000000000000000000000b133045093d6ee2054c9d12929622f9170f7f77a000000000000000000000000cb13c912d0216a7d1c105e7a2173868731fabbed0000000000000000000000007db199a23d7361c09e0e41b4e040da035a6d6981000000000000000000000000e8316871c60a4044c3bdbdcc002286d6e2cd719a0000000000000000000000007e44b1067ed219c2756bad68cb118deb0d90dac60000000000000000000000005b982abd6faf0e4ed6735af4b1ef68da1e5a73320000000000000000000000008864a9372b7105f4aa1b8fe89840caff02373f50000000000000000000000000a616f0b2537cbd2b98ac445aa05068aa65084c8c0000000000000000000000003cb7e258de4cf86f8e286ae3becd69b28d934c6d000000000000000000000000c5122d5a51d918833ee643e14304dd63de4f704d00000000000000000000000022fa7a2c21b43e267420a1694180297fa1ab672f000000000000000000000000c15fd0f9c8461a20f17baa99726f4b4518a1e66c0000000000000000000000005dce675759bc4a1079a39b15425ad654296385520000000000000000000000005bdb91fdc1b48bcb8f724f9cdbda631a17057055000000000000000000000000ec441cf14e685f48f91c39f56d0709672a589f82000000000000000000000000a23766af8f0b8325a14ef4a15a7444d0f527932b000000000000000000000000feb8fb2a14f488f5fedc8586d26efbdeb76ecca8000000000000000000000000805c8f74a727977a17af1bce8d6bc7ebe59dd966000000000000000000000000fce9ecbe07c9beb12de5174a8fb47db316faba83000000000000000000000000ee40362973c2a916268b3c9d40d28abaacbfef3400000000000000000000000054a7bf4c221c299e9e4df21945a79147ed0231f20000000000000000000000004079e80d6193d20bb807ca38ab929a40eb8bdddf00000000000000000000000050fba4c771bde076a8a85550aeaed3657ea44f33000000000000000000000000e2798f433a0de7f26f85299d7294fda14caccf0100000000000000000000000005b116d8a35326cff3529ea1a23806323c5510a7000000000000000000000000ea6d92746e7dd772f1b5415d4f316239dfeb34ec000000000000000000000000115db9a94996d8d653c8faa1356bb2e5aa5333480000000000000000000000000fa6df67e7a36aa2439c0cba5bdd26ab4c81b25a000000000000000000000000659b166d934df2d179635749ca79078cc4dc4425000000000000000000000000ad191dd9ff581420bbf949ce6e9fd04b47f4586c0000000000000000000000008f007e0dedbac5a6e515ec95ada04886127f38a1000000000000000000000000801769d65db922dd71825e62c2e84316d65b47fa000000000000000000000000a7beec5d0ab9785437dd14a6523fb1ffd9a424130000000000000000000000004782a0bf13e5626f982af0ac18ca5b39615dccb3000000000000000000000000ae17b016fad147fcac758f0fbbb63c81af00f900000000000000000000000000772125f73a9660f296f1d1a0ad33c1010e0ae38c000000000000000000000000add281007fb327dc4c8ee1791d2882058cd4db460000000000000000000000008f1f29fe5051ef9cf9e9c5d715d5d9a8d05cadba0000000000000000000000001c5518241df88ef8d703101b9e721278f674a6d60000000000000000000000001f15011e401d10da13e179d6fafbd95ac77b1b60000000000000000000000000d4d66acc07318b5b20cb46e684cdc7f5f1c148b000000000000000000000000040ce8113b0cbef58e2933a3176e1ee9fbf392ea80000000000000000000000007a7aa4b8ed58cfc15d0a86babe65b3710d47d219000000000000000000000000b1ef7dd476848f4a5f4df44141d9658c0d255ffc00000000000000000000000058f3bc4aed8f7bd5c0cb8de5ddde5c777f7bb86b00000000000000000000000000faf87b90a576561d25bbaba9aa334cdf05325b000000000000000000000000e67b28f11daa6f9699f4653d90627296fd4e54910000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000a801edb8e2b04000000000000000000000000000000000000000000000000000a3bd0ff49d58e0000000000000000000000000000000000000000000000000009d74ce20720000000000000000000000000000000000000000000000000000009a826d23d4fca00000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008053f56c807780000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a8180000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079502d518a02200000000000000000000000000000000000000000000000000077e08e4a2a7bb000000000000000000000000000000000000000000000000000775f05a0740000000000000000000000000000000000000000000000000000007663c13cbbfa3000000000000000000000000000000000000000000000000000763bfbd22000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000070463426c2ef00000000000000000000000000000000000000000000000000007004a181952800000000000000000000000000000000000000000000000000006c00a3912c0000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000066517289880000000000000000000000000000000000000000000000000000005a618b93160000000000000000000000000000000000000000000000000000005559a46bdcc770000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000052fc4b32fe5d20000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004a09499a2580000000000000000000000000000000000000000000000000000049e57d635400000000000000000000000000000000000000000000000000000049870df5d3fb500000000000000000000000000000000000000000000000000048ca99be9e00000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003ecfddc7a10000000000000000000000000000000000000000000000000000003ea435e8ae0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cf82887d1d010000000000000000000000000000000000000000000000000003cc58e3d5e1be0000000000000000000000000000000000000000000000000003c176d8f5a57800000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132", "blockNumber": "0x15fb2a8", "blockTimestamp": "0x688d2f43", "transactionHash": "0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391", "transactionIndex": "0x87", "logIndex": "0x201", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe92aabe7c5fbbc8af35436e06655a25c0847c303ade4f2303f0a2145581759ee0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132", "blockNumber": "0x15fb2a8", "blockTimestamp": "0x688d2f43", "transactionHash": "0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391", "transactionIndex": "0x87", "logIndex": "0x202", "removed": false } ], "logsBloom": "0x00000000400000000020000000000000000000000000000000000000440000000000002000000000000000000000000000040000120000000000000000000000000000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000020000000000000000000000000000000000000000000000000000000000000100000020000000000000000000004000040000000000000000000000000008000000100000000000000000000000000410000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000", "type": "0x2", "transactionHash": "0x0881bb6552fdefd78b6d3f1605b36bff2e3c4e4f953296ea271d70df4f16b391", "transactionIndex": "0x87", "blockHash": "0x0e94715b50e89be5c8e884dd8fd554bc92faf328ba3dfca2f130e3d093152132", "blockNumber": "0x15fb2a8", "gasUsed": "0x46ea4", "effectiveGasPrice": "0x14207eed", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754083142, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083249.json ================================================ { "transactions": [ { "hash": "0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x366f07bbcb40d24d4f540a19833c9b2cec6d6d921478a4e217c8d93d3fe33b4f221d7de71cb92af56a19ab6cbcd5158a47d64bc81a1566008e2631c239f2dccc1c466847ecc1feac7a49ca1f81ae689e8c953ba5cf39112bd025418b10398be0c20581e190124ee0c5fe2c7391861bab1256fd8dd1b678778cb1e5db12032b40801be20d470986f0ab0193c8ffbd5ce2e84af938878bf4ccaf63f5762520e97249601e838b244bc4c56bbcef7abce2d5ec5091efbddf04af8a261d0c8c85a3975d7e1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x62085", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3366f07bbcb40d24d4f540a19833c9b2cec6d6d921478a4e217c8d93d3fe33b4f221d7de71cb92af56a19ab6cbcd5158a47d64bc81a1566008e2631c239f2dccc1c466847ecc1feac7a49ca1f81ae689e8c953ba5cf39112bd025418b10398be0c20581e190124ee0c5fe2c7391861bab1256fd8dd1b678778cb1e5db12032b40801be20d470986f0ab0193c8ffbd5ce2e84af938878bf4ccaf63f5762520e97249601e838b244bc4c56bbcef7abce2d5ec5091efbddf04af8a261d0c8c85a3975d7e1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x26", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x19800bb", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7bc5", "0x232836d7f18c836f7597de4f1b7397b90d2434604d40267dd476466cc4705d86" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1671e8e773beb62e1dc931f54e19e291157e95f1b567824d00f34fa88a20f73be560000000000000000000000000000000000000000000000000000000012f244c800000000000000000000000000000000000000000000000000000000688d2faf", "blockHash": "0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6", "blockNumber": "0x15fb2b1", "blockTimestamp": "0x688d2faf", "transactionHash": "0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99", "transactionIndex": "0xf7", "logIndex": "0x247", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7bc5" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e900000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000b0556d287d885309d0b76f833f6e1710c83753440000000000000000000000000641600d128321a5d78df90969b601f93a1278bd0000000000000000000000009f09f8a85ae21f8ee80564ee59881bd60347621200000000000000000000000075c0921a7bfff8658659838e61fc083e662796f00000000000000000000000006fd1dd3888cd5ce26dabb727f76348ccedfd3dd4000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a1000000000000000000000000df3ddef9f03e42524c3b9294a97e442fe0f0c32e0000000000000000000000002a54e112b25d2f7b298b2db5dbc0644197f970a2000000000000000000000000743d1bf4bb65f068ab12d9625de0d56bbe6916f50000000000000000000000006ce9928f0f080c7ed4ae1f5940e7bca770f723c6000000000000000000000000b28dd7bcdebde0b09c40178e22960c84ab4953a200000000000000000000000018bb5e299f21cc9b98755065199d2ff654a385ec000000000000000000000000d9759e2fe6277d7d81c3d935d0dcac684d9b3236000000000000000000000000d54ff07f3f69c234b774f6398153dff62a5b82e300000000000000000000000093458952f6a1a1d37a31dcdde33da71f9fe7ce15000000000000000000000000e6222f4ff6f932f566ccbf305cee2a31ad517d37000000000000000000000000b2739b8ead8c553062104c8d5264c5141981392e000000000000000000000000f824b46157b0dda2032ee6fe123a8ec2be1cb4b7000000000000000000000000cc7a3300f6415bee7c2676ab9bb58e8506afd994000000000000000000000000fe1a7a08a0991bd33492e47574ba2174026aa792000000000000000000000000e4fb057c253cc5dd67d713118e0691590476bbc20000000000000000000000006630b0a570fdff2c4832ef9bad9b50763877376f000000000000000000000000c0334ce5005ba6872ca0f9348b2d3102e7295bbf00000000000000000000000078ef64daa741d0da7d8aeb0e0f5bf88950049cf20000000000000000000000005306eac5828489bab3390ef97caef285ba06ab4d000000000000000000000000175bcbf5b374bdecb8d987964d793412ab0cb6fe000000000000000000000000269bfc984d07f8c5c93e3d9978c08d3eecbec387000000000000000000000000822b4457a36d6439e765bfdc47a9849d77d0da5b000000000000000000000000c98d0307b36e5345f13b63110df31bfa99a2054d000000000000000000000000d7d9b49a30c4960b10a63159656955dd6a389d9d00000000000000000000000076619eb9f77126da088e112ed5a933a10d1ecea00000000000000000000000001b23c95f884760521a16e5ff64544d1e48b56d4e0000000000000000000000000bad698a19420eb7d69f8fcc15a7eb7dab2c1c690000000000000000000000001e8948c603ab9ea99e21626d291678e9769d972f0000000000000000000000007990c9e20d431198d47e2d277c4b4bd17525768700000000000000000000000032ed20dd2e84e281957f726e48f5f93901ea1f7100000000000000000000000017dfc9222d183642a77efba84b320fc9d0f4ba2400000000000000000000000049d786e4a52832e4380487eb7c99fc76aa94ff51000000000000000000000000831100f2dd4039700143eab5e7a6c0acc0be07ad000000000000000000000000711920225d713362dae08fdd83f762c99b2a6ff80000000000000000000000003ba8adea5a9817c107388127693cdfa55021467a000000000000000000000000cd95228c1247b904d22deb51f4ef148499afca20000000000000000000000000f84cd10f0904474c1707e29db937e8f4c21d4da9000000000000000000000000abddd183743e61a04a7b31de3dc68171ca3ed4cc000000000000000000000000c3fc1492197d3c19da46b8fe40ca08f01d2feab40000000000000000000000004a6d5b892ad6ce7e8a433e43ba0f55569d883f6f000000000000000000000000e42a6c980a3c9fb0e8945d699a27f9e471ace4eb0000000000000000000000007a0ab6be13855ffaa592cc5bcecba5628849c5c70000000000000000000000009d386325330ff9565821232435c67b253776fed900000000000000000000000045c719c91cdf2436ab699e7401e41fdf049e7e60000000000000000000000000d81a08a24cde557d2bd9cdd4033922be7d5cc3bb000000000000000000000000fc455cd4f6cee49288cb4e027e6782b409edb30c00000000000000000000000013fc306ca025f52fb7f5af8a98bd8760c252916f00000000000000000000000025f7e265ebd9e5f5fbee5da2a4f0fc8882c4f5f8000000000000000000000000c19621892d8ee431869324556e17051c378d2890000000000000000000000000377a3a71309ca5cb23d319baf64de92a154103ad0000000000000000000000007efb596e6958e33c7d74ab73d5aa4817ff58d182000000000000000000000000bd773880a0a06dc937fdef3b1b8e89623d1b206c000000000000000000000000a1922bd5ba2712f69501182612faaa15ca03604f000000000000000000000000ad1ca5603335ac4b05ce62b4303ee884ffde775100000000000000000000000047c7abbd2a4e4aaed5f782e01057fd62c3e1cc490000000000000000000000006a0cc5056e775e3c30ac186eeace625db6f386ec000000000000000000000000c76aed5faa6d4f92836505a9d206e84aa855702a0000000000000000000000003fc9b78015cfdc24d1f8fa8cfec69e15cb47d47a0000000000000000000000005c357a5ee9605f880fbbf6d9aefbb70c2622622500000000000000000000000050b4d75c959361c982643d1758e250f43c1b34c600000000000000000000000038566bad6c0c22986c451a76301f38b31555c952000000000000000000000000e1b54db8553c98414f23a37e6c32a956efc1d065000000000000000000000000c7e8921d5ed0665df082d1a4703fe401aa38024f000000000000000000000000c7971d9d68fec098576f689ddb546f24e5eeb742000000000000000000000000ba3214161617dee3311ebf9f32a4c4d20bb5ba6d0000000000000000000000004b40239453b529f2430dea36b8fe3fe4c4f08a2b00000000000000000000000009ca4dfc81e6d2afbc9a928d4086c73571d801a80000000000000000000000001dc87a873176ce0918e62d637ce1b3d1187f5a670000000000000000000000003010d580f87c864c13f81c734f110d37d8e3360c000000000000000000000000666ff1163aba759d1eaafe046e002740637050a6000000000000000000000000b9b4080ee5e800e041e9d2983b027affc0a18ee5000000000000000000000000184583ebd702bae8fbc3d3bb91b7d5f7dff37cc9000000000000000000000000d65185f1d1bb39e2032f2e8098694c84e4dc2faa0000000000000000000000005ea169c1170609d3c293c81c68e6dd3a1c94be1b000000000000000000000000c106721fd730c7e249eb06d98c23770fad2960c000000000000000000000000051adbc10757512b235016a73f2800d6a2ee1153e000000000000000000000000ea764bd87153240a0b2bdea5d84aa51da25438ef000000000000000000000000595228604281feffc818c4ed3e969f73d83042bc000000000000000000000000e777b5fd3fd9e3c857d07f8640cd0215c1117bbc000000000000000000000000613fc42719284bdc058d41e592abec76ca75f6ba0000000000000000000000004671cb82243c8eee5c43690ea50331de0433c1cf0000000000000000000000009bada0378d056b9e2011b7282f4ff2582a86d868000000000000000000000000cb3ee425f8d841366a115ba4e8c1be7c0f9314c100000000000000000000000049059f3d8a9629a02d976b02e2710b8e0aea809a0000000000000000000000002b28bc4575529d7e321606a7417ad5367160e8b4000000000000000000000000b92bf70e8fbce2134ed02d91143d6869a056ecbc000000000000000000000000a276d4959c28546546b8fef6ba745149c76c9dff0000000000000000000000007acc1dff427c7b4022cd5bc2dd831d14b0320442000000000000000000000000d329b2c1c8de4f77f60d7dc2cc18c749479cb7ce0000000000000000000000003542982906984412ade912688a86d5610c9ab05b000000000000000000000000e713a305e3428be428483ef6cbbdc0a99258b456000000000000000000000000338fa44629465aa93f7b1974288224f566984eb6000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6", "blockNumber": "0x15fb2b1", "blockTimestamp": "0x688d2faf", "transactionHash": "0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99", "transactionIndex": "0xf7", "logIndex": "0x248", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xa891b32937863228a473d0225659eb4f05c434a880a3b2bdada293513d40d8000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6", "blockNumber": "0x15fb2b1", "blockTimestamp": "0x688d2faf", "transactionHash": "0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99", "transactionIndex": "0xf7", "logIndex": "0x249", "removed": false } ], "logsBloom": "0x00000000400000000000000000004000000000000000000000000000440000000000002000000000000000000000000040000000120000000000000000000000004000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000100000000000000000000100000020000000000000000000004000040000000000800000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000400000000000000000000000000004000", "type": "0x2", "transactionHash": "0x5741bc76b1e6f8b171253c030f2a2c9668948998daf941f3612fdc4a5d95eb99", "transactionIndex": "0xf7", "blockHash": "0xd1648045a13475c5f82df04bd9171f2d8833c5fc8db4dad3e6bab78daa3613d6", "blockNumber": "0x15fb2b1", "gasUsed": "0x46fa0", "effectiveGasPrice": "0x12f86c95", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754083249, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083348.json ================================================ { "transactions": [ { "hash": "0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa847353a10bb93a3681338debcc3999690cf08be347e69f6d66c18eda5ff67cf050c7a08475fc915d770e18346c637af4019ca92644e8980e384748ac49effd31ca24a202b6f9949518dab29c6fed3a9a8b5196389c212a77977c34a9edbab89e838ae45c85973344449e9de31c134e0297db1fd90fabf96880a93558398c8241b1c44cabe2ee4231013439a761d9448426eec70b9d81ecb36f52077dfee21ecd0116a6e3bf32708c60e9cf0eb87d02531c7bd03ac4b47e8dc2af3f74cadab9c80e01b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x67cfe", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001be4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001ac4679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a847353a10bb93a3681338debcc3999690cf08be347e69f6d66c18eda5ff67cf050c7a08475fc915d770e18346c637af4019ca92644e8980e384748ac49effd31ca24a202b6f9949518dab29c6fed3a9a8b5196389c212a77977c34a9edbab89e838ae45c85973344449e9de31c134e0297db1fd90fabf96880a93558398c8241b1c44cabe2ee4231013439a761d9448426eec70b9d81ecb36f52077dfee21ecd0116a6e3bf32708c60e9cf0eb87d02531c7bd03ac4b47e8dc2af3f74cadab9c80e01b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x27", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1353e3d", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7bc8", "0x1577048d1e7b0d18cc25304e485377c6153721a7da592dcb4651b2a20875e257" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f1676f98242784bdad37cf4efb43f9e8c3e319b8da17b6a220f748fbd6b3f6de1bea0000000000000000000000000000000000000000000000000000000012442e0700000000000000000000000000000000000000000000000000000000688d2fdf", "blockHash": "0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927", "blockNumber": "0x15fb2b5", "blockTimestamp": "0x688d2fdf", "transactionHash": "0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a", "transactionIndex": "0xd1", "logIndex": "0x297", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7bc8" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001aa400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000773594000000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000acc335dfc2389c30ba186648a74723efae1eb7db000000000000000000000000f4b5c3be7d9d3c96151354c16267b7f0c000730b000000000000000000000000cb71a8f2387fb6250c445939b61243f0be2f345a00000000000000000000000059a327060047aee4fec76f08f687d0fbae5d8821000000000000000000000000db39067dcf7defc9924ffe2858ec1cf3b807e69f0000000000000000000000007a5d92137382ec470b5311dc98feaf6b3765952c0000000000000000000000005f73a750ee8a89d4bcda67a5614638c0f76306540000000000000000000000005ba79df032756e4ebd62a7b9943f20ebe7c1011000000000000000000000000029cd744301308d23066169da6bb1d50ec6cb23b9000000000000000000000000eca535e24b33d41c76adac6454723eb50ae650ac000000000000000000000000f3e46d3de660132c97892dc301d8c9f559bd821b00000000000000000000000011c613bb14d81adf870f6b9fd9d8355ce353ca210000000000000000000000000d87f0a041e0f203a44e08d70b67725ec16db4550000000000000000000000009f793eddfd0af484cd9cf6205be5f7f14a7110a400000000000000000000000096a0030c410b9eec033676e9ad205b658036963a0000000000000000000000000e6c6653d2178b3da85d5a4088adf51bed0ea344000000000000000000000000a325651d5d18953a327297a30fbe3240513fcce2000000000000000000000000cb56ce76812eb20bc165b9275ec39857237597070000000000000000000000008adb5562647942886bfd2dfc215f717a3c019a6c000000000000000000000000f690cdbfb7546deedd96fa937526ddfc87a3003f000000000000000000000000e9bf5cc4b02213308bb47fa7d5c4228a34214e9700000000000000000000000096aee4744ad5163d948247c71f885e5b901cf85f0000000000000000000000009f6fade63aba9fe7fc246466051e86e44c1afe270000000000000000000000006d973c0d297a3b6ce0aaad2defa2120490ac81ad0000000000000000000000007ef38004cd4a990136b55ca791a02853e7df2182000000000000000000000000226924749df696840b09b7e588a70c13815c37e100000000000000000000000010103d79ac194eb0c4cc75742bda65c18dff335b00000000000000000000000040379bf7c24fd4c84d980c306f25043eb13fd222000000000000000000000000cf31f6d1811fd4d9664f7e299cd5691928f9712e0000000000000000000000005f9ef2dfe7f11c9929db93c38c7cd1aecb9373dc0000000000000000000000006a2360e5819125dbd2ec3fea504ebab838e5e1cf0000000000000000000000001288134ef88a2c6b042b08dcaa4889646f6ee8d400000000000000000000000055834b08368c0b9fbced31f69ec0b6e35aa8ce710000000000000000000000006ddc3eaf80d67abaf17d72ccff71e06f958cbf6700000000000000000000000095b4aaac2f5cfef54f5277147140cfdde15b8a36000000000000000000000000530c9c58549b4abfd74e24bd876ce983536001bb0000000000000000000000007fcc8be7cbfb799cdc2162f1c6b1b1c813a1fa5c000000000000000000000000a98405519353df4616cd34949f75c3a7f3d2da7b000000000000000000000000f418849308e455f856d9b22bfee29e0783bad9210000000000000000000000006858c3ed70e40279e60592f55c680243434b75d60000000000000000000000002700ae5779d5b5a549ad89149656af4394cc08ba0000000000000000000000000737e8e41a9f4f1c5c24f305733eecc40b00bbd8000000000000000000000000f6f2778d09efccd1f8e6423a22dbee8f9c75ddc5000000000000000000000000a5f225ddb3a93937f39dd2819463ff6e27218c10000000000000000000000000cc5b3ac632f8690b3c87ff921fc0196976736584000000000000000000000000d7798a6b17b00484183fabe01451dd25703cea9100000000000000000000000094eb34008b36a981a03b5b40df09f8a6d4c8d135000000000000000000000000eb09ff0239c135c1b2eda6d6dfbf5ac94276b651000000000000000000000000c47d9828ea3bf950680d7227a4d498c5a8785ddc000000000000000000000000bcbf79e6190579267f3b265c05ad9760905199f0000000000000000000000000492828bd90d503863c74fcb05765d207cfeebea50000000000000000000000002e96a32546ac73192fdb9bce2a95926c91f1f4e0000000000000000000000000ecec066ac76f02590dd7ff6201f556e6f079d257000000000000000000000000c462bf6cd158e3301dc1bcdb11f48107f0ea8c82000000000000000000000000e1eb555e3c7ebbcac3f92e0520a828bac8e90a1b00000000000000000000000094424ee28fb7923f2a14bf663461e71ca79b6cfb0000000000000000000000001795dac5061d0a2184e447860f9dfee1c6bd31b8000000000000000000000000f4af0314a06ea7376da5bdecc33f6f9800f1ae28000000000000000000000000ab548f756bc06637fcb88aaf5f6b393848bed60300000000000000000000000056597276ec74bede779f0e0ea8f4517c91c6e41d0000000000000000000000000dc2af2ac013d4082384c3403e4df531466236390000000000000000000000000bd5ddea382e8d8d2c1d62a565067f519d4b5d0d000000000000000000000000d8f6cfe5133d1f44fd39b7bbe314c6b50811d77b00000000000000000000000035e7444a2fa9719f21fc7037a12df517fa985f200000000000000000000000007836547f7109f79d0add56f3225262aebf1cbbc60000000000000000000000008a51ac0bf2f0bbfb137f6463f3ba385c4e971a28000000000000000000000000e4ab7e16ef9bda7f5fd2e39138a92c78f59f06ad000000000000000000000000a0680aaaa7fddb57a9f22a5c2bf18603d4c47f22000000000000000000000000ad8cfe9b7bb518234415eebb601d2c170866357b00000000000000000000000011e7c5caa6dd51649dba8667b2edbd0ef65ca5b900000000000000000000000013c5dc21be92d96c69b154eb1beb24dd8fe8d15c000000000000000000000000656a67fb456ae9a877c412ae70ec264edd2751f8000000000000000000000000eedbaae668f3f84ea398b4a3d3263eb34677608c000000000000000000000000aef0e114690203f5baa14ee7bd55954bdfb852a30000000000000000000000005bc69c6576b9a3ceede457637d43272f050e709e0000000000000000000000003c4b41cb2805c544cb2d7760f2b81b89f2d556320000000000000000000000008de80e5256555e49e8ec8e126a2a5cc459d76444000000000000000000000000a7a12a1d7000e40ecc18a62af456791b89cb2770000000000000000000000000ee23bfc7dff09e038be61f823dcd701b786a59b40000000000000000000000008bc62c0fd236e600db725c414ba220ee300089260000000000000000000000002f7a6a657832a868d5948c6e57833a834e044476000000000000000000000000d498f99bafd467c5d06556d433ba89e52686f74b0000000000000000000000002f95297410d1a7278a110280fcf8c0f38dd5fcfb0000000000000000000000001778d07c9f85ef0663e18c5bf8db042f70c3d08e000000000000000000000000a18ab38d0c8eace4869c43ff1e591d7eaffd3893000000000000000000000000ed363c3e7269f57b224f03f2b50bffa997942fdd000000000000000000000000cc1dbf73ffb6811a65661345e3d73e7b14e39b1b000000000000000000000000e83120006d095f311a7546c86be2879c7a6043500000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa000000000000000000000000a39ebc21130cc538161fb263bd34fe5cb1581b50000000000000000000000000c91af683bca743a05ce5c0feeda403039f6ea62a000000000000000000000000b5fa7a4025475780fa4d56e07755aee66301b92d000000000000000000000000bd58b1bd0effa1873c2f6aacf4398170454fd9bf000000000000000000000000afebeed0e4b14c0d3f949f55e5158308af5597930000000000000000000000008d308cfd4c2dcf79b6eac010e20c5d7563aadb3c0000000000000000000000006d76153c524483f422b6d53192be2e60130e80c5000000000000000000000000b5489ba8c9c0f307f84ce722d28dfbadff04e4150000000000000000000000004e26fb3a0ca360b0ab813fa82a6679a197b4e33300000000000000000000000083f6f80495f6057a3a2985893ffbed9b57863d8c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000385fe5686c0430000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003632baef24eec0000000000000000000000000000000000000000000000000003609ddca264dc0000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000002fbf9bd9c80000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002b56943a5830d00000000000000000000000000000000000000000000000000027d312621300000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c0000000000000000000000000000000000000000000000000000002666c7eae6e74000000000000000000000000000000000000000000000000000254e2dd1dfc0400000000000000000000000000000000000000000000000000022ab5cd48e3ee000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021c71c3b804bb000000000000000000000000000000000000000000000000000213047fe60800000000000000000000000000000000000000000000000000000206697785a0000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001ee031e74e3000000000000000000000000000000000000000000000000000001e9e05adebcc50000000000000000000000000000000000000000000000000001e65d080abf7f0000000000000000000000000000000000000000000000000001e4fe76e70f1d0000000000000000000000000000000000000000000000000001e4934cb0c1bf0000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001e1460701a34c0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001b57b087e0a410000000000000000000000000000000000000000000000000001a3bf8c06fe56000000000000000000000000000000000000000000000000000196a1cacafe3700000000000000000000000000000000000000000000000000019260eef10800000000000000000000000000000000000000000000000000000174d4c8c3d2c900000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927", "blockNumber": "0x15fb2b5", "blockTimestamp": "0x688d2fdf", "transactionHash": "0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a", "transactionIndex": "0xd1", "logIndex": "0x298", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x104c57253fd9565b78325c2320bdff26563160a84db0ba587697a89de8544faf0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927", "blockNumber": "0x15fb2b5", "blockTimestamp": "0x688d2fdf", "transactionHash": "0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a", "transactionIndex": "0xd1", "logIndex": "0x299", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000440000000000002040000000000000000000000000000000120000100000000000000000000000000000000000000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000200000000000000000000000000000000010000000000000000000000000000000100000020000000000000000000804001040000000000000000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000004000", "type": "0x2", "transactionHash": "0xb5cd64ff10c070e88ef64622c74d56a24af83f7709e764ea1ccdd9541587a55a", "transactionIndex": "0xd1", "blockHash": "0xcef6faf4fb105c6c853d506d65990827a9f4e1fe79df0cbcec34b00ff6065927", "blockNumber": "0x15fb2b5", "gasUsed": "0x46fc4", "effectiveGasPrice": "0x129b911f", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754083348, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/ArbitrumExecuteRecovery.s.sol/1/run-1754083422.json ================================================ { "transactions": [ { "hash": "0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "5000000000000000", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001904679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x087a7fa412e561b1c42307d0505184b8bb4652d5ac8572f0f919d91eef64c23a6455a131bef9cf149447417ff0026062113e2fad540da6661340be80226f39bc1c39b3bd0b8b8e47f500ce1d4ecaf386a97a49f82fe4c85092b3b3baf9ce6555587ebb82d40945dcdf04808349f60d4b6fdc1e4e421eb41a1b63cede456a2f92161cf518031319c15069b7a7b2e59d08299c446072d321bf33b063f913dc83f83010241c9321bbce79f7bc4bc24dea4e2af22185e7cb8344d62717bfc22dee8fc5551b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x5e9a9", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ba00000000000000000000000000000000000000000000000000000000000001a24174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001904679b6ded00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000001e84800000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3087a7fa412e561b1c42307d0505184b8bb4652d5ac8572f0f919d91eef64c23a6455a131bef9cf149447417ff0026062113e2fad540da6661340be80226f39bc1c39b3bd0b8b8e47f500ce1d4ecaf386a97a49f82fe4c85092b3b3baf9ce6555587ebb82d40945dcdf04808349f60d4b6fdc1e4e421eb41a1b63cede456a2f92161cf518031319c15069b7a7b2e59d08299c446072d321bf33b063f913dc83f83010241c9321bbce79f7bc4bc24dea4e2af22185e7cb8344d62717bfc22dee8fc5551b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x28", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x25f4117", "logs": [ { "address": "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a", "topics": [ "0x5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1", "0x00000000000000000000000000000000000000000000000000000000001f7bcb", "0xd23e4532e6159bef7c4717504270ab8f949d58c43fcb117f1fa96158e5680b1e" ], "data": "0x0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000000000000000000000000000000000000000000900000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167ecfd4b223ee5ce23e68cdce1a7394503f79efd4d19a6213909dc9cb13ca98d6200000000000000000000000000000000000000000000000000000000116b440700000000000000000000000000000000000000000000000000000000688d3057", "blockHash": "0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29", "blockNumber": "0x15fb2bf", "blockTimestamp": "0x688d3057", "transactionHash": "0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220", "transactionIndex": "0x13e", "logIndex": "0x589", "removed": false }, { "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f", "topics": [ "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b", "0x00000000000000000000000000000000000000000000000000000000001f7bcb" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000018e400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000017c4501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005d0000000000000000000000003f16dad4e21b353ede9bfedd29a4c1c07352e6e3000000000000000000000000617af82a0420bdb424299159f0f3b2cf7eb2a6b5000000000000000000000000cf432b0da6b77f0357e44d5dd5f041a2715ce33000000000000000000000000025f012acbcba769b3947552e5408d241b8aaddd80000000000000000000000007eb651755e4ae913ef7952f6f334e3d07e518b8a0000000000000000000000000bfca95e97b1557e9d4fdc9297a838ff54efb6d000000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000a987e980361f11e1f671e6f559009de958fdb08c0000000000000000000000003ba4f2d808020d4e12599b2dd0822478cdbe5fae000000000000000000000000d4f5bfe8efe9e8f9908c9e448d2cbea5fef9090500000000000000000000000048c818a1b48d1287e81bf4ee8eecd2e0f7c2a3e10000000000000000000000001e31f97b5b35da0932bcfa8406a1d10b171e579d000000000000000000000000fd27810e3be0a0431750a6be8f8dc6c156b9d74300000000000000000000000067101435d1c6fc8570c6f1e5094692771eb3a68c000000000000000000000000c84c03c6cd89ce484790df99a78aa4127d7369ad000000000000000000000000a61abd3797558b1cffabc6fc7ac0a2ada09a3db700000000000000000000000048368579c5e4c0d14d5dc38c37daf4bf2461fcb80000000000000000000000001a0a2244637a8fb376e8a129064066fcd7149506000000000000000000000000e7c65dbe91e4351cf18a1ad7e3e8a832b11447e6000000000000000000000000ebf5e91345343e110b06d0066cf83524f04475110000000000000000000000004f6bb5d34bc28181c4ecc873c2c3e26bfbdbeec9000000000000000000000000f9e96b3190e5ae39fa8ea07c1e85d79e6e2671ac0000000000000000000000001b2d1f0540b091d74e6da9906544aecc746dfb8c000000000000000000000000b8e97da197da0c19e6c93519fadd5d3e692cb924000000000000000000000000543948999989294cfb74cba5a7d9f501a84a12d7000000000000000000000000c7f2886d1ac8e743a3a45aaefffeea3ca21dff21000000000000000000000000b33ebb0f3507557738fec4ad87947d68981a7b4000000000000000000000000047113d8eb18ef6462662b53214134cad0cb0d9d9000000000000000000000000d26cba91cfe85545902e54d313f699aaf1d9cf2b000000000000000000000000f99bae1788861dbd31c1377b4d729f3035dcf6e2000000000000000000000000af0457138146e7d6c9c6f17685e33076b7a5a48e000000000000000000000000090097fccc2be12e19e4e65ac159cd76c16455ca0000000000000000000000001896c0abeb1f6cee4d78b5544e34cf0bdd336c450000000000000000000000008936a379cce9d9524b6a1e0d0a7e077c47df5c1a000000000000000000000000c0749b740cae8768b89547fedbc33eb45afc236c000000000000000000000000159e79bbf88661616936f8b3c4cf332efb41a20600000000000000000000000011bfdff29073dd89ced5a80ebe24a84b74928fcc000000000000000000000000e705b4c6fcddbe8d3b9f641138212f39f7a816fd0000000000000000000000004a3d2b1796c4cca1f3e4d37542d4773200e5474c000000000000000000000000d5454f9505f2374d5f1f1ed81528d6d26fae932200000000000000000000000089a443f05c5e7f1b0faf221db0868f87d63721c70000000000000000000000007183d6b75f7f706a93cfdf2978b10d1e85c800a00000000000000000000000001eab1f0f22c8421b7299240fa0d5fd75ef612624000000000000000000000000d7fcedb314053386c6a268d53a64c678e3c782b2000000000000000000000000f1a8238497c189fdd723308f13b5bc5689ef5e57000000000000000000000000f1e3d1ee3ea0f355291feafa95568d3f2f7cac58000000000000000000000000c0cd3824d1fb455b1871b0248248079db7e0c79e000000000000000000000000b066d85234a4a837f1045ef66b6f67aeb0a9dbf600000000000000000000000071193d5b9d465ef47e633ab7e04726e8c3b300000000000000000000000000008171d002fcde510ff998a13036076b16a8761876000000000000000000000000e5239c9b7a156b83384a82ccd147978bb4d30a56000000000000000000000000649229717e268cba9a0eecb5c671c83aad36cccf0000000000000000000000008e53709a3f0d16019fcc3253acec8ad0f3e9de1c000000000000000000000000885a5b39c72849fd3098653a5f941a8818ad2710000000000000000000000000dba62cba66bf4296208552d0495a0f05fed4214d0000000000000000000000005607ea3cdf7fc617d44fa7ce4bbd540ab6024b61000000000000000000000000df1e0be7c2c8ba46b9fd94edc12621501cc9409b00000000000000000000000041a5b533df057e141736a2f8701c9976b55fad6d00000000000000000000000054c5eb5d368e6aa7afdb169c18052576bbcac916000000000000000000000000efcbceb9c6728c62cb813d5fca9081b8c23ba57800000000000000000000000053db34bbbc682f05b423bb89934884e77cb88b1300000000000000000000000099584423abb4d430ed1cbb902c01268299ff25ee00000000000000000000000010d00f8fced0fa076e0b2885f26abf7a1abcd7b600000000000000000000000002a9db2e093067f4c00a2c583073375ba218f7bb000000000000000000000000c948268182b7b515b662e154ed47f42b9df2db1f000000000000000000000000e2265bd25235221852bd2dd59105cc45f302e2e0000000000000000000000000878f2cfd94d7ed4e0468865a72a8ae9a0e9590f60000000000000000000000005aeca0d8fd7b5ea72b95a4a2e8df63f7a3e76e16000000000000000000000000e544d807cf789ebce987da5431a4376d3376b872000000000000000000000000ed2bb379f793e3b8484bf7818e25b5aecfc252be0000000000000000000000000761282e8173a69e8fabd7876ac54060e4d1b661000000000000000000000000e635cd5b39774dbe60e1f1519fc54244971c00e40000000000000000000000008dbfa2109318704a0e6c1683bf39c4275ee7b7ce0000000000000000000000006d26571a216dc81dbbb423ed095e592ca6304e93000000000000000000000000c7445cd6cc8303d4a2da4f785f5c37856ff6fc36000000000000000000000000d28bd1ff29772f8887f4240bc1691d00e7cf9dc2000000000000000000000000f6040b4bbb2d768ec77b54edbf5c88ccf8dcadeb000000000000000000000000613ddc948ac426ae9ee663a56190b4b0a5f3247400000000000000000000000008584c687c8885a55342e22b82103068fcab6b04000000000000000000000000c3b4c774080e9133fc2829894def07f66999e7f7000000000000000000000000c4dd1ea8729132aaebe2d41aa5c28dfb1cb94504000000000000000000000000c10f42d279935f14d1bd1e944544ccb0f37ae039000000000000000000000000f51fc6c0cad84c2826aa425bf2bb8ea4a0126678000000000000000000000000b49b1f49a1a0fcb3c4db2d0f045ea86b54a4c42d000000000000000000000000e950d7e5066c0412d8416bac74c45a499ef8b5fd000000000000000000000000740478f00ea1c4fe7d7567e256b6dd0642a733e9000000000000000000000000a1980770d2277ce0ffa0ff2c2b7b19d59ac5f69e00000000000000000000000092e2c20965ccff25f398512efc37af3b8021dfb7000000000000000000000000a8e8b427766cb8febe4fb07b31c43ea86d19d49e0000000000000000000000005d9fc8c2fc0b617643fbfb7c5e27839261475d4e000000000000000000000000d5c01e60ee9a8f5e5968dd95a5d1133515233707000000000000000000000000490fc308d8dbcc067fa1f1fa2d755819824b4eb5000000000000000000000000539ec54b911eb291830167e337b82c8d41e643b3000000000000000000000000000000000000000000000000000000000000005d00000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000001614a871cb03600000000000000000000000000000000000000000000000000014ce96a75b0fd0000000000000000000000000000000000000000000000000001476b081e800000000000000000000000000000000000000000000000000000013e52b9abe00000000000000000000000000000000000000000000000000000013d50488404000000000000000000000000000000000000000000000000000001353a6b394000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010b75b70f06b10000000000000000000000000000000000000000000000000001029b10b208000000000000000000000000000000000000000000000000000000fd79e67fb8000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e5064893f36a0000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e2eb302619ad0000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b54c75e3b8000000000000000000000000000000000000000000000000000000ae872781fe360000000000000000000000000000000000000000000000000000aaaf18d2324d0000000000000000000000000000000000000000000000000000a7183f1e3d0000000000000000000000000000000000000000000000000000007421e5c980b300000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000060f607bdd3c900000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a4000000000000000000000000000000000000000000000000000000030704e9551de00000000000000000000000000000000000000000000000000003029d8880c4100000000000000000000000000000000000000000000000000001ebf37f08e200000000000000000000000000000000000000000000000000000181892a528bb000000000000000000000000000000000000000000000000000016e690a4ab40000000000000000000000000000000000000000000000000000015d3ef798000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000010938190fe00000000000000000000000000000000000000000000000000000009b2a06249dd000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a00000000000000000000000000000000000000000000000000000000492b951ea90000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000", "blockHash": "0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29", "blockNumber": "0x15fb2bf", "blockTimestamp": "0x688d3057", "transactionHash": "0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220", "transactionIndex": "0x13e", "logIndex": "0x58a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x83491abd5f5492a5c1249feef6d1197c4a9f053d0d6ed7e4647685d99d5f7c190000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29", "blockNumber": "0x15fb2bf", "blockTimestamp": "0x688d3057", "transactionHash": "0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220", "transactionIndex": "0x13e", "logIndex": "0x58b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000440000000000002000000000000000000000000000000000120000000000000000080000000000000400000002000000000000000000000000000000008000000000002000000000400000000000000000000000000000000000000000000000080000000000000000000200000000040000000000000000000000000000000000000000100000020000000000000000000004000040000000000000000000000000008000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000000000008000000000000000000004000", "type": "0x2", "transactionHash": "0xee49aa24902701a95b48a4bb51aa2716f9664c3109adfe83009ed7e88b488220", "transactionIndex": "0x13e", "blockHash": "0x29f22ba9c4fc29c6766e206dc57ee3c60e882c0dfb8446338355c2352cffbf29", "blockNumber": "0x15fb2bf", "gasUsed": "0x447e9", "effectiveGasPrice": "0x1195f243", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754083422, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/10/run-1753908210.json ================================================ { "transactions": [ { "hash": "0x86cdbe8fa5bd7ce78b76697caed0bdba6920d53c013f89f2546a2b8d7b8e512b", "transactionType": "CREATE", "contractName": "Recovery", "contractAddress": "0xd6cd8a71ece6d009220f1f9a7055749edf13c140", "function": null, "arguments": [ "0x25646667cD30e52c0b458bAAcCB9fAdA7046f167" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0x1323b9", "value": "0x0", "input": "0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "nonce": "0x3", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x9012ac", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x86cdbe8fa5bd7ce78b76697caed0bdba6920d53c013f89f2546a2b8d7b8e512b", "transactionIndex": "0x16", "blockHash": "0x9f6b3dca1dcaf3445cd2c6a4703dcc71cf83ec163968fceefbe6f73fdedbbf8b", "blockNumber": "0x84b551c", "gasUsed": "0xeba1d", "effectiveGasPrice": "0x4f0a", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xd6cd8a71ece6d009220f1f9a7055749edf13c140", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x5913831a11", "l1GasPrice": "0x8fa6e482", "l1GasUsed": "0x76a1", "operatorFeeConstant": "0x0", "operatorFeeScalar": "0x0" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1753908210, "chain": 10, "commit": "51b152e" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/42161/run-1753908149.json ================================================ { "transactions": [ { "hash": "0xcba121ca6751fe42f3763e77eac7717f56ffe46a71ee3769a431093e3aab1daf", "transactionType": "CREATE", "contractName": "Recovery", "contractAddress": "0xb2a7c27935bd4f63f6362d90eff46a4bec5d61e0", "function": null, "arguments": [ "0x25646667cD30e52c0b458bAAcCB9fAdA7046f167" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0x161890", "value": "0x0", "input": "0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "nonce": "0x1", "chainId": "0xa4b1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x115cf1", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xcba121ca6751fe42f3763e77eac7717f56ffe46a71ee3769a431093e3aab1daf", "transactionIndex": "0x2", "blockHash": "0x7e1da07ec7eb02398965ddfad9e6cf9cbffb375a4483fdde23c12a82803b3ab0", "blockNumber": "0x15a6fa37", "gasUsed": "0x109d5b", "effectiveGasPrice": "0x989680", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xb2a7c27935bd4f63f6362d90eff46a4bec5d61e0", "gasUsedForL1": "0x1e33e", "l1BlockNumber": "0x15f7a17", "timeboosted": false } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1753908149, "chain": 42161, "commit": "51b152e" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/DeployRecoveryImplementation.s.sol/8453/run-1753908081.json ================================================ { "transactions": [ { "hash": "0xf27dfa53bc859b2a8e69051b03ce669e2d1e7ddcaa7eed75a0bc938566dafd80", "transactionType": "CREATE", "contractName": "Recovery", "contractAddress": "0xd6cd8a71ece6d009220f1f9a7055749edf13c140", "function": null, "arguments": [ "0x25646667cD30e52c0b458bAAcCB9fAdA7046f167" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0x1323b9", "value": "0x0", "input": "0x60c06040523060805234801561001457600080fd5b5060405161115e38038061115e83398101604081905261003391610044565b6001600160a01b031660a052610074565b60006020828403121561005657600080fd5b81516001600160a01b038116811461006d57600080fd5b9392505050565b60805160a05161109c6100c26000396000818160710152818161054d015261077a01526000818161014c0152818161020101528181610356015281816104060152610690015261109c6000f3fe60806040526004361061005a5760003560e01c80634f1ef286116100435780634f1ef286146100df578063501d976c146100f257806352d1902d1461011257600080fd5b8063117803e31461005f5780633659cfe6146100bd575b600080fd5b34801561006b57600080fd5b506100937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100c957600080fd5b506100dd6100d8366004610d1d565b610135565b005b6100dd6100ed366004610d67565b61033f565b3480156100fe57600080fd5b506100dd61010d366004610e93565b610535565b34801561011e57600080fd5b50610127610676565b6040519081526020016100b4565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036101ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166102747f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61032081610762565b6040805160008082526020820190925261033c918391906107d1565b50565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610404576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016101f6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104797f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016101f6565b61052582610762565b610531828260016107d1565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146105a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561066f5760008585838181106105c3576105c3610eff565b90506020020160208101906105d89190610d1d565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061060057610600610eff565b9050602002013560405160006040518083038185875af1925050503d8060008114610647576040519150601f19603f3d011682016040523d82523d6000602084013e61064c565b606091505b505090508061065b575061065d565b505b8061066781610f2e565b9150506105a7565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016101f6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461033c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561080957610804836109d5565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561088e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261088b91810190610f8d565b60015b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016101f6565b50610804838383610adf565b73ffffffffffffffffffffffffffffffffffffffff81163b610a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016101f6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ae883610b0a565b600082511180610af55750805b1561080457610b048383610b57565b50505050565b610b13816109d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610b7c838360405180606001604052806027815260200161104060279139610b83565b9392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610bad9190610fd2565b600060405180830381855af49150503d8060008114610be8576040519150601f19603f3d011682016040523d82523d6000602084013e610bed565b606091505b5091509150610bfe86838387610c08565b9695505050505050565b60608315610c9e578251600003610c975773ffffffffffffffffffffffffffffffffffffffff85163b610c97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f6565b5081610ca8565b610ca88383610cb0565b949350505050565b815115610cc05781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f69190610fee565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d1857600080fd5b919050565b600060208284031215610d2f57600080fd5b610b7c82610cf4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215610d7a57600080fd5b610d8383610cf4565b9150602083013567ffffffffffffffff80821115610da057600080fd5b818501915085601f830112610db457600080fd5b813581811115610dc657610dc6610d38565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610e0c57610e0c610d38565b81604052828152886020848701011115610e2557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008083601f840112610e5957600080fd5b50813567ffffffffffffffff811115610e7157600080fd5b6020830191508360208260051b8501011115610e8c57600080fd5b9250929050565b60008060008060408587031215610ea957600080fd5b843567ffffffffffffffff80821115610ec157600080fd5b610ecd88838901610e47565b90965094506020870135915080821115610ee657600080fd5b50610ef387828801610e47565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610f86577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b600060208284031215610f9f57600080fd5b5051919050565b60005b83811015610fc1578181015183820152602001610fa9565b83811115610b045750506000910152565b60008251610fe4818460208701610fa6565b9190910192915050565b602081526000825180602084015261100d816040850160208701610fa6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004f2c6d0973c106f68fa09ad30e6cab7fcbf96f131d84b00564e47edb277797264736f6c634300080f003300000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "nonce": "0x3", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2054c74", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf27dfa53bc859b2a8e69051b03ce669e2d1e7ddcaa7eed75a0bc938566dafd80", "transactionIndex": "0x60", "blockHash": "0x7268eb50b25155d23b1ccffcacb39cf56c4c407b4e7b461efc217e1c8a54c2fe", "blockNumber": "0x2001347", "gasUsed": "0xeba1d", "effectiveGasPrice": "0x3a0cd8", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xd6cd8a71ece6d009220f1f9a7055749edf13c140", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x25c751c659", "l1GasPrice": "0x8c2a3e6c", "l1GasUsed": "0x76c9" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1753908081, "chain": 8453, "commit": "51b152e" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754081221.json ================================================ { "transactions": [ { "hash": "0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x5a550913e8d9d08e26cabd197dfff6345fb20c862f4acd76941526a95ca8a011555b79d8b11e44925af6c2fa417f1e57b0252df2e487ab9d4e0123b2a7ee695e1bf63430965cacb2bb40f7888d2e633b7729eeeafacd08652220daff6b2660f97926ef760e253967676e1ceb3e68a5149211acafdb53ff75f58e73a3deb73806071cd10f82e16738ccbbdaee2a6875d29f9fec2ef3bfc7bd2c13514ebef8e1ff768a6a80dc8b23e13344442a8fdd4fc3bb139e79a85abee8d13594f9a7b1d55d428c1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3dd1", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c35a550913e8d9d08e26cabd197dfff6345fb20c862f4acd76941526a95ca8a011555b79d8b11e44925af6c2fa417f1e57b0252df2e487ab9d4e0123b2a7ee695e1bf63430965cacb2bb40f7888d2e633b7729eeeafacd08652220daff6b2660f97926ef760e253967676e1ceb3e68a5149211acafdb53ff75f58e73a3deb73806071cd10f82e16738ccbbdaee2a6875d29f9fec2ef3bfc7bd2c13514ebef8e1ff768a6a80dc8b23e13344442a8fdd4fc3bb139e79a85abee8d13594f9a7b1d55d428c1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1f", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb31497", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001696a911cb799608b1ccbfd84b21803dd615be6a000000000000000000000000b000524c5de61cb27c01567cf82e6cdcd252d809000000000000000000000000201b5abfd44a8f9b75f0fe1bae74cdac7675e54b000000000000000000000000fa89ec40699bbfd749c4eb6643dc2b22ff0e2aa600000000000000000000000015ba3fca21f8b20f145e1536a433a65bfcda7ad6000000000000000000000000455405eaff9d4391bdb1ffd3cdd09953109a2aca000000000000000000000000329c8bec2e66633caf5289daf6a08a53e55308f900000000000000000000000005b5f0f2c0107ee203132903a5dac30e587e7ad2000000000000000000000000dcd4d39c93990f366e601c3a083e90146d5d13d800000000000000000000000007cbc5bffee7b95cf72526df4da2e32ac9fd242e000000000000000000000000366b6be122c14591010810cb5539410e076924a5000000000000000000000000eada0167a1e12f43f53a39af051932e73ded6868000000000000000000000000a40fed6138769b66de011ff72d9c9de53e6572f100000000000000000000000097fa3a7c5caedb67ad4bf5f233c34b28f9ac590d0000000000000000000000005709577f162ea5b815104961ff955d9549ba5047000000000000000000000000fb4e07d3bb212a873816bc894f6c24ce84465a54000000000000000000000000ee4d973a7972935b0d613dc70f9e666a5e45a7ba0000000000000000000000008a82d146b24d224858f930566cba1b108589f94e00000000000000000000000016ea94d9e9bc03960355c57be2b68a5dc0a4b27f0000000000000000000000004e1df28e4473673854d90fa847af1c90ea6606a90000000000000000000000003c31e46acb52f230457c379249a04b1879e86f85000000000000000000000000af7ad8c63072c848d48abd44a3301b631ddfefcc000000000000000000000000f66913fb65b77fb22cbad5864be4b56ea4f8c693000000000000000000000000a654b921e43662422f86745dd2b14df8e9e4d595000000000000000000000000def28f5c5d71e0a0dbf34652d637762cdbc5d79e0000000000000000000000005e518d06bdf9d0ff04baef4448996b583e13e9fe000000000000000000000000107308d558f116f83299d895c78e3de69fc6e8090000000000000000000000006f63e5830a3d72636f2aa35e6cc95c84c4240f820000000000000000000000003af0f1966186e9613d348b8eec103bbb5d271f4a000000000000000000000000519fa95765135191a7ebcb83062c55454d7f41040000000000000000000000005011739d37ef1939374a012573ab85b6bcea1cff0000000000000000000000004068c1fdeb99be166f4d43b14819b437344230f6000000000000000000000000e3dc66bf249ed8b6dec7a7a8c6f49fd78dcaf16e00000000000000000000000086c24fbeb07b96392ad88daee44f98c2d4c590c3000000000000000000000000befc15f65274bbb680976513b6e74bf0181e46e4000000000000000000000000b283572bb0c56e1252c5acce6ee4686da9689b2c00000000000000000000000021d83329ddb737e39ec7eb710eec84b3e0ff39c00000000000000000000000007b284ead6f87c4084f7a91bfde4138ec72f354cf000000000000000000000000005b41103d59ec8f966ea98229ba9409479e4ea00000000000000000000000003a2ed3fcb00814e325eadbaba88bb903047c3fed00000000000000000000000052652cdd2a98030bae46c8ac782150b2436c51e9000000000000000000000000d56de73036ca986fabbc144da080896ef274de1a0000000000000000000000004657c4f5073c1ec77f52ae2671bb238fd21404a3000000000000000000000000438aba433d029f8576078f26d543037daf2222220000000000000000000000001a7e2ca67acc18cfd1ef492671bb5303a2c012660000000000000000000000007f1be0566712941985b71d5fa625f5a5ea2add49000000000000000000000000d728489711d19410320617cbbd97da8f10831ddd00000000000000000000000017254d13fb3bd85009b1b83426efeb7ff39249fa00000000000000000000000047782f8494c090bf5faf0e79d8b6cc0b8e774352000000000000000000000000f68d7facf1e78ae371480547da465c5a0a42fd2b0000000000000000000000003724cf4018a20c6fe227f7c710f97b5999aa1f6b0000000000000000000000000e67ade795cd2a6918d273b3f59487aa180ad63d00000000000000000000000009a09c3d229175859ec3a75e919767df04612354000000000000000000000000ffa0a4e79f7297c99085a0c33224f3ad92c62f5d00000000000000000000000073999ec31f59499fd442e74380612bc376940abd00000000000000000000000018b0a909c5fb8034822e0867431cdc957dc1cc1f0000000000000000000000003dd86905fd5e25f3c20338ccefeaafa94611124e000000000000000000000000236ddcbec59db65e1641c11adab444bf159ae3b5000000000000000000000000107e0c10f250824fb83380c65bc8e87baa0e479000000000000000000000000096440ab4988dfe0dcb4c288ac10bf1ead6fe1d1d0000000000000000000000001eb8f93282e7bf3b312e0a325a2d920697dbb68f000000000000000000000000670d42465567ae7e449145cbc4f5de9d82dff82700000000000000000000000018eb2a28acb2170cb2f95d904889ef8d255e8d890000000000000000000000008fc8f5ee2e09eb75c8786bec8e4bb505c3d98b300000000000000000000000005b16daa1f7d5c52994f46cc0cb2f8fe240cf093b000000000000000000000000b0c07fc40fda8a7cdf8a7683f66347ff5d6efe17000000000000000000000000f6af03657d52a0df99d588aec0d25400ceee932900000000000000000000000042fb1432fce71c7ad74bdfa362661d3502407e8f0000000000000000000000004658a8e637a7401f25b489fa27c96cde239d134c000000000000000000000000f2f9a2738a2f5340cca5fab5c2fdeba69e0d437c000000000000000000000000b8db687237cf16325758382431299f272072737e000000000000000000000000599a7c81ab278a329c20c1919b4d6f519ceb053a000000000000000000000000fdd80311e3bba62cc0999d7f3a9d39dcfb9527bb000000000000000000000000b66f681b57349ac241a97924f9f00cdf66512165000000000000000000000000427a2f81ff4a400175e74925b166d49312fb9261000000000000000000000000d24b891825af7a1c4ae730db222a6d6ada9ec275000000000000000000000000a7a90d5a67095a52073e3a71097ecb7d8d2af009000000000000000000000000dceef88c8fe72fc73fd21924606f878c1a9e4c81000000000000000000000000a7b7f1976dc6889c454e24bb7ee41c5c41b347640000000000000000000000001aa2b709e2f6308b4822a2e46f82f0bde2879bcf00000000000000000000000093b9830e92e8e84e84f9bfb8f33a70af37b478540000000000000000000000000510b337b4b8f96dd0ac7423a8fe3eabaac6573e000000000000000000000000310e8c519b3d8f2e48df16dd5eff5a0eb4070bed00000000000000000000000098c251693513cb5e0d435c49f71a23094dcc6a6a000000000000000000000000eb8b8e35faf85e53ed98f2271874b191f62967370000000000000000000000002143ced53f12b1a244e6665769e0d3a0637674790000000000000000000000008ab9829ccc7704d8d453642a9928bdb4d98fddd40000000000000000000000004e28f2bae5b7cab93836049e092419db1b7b8116000000000000000000000000ac57e69a55e2f3ca34ebb079e3f4a7088f36d7270000000000000000000000003bda4f7dce1121210163169bdbd75dd39c5a217300000000000000000000000065f3019a75931101189ad7399847b2821a193e980000000000000000000000009bb6000999a16c89ead0b7d1b1c08e644734597f000000000000000000000000b0920b2153650c5871056b8a931ed5ba2a2e9b150000000000000000000000000eb9281b7985e295a65682545ba1152a52c7d4fb00000000000000000000000077c612a12169d247dbe508a0bce17353365ab47f00000000000000000000000031594337cf57916ea3f9ac0e9f2aabf0c687e11d000000000000000000000000c60003909d9a4895c40d90acc86409e79e4c1057000000000000000000000000a4516aee956f1fe7e43a8f21088e72bd369d6bf900000000000000000000000029ca71a8f2192cffc5fc0ed82fb893bd2f5db5e700000000000000000000000028f4310aaf879179221e519a97960e95428817120000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000a7558028c82fe40000000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000f43967fe1b0b4000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d7621dc582100000000000000000000000000000000000000000000000000000d529ae9e86000000000000000000000000000000000000000000000000000000c7d713b49da00000000000000000000000000000000000000000000000000000c6e60f95c0100000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000009ac4e2d940da00000000000000000000000000000000000000000000000000009935f581f0500000000000000000000000000000000000000000000000000000928ca80cfc200000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000007e7f77e5df600000000000000000000000000000000000000000000000000000785ff47eb9ea506000000000000000000000000000000000000000000000000076cb3aa5ad5800000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000000000006f00066c337c00000000000000000000000000000000000000000000000000006ccbf48ea05935c0000000000000000000000000000000000000000000000000625da27237f800000000000000000000000000000000000000000000000000005d423c655aa000000000000000000000000000000000000000000000000000004fefa17b72400000000000000000000000000000000000000000000000000000494654067e10000000000000000000000000000000000000000000000000000044587c7c77ae7c30000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000004064976a8dd000000000000000000000000000000000000000000000000000003cfe66d70222800000000000000000000000000000000000000000000000000039499a2100d0000000000000000000000000000000000000000000000000000032d92496590800000000000000000000000000000000000000000000000000003153e709c0c0400000000000000000000000000000000000000000000000000030d98d59a96000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000000000000000000000000256cdc76e0aa9f6000000000000000000000000000000000000000000000000023779280a30b93600000000000000000000000000000000000000000000000001e6e06ad9bedbd000000000000000000000000000000000000000000000000001ddd709924a400000000000000000000000000000000000000000000000000001d882cb9b20800000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000001aa535d3d0c000000000000000000000000000000000000000000000000000001885de08d923ea00000000000000000000000000000000000000000000000000186cc6acd4b000000000000000000000000000000000000000000000000000001820bb6f5e6c3f6000000000000000000000000000000000000000000000000017c23eedef78000000000000000000000000000000000000000000000000000016a3382ff3be62a000000000000000000000000000000000000000000000000016788dd23450000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000015f2a3b10e01c00000000000000000000000000000000000000000000000000015ecc6a95c4500000000000000000000000000000000000000000000000000001560c54b5af6000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000013fbe85edc9000000000000000000000000000000000000000000000000000001235290c79500000000000000000000000000000000000000000000000000000110fac58a3c3000000000000000000000000000000000000000000000000000010e0198eaee000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000fb88399219000000000000000000000000000000000000000000000000000000f8b0a10e47000000000000000000000000000000000000000000000000000000ee08251ff3800000000000000000000000000000000000000000000000000000da7dec95afc00000000000000000000000000000000000000000000000000000d7c19cfd35a00000000000000000000000000000000000000000000000000000d362ef4c22c00000000000000000000000000000000000000000000000000000ce0eb154f9000000000000000000000000000000000000000000000000000000c824b8b62371b900000000000000000000000000000000000000000000000000c67d780f99e00000000000000000000000000000000000000000000000000000c3663566a5800000000000000000000000000000000000000000000000000000b202925d4493b000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000ae153d89fe800000000000000000000000000000000000000000000000000000a2409f7ee46000000000000000000000000000000000000000000000000000009fdf42f6e48000000000000000000000000000000000000000000000000000009d52e1df101a92000000000000000000000000000000000000000000000000009c51c4521e000000000000000000000000000000000000000000000000000000991f38bdd1c0000000000000000000000000000000000000000000000000000092aa5ea0bacc000000000000000000000000000000000000000000000000000090583ebfde1844000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008a8e4b1a3d8000000000000000000000000000000000000000000000000000008a8e4b1a3d800000000000000000000000000000000000000000", "blockHash": "0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95", "blockNumber": "0x15fb209", "blockTimestamp": "0x688d27c3", "transactionHash": "0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04", "transactionIndex": "0x7a", "logIndex": "0x127", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x293ec703c572f3e057b81391d5b485c91c7afc8aeb5657e32a90344b3397c0aa0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95", "blockNumber": "0x15fb209", "blockTimestamp": "0x688d27c3", "transactionHash": "0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04", "transactionIndex": "0x7a", "logIndex": "0x128", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x55783ffc82abe4227d68c3e53916058f122886f2bb86822c2c4d3bbbf0f8ef04", "transactionIndex": "0x7a", "blockHash": "0x850acdb7c59d58e8bd278270ec7e70efb22c5d9fe764ef108c53c423fdf82f95", "blockNumber": "0x15fb209", "gasUsed": "0x20c107", "effectiveGasPrice": "0x2233109a", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754081221, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754081917.json ================================================ { "transactions": [ { "hash": "0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xe36e61cd8cb2b4fddbc008939135c8b7f1ae9122a4e4c6923beb5e505f97fb7d0d0505efaae576cd7df6829aa2bf61c2c91f2a40401525ea181ec4f74cf0d2301bbf4b48c348847782efb4fc17d54a419f15eda46d44bfe4d4e89a9edb940a8ed305baad1260c7284a4132369f0ed316eec2ae06258c273980debf0fd7227a058f1c0f0b749a7dc0b362562b364eda34c617b72684eb64cec1a6f194fc058920b1892d3d4cda16429e34eaf5f8cf54eef98795d7757cff85f9be518ee3b189f380f71c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3aa0", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e36e61cd8cb2b4fddbc008939135c8b7f1ae9122a4e4c6923beb5e505f97fb7d0d0505efaae576cd7df6829aa2bf61c2c91f2a40401525ea181ec4f74cf0d2301bbf4b48c348847782efb4fc17d54a419f15eda46d44bfe4d4e89a9edb940a8ed305baad1260c7284a4132369f0ed316eec2ae06258c273980debf0fd7227a058f1c0f0b749a7dc0b362562b364eda34c617b72684eb64cec1a6f194fc058920b1892d3d4cda16429e34eaf5f8cf54eef98795d7757cff85f9be518ee3b189f380f71c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x20", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd0764f", "logs": [ { "address": "0xbeb5fc579115071764c7423a4f12edde41f106ed", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000088f5d29b88664371401b6786a01db137fc5fca61000000000000000000000000623859f6da03a9bd9587acf4ba53863ce2c9e32500000000000000000000000012f787d5833b8b65f9637a5d4bbb163b7db531e1000000000000000000000000ee49c8eddab1707b32db9c9263b85f9a38609d9c000000000000000000000000de55a6f7e8fe05ae1264577705b4d43fb7e49e8d00000000000000000000000084356ffcaeb364f4e5bcbe71862a67c97842a16b000000000000000000000000bc12a9b7da3cefe597c9e3f265b54342e22e2e64000000000000000000000000ddb1f53efd461ec0b71a967f08bfc2d71a2404dc000000000000000000000000c08fa3d9a67c74a7478964f470999b84af35d61900000000000000000000000077e15a151754ca638b89dc2fd5761de5c776bdf500000000000000000000000082dd4600e7ef8d1fe53fc1906b18fc511fa861ef0000000000000000000000008e70e6a8cc1783e01a02fab76e0371251f65cfb20000000000000000000000008aa7de0e5c4fe75b0e6f77fe62ad037aed05fc9f000000000000000000000000bfe30abdec1c649ac8b7fc4b79d7c844722430d80000000000000000000000002e75e9ceb9ed13e843628a5b277824e06e28c36000000000000000000000000044ebdb20908b124ae447b986b42e09c7ff65fee500000000000000000000000045d0765086c202fee211d55b6c010b51e978e379000000000000000000000000673b8f5ed1520ec242d2e633defe45efa360bdc5000000000000000000000000d2881cda4aca733e5ba73b75196913e4a1c9d91600000000000000000000000079dc78f23e2ec66aabdb98b584005b8305b09f27000000000000000000000000a0b0e61e3eafee16b8fa30d97bc49f4151070b4300000000000000000000000088f96204a47c3bd173b672a49f010149c4bd802c000000000000000000000000c1ff5cedc90ecf6bf2888edc450975d57eb0d27e000000000000000000000000b7630685fd05c6c25ac7508be15d67309cd457c0000000000000000000000000fa18b9047ad29f8b66b556da8e97af1b6a57e39c000000000000000000000000c1e6158ad96dae1ed7e3a1d6358b1ed806ecd3240000000000000000000000003d5f396fed79ed47d52e4f76454d500971c662a6000000000000000000000000786562bfdf880256a1a1e315bb0c48424b292fb10000000000000000000000001d77d267830d91610e2bb5876013d7dccbc31186000000000000000000000000f41084c75a910abf87a5c669f4b5481621a21720000000000000000000000000b8d738d819e43283257a8768e51850da0469493b0000000000000000000000008c6fc47b64b15f1aa0bb32cf86237717cdbb5215000000000000000000000000cc439258055449a8aeeff7435d04f211fa665abf00000000000000000000000051cd590315a39750775202c73a5c6ba70d684ea6000000000000000000000000265ef3e30fe964314a2b6ae6bfac32146ec7342400000000000000000000000093059a1683f5d250e739811ae783b06a6e89eeb2000000000000000000000000427c15132273e795dc7bc46aa98e53898f8a2f690000000000000000000000006b071d291038c4c953e7777a0d465a380d17b2f4000000000000000000000000e36052d993875a8bb256d5a651802d196b922a52000000000000000000000000886cf30e5f7c6f69ef1be1173a53a6dd04e769660000000000000000000000005d53deebf69c3c8267231e30d69cb26e05e69caa00000000000000000000000063b64520d7eef6e3fcdf2c2f8ffb022540bf9d51000000000000000000000000b241df251a541de2ac21e857a350692a909f1a78000000000000000000000000a013880084168c4c57dd49a10f61a8efa009a10d000000000000000000000000d21856efedaba0e60a3df7e8bfa89adeffc6433e000000000000000000000000190cb8ac64c5ff16419ae7101b49803b4f16f239000000000000000000000000cd526132dba5fe62a0e383c6342b86f06591988e000000000000000000000000d171713685a0162b78434a2abe9b5af7ffc22a220000000000000000000000006361cac2bd1391af556de4f24b76e21de71d75400000000000000000000000002c0df81c97f719fa2d3015b86f7ec1773c41166b000000000000000000000000631478c1bd538902ba285bc1fc204577f8d12ef2000000000000000000000000701a97be29a223b21c946fcc62c2afafdca53376000000000000000000000000f3f78c87e63c73d9f2ff96d6d45678730c29cb84000000000000000000000000c8cf6b03c2aa80de2579df02aa3bed1e716e16800000000000000000000000002917814b19ea662dcb781531e749bb094841ae95000000000000000000000000728b0bfc1f3979d59333b1d7da47da28d2d68f51000000000000000000000000a041e8fcfeb517d9682807b5c7822655e6d3da2000000000000000000000000075ac15ef1951d82e28a7eaa336444a9feb0d8080000000000000000000000000f7368d3022a5ed5d882816cb7f2f34e2c683e962000000000000000000000000bb5547f8b2cc4ff8d22fc5da655b97e8281abe8b000000000000000000000000354bafd73ae7fa85e8dd3d9fbf58e176ac893f5d000000000000000000000000439be4bd928c390ce81481a60c919f7c5955098f0000000000000000000000008f5457f7776191bc2381e6ce63c10c9a87c61abf000000000000000000000000e7869b527c806d414597e814ce579be727e5610c0000000000000000000000009e8d819703c20d73690ae7584ae60c2318beb7cd000000000000000000000000217b121d91b7211f3ab2d421aabe25615297dcc6000000000000000000000000029f781a6218d49b547ac058d0b045a07905e0890000000000000000000000004b5fb113a712fd3ab176bb530a6779f42f6275da00000000000000000000000009aa0efaf1b2cff22869dd0dc2f0ebac78b6a1c90000000000000000000000000b9effc1c884344e6d4d0da12e6d77c03d094b69000000000000000000000000245c817bb7c5648cdaddc96cee166173094391f6000000000000000000000000a71bb7f374f1c42c3497e53512d247be9edb78b4000000000000000000000000ef194d117fda93fe6ad2aedbf72a948ab65e80540000000000000000000000000e86e604ce320e0a227b748d62c5ec4523825e3f00000000000000000000000030981e13e59b0fa3c07c42faad64d8ec15c09342000000000000000000000000ea07b4680eea83ced3c8b1dde0862980253dc731000000000000000000000000cca65ea3449566d7cc2f6589ba126adc0c151eb700000000000000000000000031bf5793976c10aed933787896c394e158271fdf000000000000000000000000670c82562f740b8e7e0d9dc19358072271672509000000000000000000000000c7177a8921f130078cee5ab430e336bcff303924000000000000000000000000065c8299c3c42b448d8ed3d297837370cbdec04200000000000000000000000073b3569042b1bb104f7fc74ee30925d62534d0650000000000000000000000009c64605387a115cd2f382ea87a30c5188da1cf1b0000000000000000000000009631288f4050f7cfbf77b77f8540decf6cfc7012000000000000000000000000341ebe93e30ee11ae4e3ea4bf1492cdbf44f065a000000000000000000000000efd36d022c0099579715382d5bc929f16e14a984000000000000000000000000853793e1322b8b5f7ac5b1106013e746606459a9000000000000000000000000854f2922c387c0d11698378f46dab496433e449a00000000000000000000000062f89eaf4a53f81bece4ce9458c8a5bb902a1c87000000000000000000000000be2d5c4b0a80a2e9960e0969f3510b5c1efbde7200000000000000000000000091eaf9003bb447fe0bc616821f9d728eb256258c00000000000000000000000096ee49d020655ae66d5c678a238e48c44e5f65dd000000000000000000000000a27eacdcf251dbe4dfaf9b0865be8cb0195db0f50000000000000000000000005d2e73dd5a395384961d60982a64cea4aea2dcfe000000000000000000000000d21895ecac23f5f3e9fa67180ca7e1fec3223140000000000000000000000000aa89ca05646e598210a9478db27ef5e8c803a0bf000000000000000000000000aae2040f30725e3ba320dc4de4a11e5979f21f13000000000000000000000000c4130e106837730560b534d64d488a502096fded0000000000000000000000008c88244d23f96336439eb68c21326e29013b5b410000000000000000000000009b25e5fb1c608a6be07a8bdd354d6f09eb94a0cd00000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000077cb0644052c00000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000429d069189e000000000000000000000000000000000000000000000000000002e62935a969f86a000000000000000000000000000000000000000000000000028a2587c9e58000000000000000000000000000000000000000000000000000013fbe85edc90000000000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000dfbd05b0a3526d00000000000000000000000000000000000000000000000000d4628c598cc40000000000000000000000000000000000000000000000000000bf6b93147f800000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000007c58508723800000000000000000000000000000000000000000000000000000755cab2b6e74f4000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000005ea6e64d78d4d80000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004380663abb80000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001ac504a211a6cc000000000000000000000000000000000000000000000000001aa535d3d0c0000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d8000000000000000000000000000000000000000000000000000001550f7dca700000000000000000000000000000000000000000000000000000014401eab3840000000000000000000000000000000000000000000000000000013bf40e519fc0000000000000000000000000000000000000000000000000000132fc7be76e9d50000000000000000000000000000000000000000000000000012795f58d5000000000000000000000000000000000000000000000000000000121e6c485ac00000000000000000000000000000000000000000000000000000120b78d82100720000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000f355fbf66a400000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d4ff5fecb8862000000000000000000000000000000000000000000000000000c6f3b40b6c000000000000000000000000000000000000000000000000000000ac552fd9cac00000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee53800000000000000000000000000000000000000000000000000000094ee0494fc00000000000000000000000000000000000000000000000000000093cafac6a800000000000000000000000000000000000000000000000000000093cafac6a80000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008dc6aefcee221000000000000000000000000000000000000000000000000000822752aa262fa0000000000000000000000000000000000000000000000000007d0e36a818000000000000000000000000000000000000000000000000000000775f05a07400000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006651728988000000000000000000000000000000000000000000000000000000665172898800000000000000000000000000000000000000000000000000000058e43fd5246e500000000000000000000000000000000000000", "blockHash": "0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807", "blockNumber": "0x15fb243", "blockTimestamp": "0x688d2a7b", "transactionHash": "0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f", "transactionIndex": "0x62", "logIndex": "0x179", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xec1ede9b7ed634a6a1d89481089d10ce7f9d9f215e939fadb96ca61bef6a26240000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807", "blockNumber": "0x15fb243", "blockTimestamp": "0x688d2a7b", "transactionHash": "0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f", "transactionIndex": "0x62", "logIndex": "0x17a", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000", "type": "0x2", "transactionHash": "0xa9114db7214f60481fac0eb21d414b67e015a8bcf18a559040e8e5c7edd7ba3f", "transactionIndex": "0x62", "blockHash": "0xbd3b5f479c0c904119bb335eed77d72e4437de0a27ebdd13b2b8dfc521a1a807", "blockNumber": "0x15fb243", "gasUsed": "0x20beb8", "effectiveGasPrice": "0x1ac13a9c", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754081917, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082409.json ================================================ { "transactions": [ { "hash": "0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xc224e30faabc814b32da1c780962d98a7c72ee71975e5f5ec5d9d5086ba605e823f01f79d0595531a6bed30bc00b15a5e508c6bd505607a840d44265d53a14541cf01be66414cf823d000686f3f73bc7d53e62d83b942c07a64b56636688a998d05e6650b9a6ff68f223cff03f83653a1da3d6a7f719c83cb239906185f51136651cb652ecffda5742aee93a2f2362c91fff087215780dd83c25e34ffda0d1842fdc62f7f41a78308730f94262173779dfb78e34c10a8f7d0c0632745c39750fdce91c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fe61e", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c224e30faabc814b32da1c780962d98a7c72ee71975e5f5ec5d9d5086ba605e823f01f79d0595531a6bed30bc00b15a5e508c6bd505607a840d44265d53a14541cf01be66414cf823d000686f3f73bc7d53e62d83b942c07a64b56636688a998d05e6650b9a6ff68f223cff03f83653a1da3d6a7f719c83cb239906185f51136651cb652ecffda5742aee93a2f2362c91fff087215780dd83c25e34ffda0d1842fdc62f7f41a78308730f94262173779dfb78e34c10a8f7d0c0632745c39750fdce91c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x21", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd657a9", "logs": [ { "address": "0xbeb5fc579115071764c7423a4f12edde41f106ed", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000001ae84f502350b987d3d3d289d50b0071acc5dcbc000000000000000000000000efad4323bac4d32fd5fc6c65886ea88239d9dcdb0000000000000000000000007d41ca22a4a51c1dc4a714783a702339e6122cf80000000000000000000000007fe717376713745147f88f72cc3211c287ea69e60000000000000000000000001eefbe692290fa12c94f974306137d58a8ccc6dd000000000000000000000000ce6bdc76c2e51b4c3bf229a62f3401d9450f8d4300000000000000000000000081e6614fd977fe5da99cc9c871024c9c0471c929000000000000000000000000a7c012c15d16f8c39f249818881fc51a9194449200000000000000000000000076e198617d0b09738f0a2061bb268893ea366673000000000000000000000000cf952e428671a4ffb942ad4690d0aa103d983ccf0000000000000000000000004f92604ae46f09fe0e90227ad55c9066b595f2ef000000000000000000000000ba3a9f59ca96b490af6e5eaea078f624b66f81a20000000000000000000000000022251ccfb51d0c77218dd1c1bac68df7ca80980000000000000000000000009f460fa8548d552868297ad55608560bb89f447d0000000000000000000000003d8835ba9afa8bac2e22b78b0fcb5ee4969044810000000000000000000000009407d0a9b44bc121013b179db8add2cae794da6e0000000000000000000000008424b7bc704fe69ac3db0b00afa58da07055221e00000000000000000000000090f479347e6f915188f44014a0c729c9f74e3ee30000000000000000000000002666c323d1ec8b614792c9b0c9c082aedb9d13d5000000000000000000000000fef171e25b6422f102bd6a68b807df01117f06cb0000000000000000000000004fae8a3cc9deaf377a922a3349e3d7750a8ec65b000000000000000000000000a2ab61c6a80fc1a68eadb38e6262bc22effcad7e0000000000000000000000002a53ff9c496458c70f0b2750ed7820260821198f000000000000000000000000c18458f9bd213d5c7348fbfc82ec096a478ae914000000000000000000000000ab2b8867a18ad9efbb42a4ad4f4574fe7c7d5084000000000000000000000000188c2eab876e98c1c6b0ebc37dac9a331a765563000000000000000000000000f3ea0cb4bbe49dbbc4462cc0e2db4bb573ec8998000000000000000000000000700cc505f4a47c9337fe3478b939b33bfe3eebbd000000000000000000000000d1a3524b0808b3393d9d64486d3b0fae34665be9000000000000000000000000bdde5f17970c2c15aa8cce0113bd266e645f8e1a0000000000000000000000009a30b6021f827465d5fdf2ff8a179acb43982f5e000000000000000000000000b6f8f2b9a1048339559912590d800113d7cff030000000000000000000000000433287f355db57bb0ac6528fecafd3b73b0838a4000000000000000000000000826f2adc72e7f97663330ae61c20cbf01f6ada9200000000000000000000000077fe2d8548082698d7d4be8045876928799e171c000000000000000000000000599321b91d0e4e541f7d172ab1cacccc0d5a8e820000000000000000000000007b281d3741f881f43a49bbfb12d85f4a1d6ac893000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000024813b4972428003c725ea756348dcd79b826e6000000000000000000000000c3cab030a79c98f47c3a3efef85db5ef4dd54b92000000000000000000000000fd9a3b43c5d3327675f689c954d063dc3e60ecc00000000000000000000000002f0cda686cb448daf7cae161e57aff1e5258984d000000000000000000000000c2af996c138925f92011ac511d96fcd4737db23100000000000000000000000093198168207e14f2d2ee4172a9b115487d92e915000000000000000000000000c83684d01c800a11905bb65c383b89e808514a180000000000000000000000006a42c2205a7acf3e4dc403502b81cb7bc8b707510000000000000000000000003b32cb66694500774dcc635f76aed145ba742d4400000000000000000000000051c989f324e4dbfec2699b7cb6c81b268a9c87ff000000000000000000000000403767138047ecc1a319213f7cf915b09b35d58a000000000000000000000000e1ef4b676e17fffcf951d543dc91d6debf46f937000000000000000000000000f825776e971da4400d9c98b09ee87ecb741ba301000000000000000000000000ed7679346494c7fd083022bccbb2669b11aa98410000000000000000000000007e1eaf5b5736794b19df88722ca1c32af80cc2c50000000000000000000000009514ea32e83b7a2b3fe1acc5b788d108e3be720d000000000000000000000000566ad96e3814963024ba4620987bd0461040fcc000000000000000000000000066f3e026054f17ebc695ac4fbefaaed7e87f3623000000000000000000000000caefd832536143e6c7985ca78f1e17fd0b05c4bf00000000000000000000000081b47a508eff27ed82ccf367baea1d17289cdb1600000000000000000000000081a2dda115e86fd0f22934fe857f799289e365e300000000000000000000000051363074d8fb3422aa8f45aa5a9639cbeb2172890000000000000000000000009c322e4edef47e1d5c3672361b7e009ecc93141c000000000000000000000000a275eeabd77d1d3f2d02bd56a49fda3cfd1b82bc0000000000000000000000001fc6544403f0ef9bf7ee486abb63240a796325ac00000000000000000000000005875f986fdf0f7d307b71f036df7a621dcc5d1d000000000000000000000000ec9d11384f42066bd188300cca4069ddba942ee300000000000000000000000098e88e36cdec51b71d826d69c0965563bfb3f2a7000000000000000000000000e18c68edf591b495e3e8c8818482f724a55ffe80000000000000000000000000691f54bbdf548a5e51eecf74d22bbff1991f1f4e0000000000000000000000003f9c1cfc1648ee5e18ed3dfa10e339bc9fb3dbcf00000000000000000000000089d70e2da19ed3ccdd9317ac1bf4e08a5bdcc4bf00000000000000000000000064749482806060993379609605585df950393cf900000000000000000000000010fdc636697403f7db3ad215e1433b116921a2f0000000000000000000000000f3fe547d0369e29272f7b19fa08f7fd75095697800000000000000000000000015b57c8d84e7bd1ff71881d21376fd9b425e1ad70000000000000000000000006529770a5c58ca859558670cf98171f600c487830000000000000000000000008f294a0acf670fc6e14e95d679ae86bfae2be6ec000000000000000000000000a34551ceb662aeee115d40482a0fd2d97e6f20500000000000000000000000008362beec6f02a977fde4158bc5626329374de3c5000000000000000000000000413c7c4f23f42588f417a978a0ff23f3f4fb39d9000000000000000000000000c9793cb631f299b7bd8d6c02910b11d865eda423000000000000000000000000d5e47de39144b095c0502d75358af0281d7eeae20000000000000000000000001d0a3b2c27c53ed3b8fec23d4677e1a365ddb97d000000000000000000000000b583c187b1429fc08c6c7a7f926c0d56d42a5caa000000000000000000000000c1d075c75a88310395b0dfa6fcfdac5e7dbf91f300000000000000000000000057a8cf309a35e87156b149734dee943c6fb52d4d000000000000000000000000856b044077c490fdd657290cbaf7edb132bc01fa000000000000000000000000c87d94e265ae61cc4eb1813f8b2445e6724c7c2e000000000000000000000000507303b99c42f35058b00f6bb507cb2b094b616d000000000000000000000000fc414daf238a3cbea641f9eed8959ca6adaee3fd0000000000000000000000007b57dde6e443070ebf60564d1b5dd84a1fa0ce1c0000000000000000000000004572ef6fd7faa5325f31b984ace9d522c9c06b5f000000000000000000000000f78c3a7514055c8fdf95ac594eb2f27784e807db000000000000000000000000df847fb22c17a68a515d385e256a296590bf810300000000000000000000000074d7bc20202e57d64f1feec321fd391edae2bd12000000000000000000000000dc29300acea4e2adf41056f619b6b503ab376bff000000000000000000000000c711d6cadd0e203a0fc8d82b21950cfa7616bf0f000000000000000000000000fb67ad972690550fe04f5bb264803f6478c11416000000000000000000000000b125dda6e005174aa2ae7570737ebfa7b518acef000000000000000000000000b0220190d75d21b6927653080a67e727c2ad91bd0000000000000000000000009716444f669e10573513fbdc0ad5d03c2e236fdc000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000055daa983952060000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c00000000000000000000000000000000000000000000000000000053c5892b9ec0000000000000000000000000000000000000000000000000000053b9612c68ad400000000000000000000000000000000000000000000000000052c9b5bee2161000000000000000000000000000000000000000000000000000504f181fe6a6c0000000000000000000000000000000000000000000000000004fb8c1fa2f0bc0000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004f94ae6af80000000000000000000000000000000000000000000000000000004ca7ce357c01800000000000000000000000000000000000000000000000000049e57d63540000000000000000000000000000000000000000000000000000004996da70c8f73000000000000000000000000000000000000000000000000000482733f257d4a00000000000000000000000000000000000000000000000000047d323b4a958100000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000004374f2e762e2900000000000000000000000000000000000000000000000000041f038bf08000000000000000000000000000000000000000000000000000000406415e5fe4a8000000000000000000000000000000000000000000000000000403baa098a0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003cb5a45de62550000000000000000000000000000000000000000000000000003ca8c05737abc0000000000000000000000000000000000000000000000000003c987cb6084000000000000000000000000000000000000000000000000000003aabc80b1d32900000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000", "blockHash": "0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f", "blockNumber": "0x15fb26c", "blockTimestamp": "0x688d2c67", "transactionHash": "0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3", "transactionIndex": "0x63", "logIndex": "0x152", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x14b34a92ea9877e9e795a79c6bd61031ed36d387c3c7f47128474b00a7ee63e80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f", "blockNumber": "0x15fb26c", "blockTimestamp": "0x688d2c67", "transactionHash": "0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3", "transactionIndex": "0x63", "logIndex": "0x153", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000", "type": "0x2", "transactionHash": "0x81878670a86d80cdf16faa571ca70ecdc9447fe90ba7951106138a5bc8bdc0d3", "transactionIndex": "0x63", "blockHash": "0xba7696f549ec09fbc1d170ffd08bcf43e1595cdd9208233904a1e50088e4af7f", "blockNumber": "0x15fb26c", "gasUsed": "0x20c05b", "effectiveGasPrice": "0x1a325e71", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754082409, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082458.json ================================================ { "transactions": [ { "hash": "0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x418b0d1e6188a418796fa74d91c8d00ea7f589bdddd4da59682660a466505a7c075249264257438770fb79dd92d46c0cd5303c5930883653fd89bf3f5b8f348a1bb05ec226c3676b2dfc1b321fab061f0b5dd429950fa187db07550b4b57a6d00369640c826cc14e425d897c4e318e7fa740ad437db0e092692ca248b22d50a5921c2827e08e663a2da2cb37406ffc29de58b09bb909fd4653f74a8ccb86259237655ed7394778631e43077d68e23ab1545a1815a7baaa902b8de4f25a1da9c2f2281b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fe591", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3418b0d1e6188a418796fa74d91c8d00ea7f589bdddd4da59682660a466505a7c075249264257438770fb79dd92d46c0cd5303c5930883653fd89bf3f5b8f348a1bb05ec226c3676b2dfc1b321fab061f0b5dd429950fa187db07550b4b57a6d00369640c826cc14e425d897c4e318e7fa740ad437db0e092692ca248b22d50a5921c2827e08e663a2da2cb37406ffc29de58b09bb909fd4653f74a8ccb86259237655ed7394778631e43077d68e23ab1545a1815a7baaa902b8de4f25a1da9c2f2281b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x22", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x52faf9", "logs": [ { "address": "0xbeb5fc579115071764c7423a4f12edde41f106ed", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000004ea887e70441fe1e7e30f06d381ee6186c305bce000000000000000000000000c25560e513de24d927fd1779fdce848e3d1a9907000000000000000000000000ca691d8aa8d32726832b6787c2576d5ef761c93d000000000000000000000000e1317eec6153bbfda53932b4f825badea66c1bf6000000000000000000000000cc0dc98ce0db0b73d27f9c496119c02d34f145b3000000000000000000000000c84a6b669ed75ca5194b13a46e2e0ffa645f6db1000000000000000000000000f8d05938941b37f7efbb0507210ea6577d9b7a91000000000000000000000000edec3a757df24f1da06f14f6772d324ad66c6aa90000000000000000000000002276816aec0c14697b0c9f15ccd99d8c475f8ed7000000000000000000000000aa0dc16f7e07baf7b1df877281b8cb782ad37b0b000000000000000000000000f8b8f762ec18b32a67f5c94c57ab7bf620221547000000000000000000000000570fdfdf72f55760913f18064875063ea7729265000000000000000000000000c2386911c1dbe47ed63fc1dc4ff0fe84a8ca65c0000000000000000000000000070cca32b8324ed5f6039c1f0fe9a6eb47d997710000000000000000000000007de7221723e9492c9ca365260479159a38c35fcf0000000000000000000000003b1628bf8584a218e0d97ebd1e4cc2c8645d2ae2000000000000000000000000b6170eacaa6aed67d64e095d419ce7fd8e7d4750000000000000000000000000df016d49bb059b6a1ec651bbc04c54de701f5c470000000000000000000000009cf256b5933c3367f73d510c6e8ca98b0a294afc000000000000000000000000fe84b1d775efa42cc2e0dd1031dacbd241a3f881000000000000000000000000359791f496fb9e55340a227854214a27d4bb011a000000000000000000000000f924ab834ef511b6bd438baec36ac50d513a4e59000000000000000000000000dc59b87b30512ba66dce3f0fe892d19db9abd0e60000000000000000000000006d83ff41dfbf4d820359e4c78e487ed125f2c37f0000000000000000000000001e39c8102dfb89ce8d05a5add89da845b958ac0b00000000000000000000000073ca85522ef1fead38d567cd278561ff8248c3dc000000000000000000000000e10701fdb62f3526a3ed06670e94a463401d8671000000000000000000000000a1be19349c296c4c7125894672ebc1756493617a0000000000000000000000007fa18723ef2a885dfee22b202c9df2274ac3453f0000000000000000000000004d8c52776ddf0e615e3758a15ca766f9128acdcb0000000000000000000000008aa15d50c9d1dcc7ba5f92c550079ad14d1c42f7000000000000000000000000cca5142ae99ed42dbdd3cd7df505abc1e73d32b200000000000000000000000096cb882e0fb501a46950db902d85c314feeaad290000000000000000000000008c0bbf283640a058746db6f3d4fd3cbd7e526789000000000000000000000000f6c74bc3188bcfbae409378c546994aa166d034600000000000000000000000030a37edb6051ebc5630d02732eae8fcdfaa001c400000000000000000000000017a79abefd7cc1592e3dec1edfe16dbf7e86079d00000000000000000000000066fb69b0e14c3f71687cadfb9c2a5e5985d2ac74000000000000000000000000d1e2654aa18e829232d777b4634603113a75ac28000000000000000000000000745bdbca643fc419b138b3f2c5c0e671103817550000000000000000000000005ebf6aafe796de90050f8e9a72f0c3e34ef0f537000000000000000000000000fa12cc74c3bd1b3c29f72d816edfd1f0e376f5fa00000000000000000000000018e93dc2744f2ab2cc112835c72bf5cbfd3468f40000000000000000000000001f8f19347d0edc76dbb0dfe36d84cd11c91dcdc5000000000000000000000000bf78308012b52ee1349108089e8e3de11562b155000000000000000000000000a1c22df31e708085dd1dc68507b60d26175894dc000000000000000000000000c07b987c2d572fdf76e93347742bde152c4b2bb300000000000000000000000012567ef4f6decdaa31f4e4d661a0783d423802a10000000000000000000000003094ea2500822117a3518cf76518c4f2ec1f01ca000000000000000000000000b4a1facb1b02097c32ea2f86722624d2377d651600000000000000000000000006df9021910c216a6fa7e6f119b65a7da723bc7a00000000000000000000000041c969067b05c69f0e7877c7934ddbea1a3578fb000000000000000000000000019251aab8dccd8bc4fe153a30798deea1dc1b010000000000000000000000004c7b5ec93762ec4fb61fde287bb5342bd4748245000000000000000000000000320a113f60cb2d2059965acdd97a22ca66771dc200000000000000000000000081247b89ffd0f385f92e571d772383c849637032000000000000000000000000e7f2004f57892ed3424998f994093e7924bd72c60000000000000000000000001812fa2fb76945e9d9b683d7acbd48cf852d861b000000000000000000000000f351f0ea9e40cdd9d7473d9e5c173f0d31de0993000000000000000000000000a1040c9c11894f8d6e11c55c1d7bfbf4537361e90000000000000000000000000b068417c7affb3aecddabf078421e094ae040320000000000000000000000003640c0b55299d9e2b09f860efcbe972780a9fed200000000000000000000000060a8c5f12e745e6170fafa08fa434e2d4b29919000000000000000000000000088f66de9a495bae3ce552b41e9682965ebf49fde0000000000000000000000008dd5b40af1e354cb72792184b138401ba82ad29c000000000000000000000000d7dd3cef544fed26a54fbbca7cb6080f80d61b070000000000000000000000006698008f2b78aebeb8ffd7a720126548a3f39c15000000000000000000000000e3be4f5390c7760bfc095d6b1f63619b2d09639e0000000000000000000000008c235aac3e38eb2d5a9ae4164c23480b0a31522e000000000000000000000000558fa82960ec3fa51af9ded2d5a846c597f8c28b000000000000000000000000dff8ba45eb9a34074c1b2e14d4002add0fd61a1800000000000000000000000069052d279e485b54c00e53f896609253e1f6f8ae000000000000000000000000a819a27c5d2e7c07f7739fcf2b620ed6b597023f00000000000000000000000080c23f367474972ad6e2eb5f6ba3bf045efd8e8c00000000000000000000000012f759cf8481148a29441628c3b75d5b5871cfdf000000000000000000000000f3c3f9f60bd25144738be81da0d8ec709d6c997c000000000000000000000000f9178e809cefaf2b219787336650a31552e52d5f00000000000000000000000074ae5941f76f4810137aabc257e55a7ba374b3d5000000000000000000000000ccf0bcdf5491ddb100d42bd6944b12501b0a2991000000000000000000000000254fc3950474e3bc7b8be0b463fc28ce557af0eb00000000000000000000000066d8aa61be8c5a9e027fb3c5d1527e615fad9ca9000000000000000000000000bab1b58bdf231522824d5eeafba249156700c71d000000000000000000000000d874ecda3e1ff9f0d2b4c80cb8c1caa095cd07250000000000000000000000008e9f5b55d2c194b4af729a97ef1710bd745ba49c0000000000000000000000006080e863914e66e427998c6f4cdd72f990e648f00000000000000000000000006432dfe5c8aa619e79d52a50ab7fa851b56d15480000000000000000000000001d8335a0a81f913f4c04644fe290e29115491231000000000000000000000000e016a96735f97ef4120e50de2acfec221cd55b00000000000000000000000000cc1f79f92ae827c66ef8a80ca1f2a05f75d01086000000000000000000000000ad0a0b434204ba0a2ad0e02e0d7627fa00c271cd0000000000000000000000007636b570ae87a0f9f49b920f734cf726c0b8d3d30000000000000000000000002864c9bd73c0fc8ad3d5e3d77220ec53bc54704000000000000000000000000096daf1d3bc516c60fd3c08009124f15a8721d06c0000000000000000000000009c78623a815e71281c3e7a4ffc5bf5f3c570c72c000000000000000000000000b7dca81ce67f685887fcd64f23f850cb455807580000000000000000000000002e6110b6cb83bda4bcf2891c676ef489003329870000000000000000000000000d88ab85de9ad6416c13d2f6ae564b4944c510fb000000000000000000000000f40896cde395236756185e5a32b7857ba3e93236000000000000000000000000e5edfe0e968bf5dad6d023814989b536c08756760000000000000000000000006aeac243c090fa97e77ca77a4446be33615f07ae000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000036554d7a9800000000000000000000000000000000000000000000000000000034d7743cc122100000000000000000000000000000000000000000000000000033bf4910e60f50000000000000000000000000000000000000000000000000002e8deed15c6930000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d072774ff80000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000026816a8faa9e800000000000000000000000000000000000000000000000000024686d6f6ac88000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020e98f15330000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f840fe044a000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f03aba3c64000000000000000000000000000000000000000000000000000001ec766ce3e7c90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e874a742454d0000000000000000000000000000000000000000000000000001e4c2bbaa50000000000000000000000000000000000000000000000000000001e43486ec24fa0000000000000000000000000000000000000000000000000001de0ae34a4f8c0000000000000000000000000000000000000000000000000001db9a3ed88c150000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d64811b870000000000000000000000000000000000000000000000000000001d4c1e0c19cec0000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf52634000000000000000000000000000000000000000000000000000000191f28b1ea740000000000000000000000000000000000000000000000000000179272483980000000000000000000000000000000000000000000000000000016cef4bb7540000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec0000000000000000000000000000000000000000000000000000000f818a1ffaf0600000000000000000000000000000000000000", "blockHash": "0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f", "blockNumber": "0x15fb270", "blockTimestamp": "0x688d2c97", "transactionHash": "0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d", "transactionIndex": "0x6", "logIndex": "0x96", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9ca8f2abff370c6f066c7ca5d6441033a1f76c802feb7c2303ddb908c9e47b730000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f", "blockNumber": "0x15fb270", "blockTimestamp": "0x688d2c97", "transactionHash": "0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d", "transactionIndex": "0x6", "logIndex": "0x97", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000", "type": "0x2", "transactionHash": "0x60d51928284a35e665d76bda2918aa916df820191d2efd6bb88e7c47f423bc1d", "transactionIndex": "0x6", "blockHash": "0x9814621bedb861c1e58d8b921553dad9b5f76013c20c3646621faac1c397de4f", "blockNumber": "0x15fb270", "gasUsed": "0x20bffb", "effectiveGasPrice": "0x19c1eafc", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754082458, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754082505.json ================================================ { "transactions": [ { "hash": "0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000da4e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000cc4501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xab86da53cde47e2713d3b0d4af344b86aadcaf5dc49d670160983064847268e12d11488070491c8176038bcdd0a9e83e3deca559613e2eb6a58105c3db3bedb61c57ad1d14585d9ea6aae3b395d20503f349c880b46e5f252003875db37c480cd254b5f0df541e27654330ed7916fbb2d269b2d0d48c2dfa2dec7f0a7452272f441cae4d0dab6bb31192083e1b25c8b87dfc6d8235e6c042bf5fbafc3a6664a0fce02f3e13559b48b47ae0c4fc030eaf11c6830bc0e8d0b675dce8401b249ec86d7b1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2c855e", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000ec4174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000beb5fc579115071764c7423a4f12edde41f106ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000da4e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000cc4501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb6100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab86da53cde47e2713d3b0d4af344b86aadcaf5dc49d670160983064847268e12d11488070491c8176038bcdd0a9e83e3deca559613e2eb6a58105c3db3bedb61c57ad1d14585d9ea6aae3b395d20503f349c880b46e5f252003875db37c480cd254b5f0df541e27654330ed7916fbb2d269b2d0d48c2dfa2dec7f0a7452272f441cae4d0dab6bb31192083e1b25c8b87dfc6d8235e6c042bf5fbafc3a6664a0fce02f3e13559b48b47ae0c4fc030eaf11c6830bc0e8d0b675dce8401b249ec86d7b1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x23", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x12ca4fe", "logs": [ { "address": "0xbeb5fc579115071764c7423a4f12edde41f106ed", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006800000000000000000000000000000000000000000000000000000000000000031000000000000000000000000301a843a7a9f8f00ca2604c4d44e5d6f64bcad5900000000000000000000000059cc41a35621cc2d611600452270c93414eb5470000000000000000000000000c600c544957edb041003bbe68ba14cecb3113e400000000000000000000000007ecc66fc5757dd473824732d8855b8b80bef40a00000000000000000000000001351920815896ee2b027bcedc63e16ddb75b1453000000000000000000000000f22fb421de15ef56dc320d2b26f54769d3b35765000000000000000000000000f2dbfb42722100af12a5789861d99312103a304d000000000000000000000000dc00589c45e0200596916a0e2845f1dc2408b8a400000000000000000000000032378e36ae0d70f7cd6d112b89daf30fe0aee314000000000000000000000000a28ba0d8fefed47fc1accef68faeba380430948000000000000000000000000090cd1069d613250d73523fc463b3f64b1d8b05fb0000000000000000000000009c563aec2b441187cb23597495343f6d5f5751ef0000000000000000000000002be0251b28863c66047fd3ae16df619a9bab9bc60000000000000000000000000985fa60ddf7ba252372edd620c23070814fbf6a00000000000000000000000025e30122242bbc4c28b62d8e09b8bbf4c4af6ca50000000000000000000000000eaec36364b2fce67031c2f7d9245318389523390000000000000000000000003a320f522aa6067a5ced2cf78ad52e2004b2f9dd00000000000000000000000044c38fc7eba94f40e9756d6c43cb399b0e2fdcc60000000000000000000000006d1b396c7fe59a42caae1b3613ee2af9048d3c42000000000000000000000000861fc0f3c83b581609eb0c8eabadeb7dbf29b1ef0000000000000000000000005910a1713a01e3e7e0853287ae86278c0166117300000000000000000000000067a4ca8c677c9b2f4d9fc7b7ceceb89d0cec2970000000000000000000000000412b7bb2502aa48f5d50a5cf7153f16744d76d070000000000000000000000004453a5001ea3942082b50723644e061b2ca7a901000000000000000000000000ac62e678d02ac2f24bf0c01602e4a8fe5cf02c88000000000000000000000000e8f479a33f0ce458c5d7ed22e438a76604efe609000000000000000000000000d0575ae9f313bd8983ca17aa3941ff4031bce1400000000000000000000000004818e7c8cd65662c9272fe2ec7f1cc251614953000000000000000000000000005ca4481a9b06f829cbe7db8743b01c746ed56f80000000000000000000000002f4d763f823dd6a48e76fa4d01ccc80777cd0ad50000000000000000000000000b589695f0c11fb15b3fa53d29f6e7d709e7803e0000000000000000000000000bf3ba34cef4d524d02cfc2919c6e4d8c11bc6bd000000000000000000000000a6e4a0aa265f7009dee7ee84d95d8cfce3d161ae000000000000000000000000e67dff408974912e0011ab72997a8b58f8759f03000000000000000000000000015421d227ad552b7fab1f1b383e6c93cb4c964a000000000000000000000000b65d4f33bad72156d1738eda2ddd0f7b9406fdab000000000000000000000000759d4b7158894d1f65f3c7d3ddd41135ba79d4ad0000000000000000000000005ae4dafcdee3b1051f0ed2a471a4181bc3164bb40000000000000000000000000b95b0322eb8654f5709a6c43b2cc8b9acd452cb00000000000000000000000053a41265e10f66c987fb2e55a48939e1c50f3ea400000000000000000000000000161dd9179154421b0d493c91294c34d1398f1f000000000000000000000000277f0eca887881aaa6e6112ee3e5c442d9ba9462000000000000000000000000adddbf546e0467fc93efb29e8105177b4b45c2a10000000000000000000000006cd5af97ba90bed182ed8e68791004f2d4e31a9c0000000000000000000000008059cc341b41dc765c621ba52ca2d9e9d9284e120000000000000000000000000949c8d6aa7ad809ea08216f327ecf8a3c6b651800000000000000000000000081dbaaa0f6230812bbd55ca042335032328292140000000000000000000000003c004cd31d452b897aca4bb4cbb566bd0e5f6294000000000000000000000000ebe85f2043bb1d669e4917f3b014ff5bc4863d7100000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000f324b819cf330000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000d7037e1244000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000093569074200000000000000000000000000000000000000000000000000000007f544a44c000000000000000000000000000000000000000000000000000000071c15658b8660000000000000000000000000000000000000000000000000000640b5eece000000000000000000000000000000000000000000000000000000061bd28c0925600000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000000fec02ba390000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000003a81ec4cf80000000000000000000000000000000000000000000000000000002591749095000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000005d1decb6100000000000000000000000000000000000000", "blockHash": "0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5", "blockNumber": "0x15fb274", "blockTimestamp": "0x688d2cc7", "transactionHash": "0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe", "transactionIndex": "0x99", "logIndex": "0x209", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x27bae9459352912f2ec1552481de620f2efde5ac876e604bbe5f653c7a8dcbf70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5", "blockNumber": "0x15fb274", "blockTimestamp": "0x688d2cc7", "transactionHash": "0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe", "transactionIndex": "0x99", "logIndex": "0x20a", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000005000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000002000002000000400000000000000002000000000000000c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000002000080000000000000000000000", "type": "0x2", "transactionHash": "0x0943c572399799db8c47243eb5980e60518f15bbf9b2172e485c190b1f901dbe", "transactionIndex": "0x99", "blockHash": "0xefbaa62ecfe4f64b629b1e7b92cbc62a1c2d8936a6fe131f2d21a4560556b9e5", "blockNumber": "0x15fb274", "gasUsed": "0x203b7e", "effectiveGasPrice": "0x19122874", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754082505, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084018.json ================================================ { "transactions": [ { "hash": "0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x55d158c4d1320ff6fde3db613601ce01a5ca207781e3c5d73c72b537cb800a7e1750f7c353a67394481bb777ac18b212e0a588a7c111c8359a9ea2daccd990fc1ce7508afa6f9aaa7e503c7e6977ad6c4f328215009d875557c18b9d2a388095ea2291f5ec6416dbd664acac8482ff86fc2c1264ce51af52b343d680f922ce48021cd2777f460979c7fe0c140c8deb9f5f5abeffe0a60846c0a35da9cb444da2001c32867e47aec39bcfbbb4fa121c7169d338202bcbd085a7adfced3f6673f89f2f1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3a93", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c355d158c4d1320ff6fde3db613601ce01a5ca207781e3c5d73c72b537cb800a7e1750f7c353a67394481bb777ac18b212e0a588a7c111c8359a9ea2daccd990fc1ce7508afa6f9aaa7e503c7e6977ad6c4f328215009d875557c18b9d2a388095ea2291f5ec6416dbd664acac8482ff86fc2c1264ce51af52b343d680f922ce48021cd2777f460979c7fe0c140c8deb9f5f5abeffe0a60846c0a35da9cb444da2001c32867e47aec39bcfbbb4fa121c7169d338202bcbd085a7adfced3f6673f89f2f1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x29", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb97896", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007446b433ef38688c6cf29d47594ca9f5d0e75ec4000000000000000000000000b977c4972a98e65c7be0f8807c3ed5e64cab8c91000000000000000000000000c4e510852ddb70c716af5cb0bcde0db00ef7a280000000000000000000000000681bf9b2d70b77c3d9278865af9c8da6210908c6000000000000000000000000c17fcf6eb176569e2751f93e65660204f8d83e130000000000000000000000004c4e2b618dc9f28dd6cbb5f1a024fead3249c2c8000000000000000000000000b1833a29879ca6b0c2004833cf8ee565403566f600000000000000000000000018f167fb09fc6e86c95e97eeb726d1de3089dfc00000000000000000000000005aea06cd79eb75df48b25837a445a8347fc2cc35000000000000000000000000914a6fb358bc0976070e44a32117218d388f658200000000000000000000000020ffe0d07d7f7c2c21a24537538b4cde06c9048a000000000000000000000000ec65398e8f53f98b5eace635038194a85b355079000000000000000000000000fffc4f59e558ce6ef09a1f2184d3e84dee1ca153000000000000000000000000db9fb1e7ea27eb9f2481442709a9f9733633de0c0000000000000000000000006b25d98996f99cc322a404954376cb1bcb3409c400000000000000000000000058b1d79a2509f7d9efa4ec5c6122ffb08221a822000000000000000000000000ed9643d249293212a067bda8a851bd0a96206ea2000000000000000000000000c423809456d8aa52c2611a750e6c463368035bae00000000000000000000000062c8788f6fa08e150f930f8a8c4b62848c622a5f0000000000000000000000005cbe27489a35a22068c840d330681545c35896dc0000000000000000000000004db47230a858ae1f6461a1a8d76667c5a7378c2c000000000000000000000000514756d0c33b6f75c59067b926a6692ffe791e51000000000000000000000000d3237b6c2cee115db0d4bfef4789f6b3373584c800000000000000000000000018ad1c88345cb2fd5e0963af9b7b67f09315c54a0000000000000000000000002adbe45964907ebeca94cac2d244ea83f67bd9e40000000000000000000000007303ca4a88f866d91eb3903d285886ccf4a94993000000000000000000000000787a66a377269f200e28de03cc033358a80f43ab000000000000000000000000ead441807624cba5b309a8dc622a33a81622b61e0000000000000000000000007c350e2f7a296319cfda4f83b214232e89a6a7df0000000000000000000000007a76c97c6eebf3af522613be02683c2f20514370000000000000000000000000e222913573f61acd28e55d24abf23606e3f5cb8c000000000000000000000000f62fe60688734155e450d0aabd2e5798f394dd61000000000000000000000000c0101b80723815c7cb590cdb3c7a8a53a3ba32570000000000000000000000004daa01798d81ce18360ae3dd4d0d6d33be4d6e6c000000000000000000000000ae7bc08aa50ca140945bbaa944f04b1bb03e3f64000000000000000000000000bbf61f09aff0fc6f0da30b390e5d7562109d83240000000000000000000000005dc42fcce46d1d9d71546ad35803dd7ad6976b84000000000000000000000000eff424b93f54905c5a70230665ba866f3f7fa7cc0000000000000000000000008eb882bdda4b0b7134424fe7a9640fe69cc3493e00000000000000000000000090ca7878be26fd29127c6d383c48d995c8c9ce61000000000000000000000000e78358a49d931db2a18dbe4a85a285620a3d95e70000000000000000000000005e27d99647f01b59e8ac4467facedc37fa0bdd2b0000000000000000000000009664fc47ffd856ba312ab4007fce122a3afbb58400000000000000000000000074e1d68ff9b267e48126a9d2289c8598e295fdac00000000000000000000000043dbe9cb8659554a8239715561ca94eddea4b40e0000000000000000000000008573e6b97084c0979ab2087efdb178b27beaf848000000000000000000000000934d697f66212c62fb1a8221c11ca7b3e7e7a17f000000000000000000000000a1fb9cdc9fd3dc3203044a730ce671ffbcd986a5000000000000000000000000d9593cf755a011f993ae293dc935f659bebc37cd0000000000000000000000005854b90c3ea7b605e4bc4b34cfcec9ff0c5b05cf0000000000000000000000009b2f12393217b6a0d1fa10ceb7aa49858edeffe50000000000000000000000008514b324c54150ddfe6b12c7f38a4b5e01e4ab14000000000000000000000000cd8e65c880d1f9fbf0ed977a69ae29bad5ecdb51000000000000000000000000753ccfe3f00683b8f812985a6f4440340171ccb1000000000000000000000000f1e33195b419e1a1bb55cebc8d159ae5f665eb690000000000000000000000004b5883f3e0f201b0e2f453a82a97e353aa25041d000000000000000000000000d0b24fc5b54e9ccb3961217ce98b90dd438d692d000000000000000000000000171e656419d223031c707e9db05fd94fb939bb7c00000000000000000000000012912e4003bff2e71365129f7040ec995707117500000000000000000000000001a18bd909f66d36d0dcfba103ac15f173dd28bc0000000000000000000000007ece75b1b7dbb1b94439d33b5756cf3d679f8c1c000000000000000000000000c2d9e267554c86db22cdefc94d646346b36623bc000000000000000000000000459f3294d879530b1643c885a864e764f2b353e6000000000000000000000000f1b792c5b5a70f8476ae6339a5a8ad8c670e475500000000000000000000000053ae17210138785166858a2df8fc22e13cf153aa000000000000000000000000c36c9bd0b67297d4135e176887af0c85a00ad9620000000000000000000000002b66671cbcbe2f4ef0782e65fcce24ae69bf2e240000000000000000000000003d1ac9f9848cdcda9b6f1765c91a13d68d74bcad000000000000000000000000b85617d15ada455f6b58954f2063a12ab2ea750700000000000000000000000047b8ad1b72d5e2700971e953a35457740b9954f9000000000000000000000000de5802130a46b2bfd4920ae43c965102f7166274000000000000000000000000b6e7bc53aac865895c18a0d6ace8456cab35c4c6000000000000000000000000c351accc1e82be5294d3080cbd6182a3acd2c54c000000000000000000000000a542b59486a23f54646100bc30e966966ee16bcb00000000000000000000000091f31ffca781f45454cb0f651e6d359becb9fea40000000000000000000000004d5e44ac19fdad3812c64f5802747adcfa0c5544000000000000000000000000ce1aa76dbdd77c092a1efd763c0f3c6aaffa113700000000000000000000000070d5e6a746566032ae5722aa3396a854440a60a90000000000000000000000004d43b234b645972785f11c56bd5bf078aa9468cd000000000000000000000000ee8311fe397e2464f78b3732e74dcd65087e71870000000000000000000000002bf0410bb32cbeb1f1121435526de8716cbe662d000000000000000000000000295e8c23aa5f474bece1d5e08515087d0b7309ff0000000000000000000000004f05008a04e8d7ca6c497ce4ce927f1bff04ebec000000000000000000000000562b7690bda71cf36a1030d1ef54a0be638bd457000000000000000000000000c1812a4bbd0321a0487492578df3afa7d19c004b000000000000000000000000699e0e3c218f0800d01e12ddd9571ec18be33c61000000000000000000000000b8c4f7b36e1413afa6cc0d2d7f726c61d33f4eb9000000000000000000000000f995efa2876e442e2f6e0224f29db627d7702f39000000000000000000000000c6c3d91d0e909172c2ea724716ee59519b9f6132000000000000000000000000604f60e4152c1ecbf85a12d1550630da7d6c6e25000000000000000000000000e8a45152f9032197494b1a1a2d07c33f4aa213290000000000000000000000004b05288d9cc08a869a7de4266e609ac54f817f5c000000000000000000000000d7c0638543f7e0f781cb9ec612d3f447c212a1a8000000000000000000000000448749280160d2126053330fa7a18f893943c455000000000000000000000000d65bd6e079235e9c84e3806cc05d0d01840b02f200000000000000000000000092892a31a0b965c2b5022d4ecb87533cd1eb8bbb0000000000000000000000009d677028e0e592d48fc8a8ddc910693301a4a450000000000000000000000000833634e4add904be71635bbcec6e3a5e152683fb0000000000000000000000006f1bf6628a272767df396b71f8ff6348777145f80000000000000000000000006d9bc2bbf55abb7e4fd88349df093aa5e2ed31ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000897d71e8cec000000000000000000000000000000000000000000000000000007b46e1214669e0000000000000000000000000000000000000000000000000006a94d74f430000000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000068ce17fcdfc00000000000000000000000000000000000000000000000000000666598e047050a0000000000000000000000000000000000000000000000000065f67f790dc0000000000000000000000000000000000000000000000000000063948eb831aed10000000000000000000000000000000000000000000000000061c8a38f8c236b0000000000000000000000000000000000000000000000000060e1eba70660000000000000000000000000000000000000000000000000000060d9307a6f6000000000000000000000000000000000000000000000000000005fec5b60ef8000000000000000000000000000000000000000000000000000005ea2933ad9efd9000000000000000000000000000000000000000000000000005d242fb87e05a5000000000000000000000000000000000000000000000000005c5edcbc2900000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000580f37bbdd5400000000000000000000000000000000000000000000000000004f3e2a85822a76000000000000000000000000000000000000000000000000004e28e2290f0000000000000000000000000000000000000000000000000000004a9b6384488000000000000000000000000000000000000000000000000000004a77024a7e000000000000000000000000000000000000000000000000000000490444ef95b78400000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000004657febe8d800000000000000000000000000000000000000000000000000000446bf8f4e146ad000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb8000000000000000000000000000000000000000000000000000004380663abb800000000000000000000000000000000000000000000000000000415eb3d7de000000000000000000000000000000000000000000000000000000411c26387d657d000000000000000000000000000000000000000000000000003ff2e795f50000000000000000000000000000000000000000000000000000003f3d0175008000000000000000000000000000000000000000000000000000003eb7b62cc37ac0000000000000000000000000000000000000000000000000003e5343fb4b7000000000000000000000000000000000000000000000000000003c66e9be5e4174000000000000000000000000000000000000000000000000003a0d24b7a140000000000000000000000000000000000000000000000000000039c8861241c7970000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003822042b73800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000033b5b204b4b0000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031bced02db00000000000000000000000000000000000000000000000000000031a24bde3d9981000000000000000000000000000000000000000000000000002fdbf543524973000000000000000000000000000000000000000000000000002e2f6e5e148000000000000000000000000000000000000000000000000000002de43c86e94c2a000000000000000000000000000000000000000000000000002dd47b4d9a4000000000000000000000000000000000000000000000000000002d42f666704000000000000000000000000000000000000000000000000000002c142974d1584b000000000000000000000000000000000000000000000000002b3374a0780000000000000000000000000000000000000000000000000000002aa1efb94e0000000000000000000000000000000000000000000000000000002a46fca8d3c0000000000000000000000000000000000000000000000000000029e0b505abd9fe0000000000000000000000000000000000000000000000000029c7a85e8f000000000000000000000000000000000000000000000000000000276f642501c0000000000000000000000000000000000000000000000000000027631cee4d680000000000000000000000000000000000000000000000000000271471148780000000000000000000000000000000000000000000000000000026ca5161fae8000000000000000000000000000000000000000000000000000026bd9ea7debdc00000000000000000000000000000000000000000000000000026a60770a7500000000000000000000000000000000000000000000000000000261af127572520000000000000000000000000000000000000000000000000002614f4a984b39f000000000000000000000000000000000000000000000000002433c04242e000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000", "blockHash": "0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b", "blockNumber": "0x15fb2f1", "blockTimestamp": "0x688d32af", "transactionHash": "0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca", "transactionIndex": "0x42", "logIndex": "0x13b", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x7a2fc84dffb88f25ae3759643b789196fc65fb6f242c4661bc88037cf13b82190000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b", "blockNumber": "0x15fb2f1", "blockTimestamp": "0x688d32af", "transactionHash": "0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca", "transactionIndex": "0x42", "logIndex": "0x13c", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xea8304b0dedc8ae72bcabfdbfc6c6c7d0b3d27164602e1ef73c9db9e31cde7ca", "transactionIndex": "0x42", "blockHash": "0x33cfaaa5f78b4742d9bc6e436954d230a723cd7665d8a72fe58578955dbd897b", "blockNumber": "0x15fb2f1", "gasUsed": "0x20beaf", "effectiveGasPrice": "0x16014955", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084018, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084077.json ================================================ { "transactions": [ { "hash": "0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3a769b002c539ba14c175992d7c014d533db59cd83426acce8c8d4c36f60db9c18a17d691242c8dc60f15448afe1b8eb8bd0838858fce7d0ab6070fe470072081b0af8aed66b410a3ccff641eea8692c0f928dfe4ef7c962f9068393a60aabef48011dfd8306222110c3ce86868f7fe7a643b82e57ec1d288017524a5c03bff3201c8d032065e21938c4baa758dadc0b43401b19031891f06eceef4127f40221ba9023149a9c4747a78b2ff220beac798cd34d930d6d4c508224ff872b6786c3d9041b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3a30", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33a769b002c539ba14c175992d7c014d533db59cd83426acce8c8d4c36f60db9c18a17d691242c8dc60f15448afe1b8eb8bd0838858fce7d0ab6070fe470072081b0af8aed66b410a3ccff641eea8692c0f928dfe4ef7c962f9068393a60aabef48011dfd8306222110c3ce86868f7fe7a643b82e57ec1d288017524a5c03bff3201c8d032065e21938c4baa758dadc0b43401b19031891f06eceef4127f40221ba9023149a9c4747a78b2ff220beac798cd34d930d6d4c508224ff872b6786c3d9041b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2a", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x106ec0f", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000037ec5a0b4390516baa30206e6cf84e74dad4d9890000000000000000000000005d720ae0c5795ad9515310d0c53cc26541a4cc59000000000000000000000000e23cba3b9537ec6f55031eb3c9e619ce995769f0000000000000000000000000c153ad842675e853280a76e9b09cf20d4fa339cc000000000000000000000000d5433cf113cc4195d612b035e04aee92174ba8bf0000000000000000000000008c1b0096398f8f5723785f10fadde5f13f3683cd0000000000000000000000007d67a1bdf638da91c12d55756a802aa67cbc891c000000000000000000000000488ae7ebdfd37569046199e8e72d6252bbea750a00000000000000000000000023afc240f6b6ca64334cfc791d85130c8b348fb7000000000000000000000000f6404a6ffdfdce1b7b5b94e9dcc870165f2c35cf000000000000000000000000fd8f7a51b176d6c4572e08c93ec81f279a7fe516000000000000000000000000c540b64c3cd08010ce8c54533f8c1c68e738bf01000000000000000000000000f27a6346451cc3acc22392b31474f0bdbe4ee96f000000000000000000000000c4f5cc2d73025b63d170f213aa0ce42b2ef7213a000000000000000000000000310f07ee4fa0c3a8a29cc3cb093899225c0b9f8a0000000000000000000000009a76c3cf9eb7b4c6cf4c226cbf302a743b6bc4270000000000000000000000008b87d657a530cc7e5decd181218bc5a3b103c0f3000000000000000000000000b3ddc2a5b4ebdb7640191906bd4195e23e17142c0000000000000000000000005aba902c17afd30c7abbc65d71bd5714a26711550000000000000000000000004303f5a2204d52a64addaae7a56c96c5a83858860000000000000000000000008b301e7b29afc9b216133536c36758bc62a2a1c20000000000000000000000002832f7bc0698a3dda01df259e32a38e871797c00000000000000000000000000ec757ea51688857dcf3979ca220175512c979d63000000000000000000000000240ee788c8bf7c57b489d0ecd4399022c9ee1149000000000000000000000000e73bbf1f967a5c6ac21f519a8fbf6e9112a2568a000000000000000000000000ef6ce0774e4351ee5efe2fb90f462da9a9f64c3700000000000000000000000034b64de5e1216aea807aa1ebf0b2b90d4abb17af000000000000000000000000aff1410cc2f30ab6fb775915f6eb0000834abedb000000000000000000000000ef0598fc615c1f9cb440d7004ce081cc345e3bf9000000000000000000000000529a33d72423f75525d6ad387bb9d3dd813e57f2000000000000000000000000b8c3596418183967305ae7bca45706867170b8530000000000000000000000004df39400569c9fb58d30e2437876b8490b3f9b58000000000000000000000000e32d2bb82d67df9fc231dfc92b77e3385d5caca6000000000000000000000000e44eab390d98e9a8214b3b0594f2da39d4ae12280000000000000000000000001a571070f88cd0b93e56be6bc60b1a77eb53f79200000000000000000000000027a48f6a22f2221cc9110194df45df7f2559de6000000000000000000000000039bd08abd60ecc1ec146de981360e08b7c8fda700000000000000000000000000ed02b9d3aa0cf3d9daf0f9fe2d36f74fafdd5f90000000000000000000000003f83ebc905f30c9b28e4f9c62e7f9b7bc3061d8d00000000000000000000000017246ac1d35229d408600dadd2032e2c8884e0600000000000000000000000001bc2223a70285580a85ada1002b06f2eceb3dcd900000000000000000000000092ec39c2d52102be754b8120dd061d20e3f6bbc6000000000000000000000000e80d315349e6cbc79280c9d30e536c00affe6ef7000000000000000000000000552d54e355d99de530038d36904e5a5136703285000000000000000000000000de1aabf6c30d0cdf83e286bfd9c78e7bf9006fe6000000000000000000000000d60ca9fd564237dd8959da8181fe31f0473f60000000000000000000000000001f67d841728739af9409628e2782bb13339de9f500000000000000000000000054137aeb20563a46984faf955acfb1dfb5e1463b000000000000000000000000ea62cba9a8b9059975ded734113c959570d696dc0000000000000000000000007f308da0d253ff1a478bf1f21fe4ca79f5c0b4e200000000000000000000000035317039367d6b9246441927b0645c9920eb7dfe000000000000000000000000f6d64a23ce944b56edb2cb582d3715f88b1308b2000000000000000000000000e875ef3f70ed266385898672c0077567008251de000000000000000000000000e5b97bde2e19eadb8ff2e76c92902827917291a4000000000000000000000000d2da3a07bf4cd039d5f36d22f22b6fe04bd56a86000000000000000000000000b31fa6f0029377820c5c01216da717244b61a957000000000000000000000000ae10b0e2754fea510b3a4a5c9d5117150aa3d11b000000000000000000000000a85c4ccb4e4e2b8180411c4d5b8afa01d90766690000000000000000000000001970d2f3c90e7fc871e9561151cb80225fa747d20000000000000000000000009cdf5cba9d49289b78cce868697a5bac558d4072000000000000000000000000aeb7aeb5c9ce73a3393daffd5e0a53246dd744a5000000000000000000000000302fdf84dda2093201c65009943224f027025421000000000000000000000000e67700af96cde045a451889192572ef0a67366c5000000000000000000000000240e2f86f720e1d879e2049efbcf5775c2fad69e0000000000000000000000003c7033ff8b4f2da51e69e5c97a3aa03366171df50000000000000000000000003be2a617a86dd49bc8893ca04cea2e5f444f9c120000000000000000000000000d094f02a5ebecb87bba32001ffa6ded671c715b000000000000000000000000dfa00af8784ebef0fe43306551821d21a0b0afd6000000000000000000000000242e2d70d3adc00a9ef23ced6e88811fcefca7880000000000000000000000000fb1b2afe60efb1d011e1d40c350f4308919e54a0000000000000000000000001566153f101ae25aac31de77444ac7f47bc3a338000000000000000000000000864e77f5b2f7f064d7193fffb7da44f6b5bf095e00000000000000000000000071d4287a1bbceabe03ad852e7134ee713b03113c0000000000000000000000003d333ab1874af29b6e23189196813e4aa1d4d0db00000000000000000000000066e0753f0383de2ba96ae261c05d9cb8a98b46770000000000000000000000006d32861ac85d87d1ade24cb689d599d53735295f00000000000000000000000022eed5eeb29a21a6d19acf456dc09ca3a523217a000000000000000000000000ee6741d501ee2117794a086b3ffad076fb3f91730000000000000000000000002deeaed21e561889a19e72b93a99fec8d8d4935e00000000000000000000000039fbb55428c2db69759423f4c1d8035e64560755000000000000000000000000a0af68e0f0b91e1339370653adfb93a646ef55a70000000000000000000000000c2e1f1759ae839899f8d33be0be7da3e6c90e1d000000000000000000000000a34236de7fdedf1c62f6eef67bf0933becbae88a00000000000000000000000050f443729042913cc005f02b1436676e0acdc59a0000000000000000000000000f6e57ea21728d429df5cabd15ce58d34d135d7d000000000000000000000000db5498bf2d75b813fc84ae377919dadde8b379ed00000000000000000000000055d22408591f2a70af3e3a60de55d890a319bc58000000000000000000000000459940714954bcfbb199de84a91b86d39e4c4f09000000000000000000000000962da50223fd7e9fa35231a097ee1d95dd49bdc50000000000000000000000004fd99f1154d8b0783e97fd1d21609c2556c6a2c9000000000000000000000000a55cab60687ed881dae236f8f4de16da8a725e3f0000000000000000000000003e90c48a1544ebe8d3041410b61362ae47896f8300000000000000000000000001dee68947ecb9731b69ff0259436aa1038e17ea0000000000000000000000005c4000c91da93ba643d206ddbbfbf3fb06d4401b000000000000000000000000270e43f3249677c01dc1ec7dcbf7bf93c8e8f6660000000000000000000000002eb1929b2b16df71d22ddc0966fa8ac5a40fa750000000000000000000000000d677ec2f08f5c06c11f727b62ccfd9a4ea03f0d00000000000000000000000002a8651a3eeee50d778304d046bbbd4721da0fc4300000000000000000000000089511764b6543674b8a0c7c4176ead725d832127000000000000000000000000d79c353b974eee9d022cb4e8ed9c56c11403f7810000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000232bff5f46c0000000000000000000000000000000000000000000000000000022c64f9739f6e200000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000021fe80038888000000000000000000000000000000000000000000000000000021db7c08b5a0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc0000000000000000000000000000000000000000000000000000021c0331d5dc00000000000000000000000000000000000000000000000000000217e01391875800000000000000000000000000000000000000000000000000020caa2d746e00000000000000000000000000000000000000000000000000000205d4038e27e97000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff973cafa8000000000000000000000000000000000000000000000000000001ff05b7c87e000000000000000000000000000000000000000000000000000001fdccb4c9f2400000000000000000000000000000000000000000000000000001f5fbf6a02f000000000000000000000000000000000000000000000000000001ee89a998bc000000000000000000000000000000000000000000000000000001e6e06f8df14d4000000000000000000000000000000000000000000000000001e5602f4e6a800000000000000000000000000000000000000000000000000001d7cce57a2c000000000000000000000000000000000000000000000000000001d306891798000000000000000000000000000000000000000000000000000001d294c26b0ae52000000000000000000000000000000000000000000000000001d22228ecedb72000000000000000000000000000000000000000000000000001d21db47288000000000000000000000000000000000000000000000000000001c979d05270000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c62dcd7c16000000000000000000000000000000000000000000000000000001bce9d72a830000000000000000000000000000000000000000000000000000019396991e7c00000000000000000000000000000000000000000000000000000191c1673130a1c0000000000000000000000000000000000000000000000000019017a7c4068000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000018de76816d80000000000000000000000000000000000000000000000000000017fb16d83be0000000000000000000000000000000000000000000000000000016c7548e345cb80000000000000000000000000000000000000000000000000016190e9a80c000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca70000000000000000000000000000000000000000000000000000001550f7dca7000000000000000000000000000000000000000000000000000000154bbd15f1e4000000000000000000000000000000000000000000000000000013fa16b59270000000000000000000000000000000000000000000000000000013e52b9abe000000000000000000000000000000000000000000000000000000131c73dbad66f80000000000000000000000000000000000000000000000000012fde45ea1b4a70000000000000000000000000000000000000000000000000012e077e46114660000000000000000000000000000000000000000000000000012d452694f40000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000", "blockHash": "0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8", "blockNumber": "0x15fb2f6", "blockTimestamp": "0x688d32eb", "transactionHash": "0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834", "transactionIndex": "0x92", "logIndex": "0x1b7", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x449aa04835c346c0600d1085559bfa67b3a074eeb566fe6147cf077a6c5c15e30000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8", "blockNumber": "0x15fb2f6", "blockTimestamp": "0x688d32eb", "transactionHash": "0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834", "transactionIndex": "0x92", "logIndex": "0x1b8", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xcac5e08f271c591cec4a27959d19a3e7698c8083abe331ed02f481d6fa529834", "transactionIndex": "0x92", "blockHash": "0xaefcc9d081ba4e7d5193983ba5828f44df02f6d4ffcd83eba77ee8133a58a7c8", "blockNumber": "0x15fb2f6", "gasUsed": "0x20be67", "effectiveGasPrice": "0x12d869db", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084077, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084126.json ================================================ { "transactions": [ { "hash": "0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xebe0c43d3664c3996cd445e921acd63ccaea0089fc761d5272a7c8fc0b09c5ec6157f54073880262196d16cdf1dce857c8307551785b154147f5c8be3d6707871b31733d6c2aadd4e0e6429ceb76fc6f0b766e2847a0bdbe53e80ed036a704a078521d2ebb8499a5204e5d6ae8ad2bb190aa8a0c3c9df37e897771cc84724dd8ec1c763a3ac3f7248a949a624a652ba01044dbe989c64f939b065059bd9d6a0343a9160a3870ec8fd93a824e140b6702fd9f0afd4d402cf99941de306087ee32cf881c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fe425", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ebe0c43d3664c3996cd445e921acd63ccaea0089fc761d5272a7c8fc0b09c5ec6157f54073880262196d16cdf1dce857c8307551785b154147f5c8be3d6707871b31733d6c2aadd4e0e6429ceb76fc6f0b766e2847a0bdbe53e80ed036a704a078521d2ebb8499a5204e5d6ae8ad2bb190aa8a0c3c9df37e897771cc84724dd8ec1c763a3ac3f7248a949a624a652ba01044dbe989c64f939b065059bd9d6a0343a9160a3870ec8fd93a824e140b6702fd9f0afd4d402cf99941de306087ee32cf881c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2b", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb12dfa", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000d5d7c45ed25f47a5f28d764fdc0fff2c8067e7da000000000000000000000000dee23022a5dfd70530e8ae177e16845e7d323899000000000000000000000000cf625acb72990273fa0541ca57f6261708a6ca9800000000000000000000000058e52cf0167d5ed727892f1de4b425167a0afac500000000000000000000000052dd11832fee1483c00ad75ca4c8117b3f7149f80000000000000000000000006c871284464c403e48a109f20493c3bfeb22c5a2000000000000000000000000a8570d0a724432ede22e66e86d0ceafea10321e5000000000000000000000000014b729a2a65bd89faf38d50b84beb47007199e50000000000000000000000006e878dadd06c66aee353c5a8611f824f52afb7910000000000000000000000004169be94679378422757a38e1ff39e60bc1b56660000000000000000000000001d54ee6c2e15b168f35a578ca2bcf49f6a46c473000000000000000000000000436769e28fe44402b2bbbdc915fd58bae69421290000000000000000000000008e83447956385f30cd2b36ac39650ed77c57c752000000000000000000000000f1a131f0f2a8d54918d82fd4cc3e33ec5b66097b0000000000000000000000001763cc485fc8c89d65ab3bf122dab7751c4de135000000000000000000000000ac13db99c028363e9d4bd2051665bc8d51505823000000000000000000000000051d595e667731d1d5d34ec2a8e9a2af548d5b25000000000000000000000000cb1a64cd6fe0c93267c6639e9f469ea0e0af5c170000000000000000000000009873b4bdefc0843a79f804de15640861d78867400000000000000000000000002d83238e1b3b6ce8768de722ae841c7c30218a080000000000000000000000009409ee260479649d6229c974748bbc4b82733283000000000000000000000000dd8dad42c815eecf44b56e456fd10ef7cb2bf8d10000000000000000000000000634f86d3e8902f69fef5b72c73609b01ea3dad8000000000000000000000000a430bd6ac5e2523690861c7b5fdf37642f6e089e00000000000000000000000087043db9c9dd96be4ff7f31c82f7d0c94e4b62090000000000000000000000007eaf7e62fa4573a171be59cb6ccc4f2f5e2dfc1900000000000000000000000054f68f074631baf6cc3cfce882ed184199a46bbe00000000000000000000000072e0b63d8a1c2c5e034b78991fb9c5d4577b3d25000000000000000000000000641c976a5e0ca47bc53011117db351ab111ae69400000000000000000000000000e2e53e62713c859e787ebea7421e4b5103a4b6000000000000000000000000761bce9ff53a2654c4ffca9865f1ea1b1469891a000000000000000000000000a959a8d9f4388dffc6c0c6e978995fda5c388ee00000000000000000000000005e7426339fb7dba498b414a2baac31edd5afaa96000000000000000000000000a8759e3d0dd7fc310fe27f24fd35f5f4821777430000000000000000000000002b714300668657dd65f1416ed15901fc9579f363000000000000000000000000707c8386919c87dc03379484f9f4271f5dca81d50000000000000000000000007b546efd637a616affd87e39c45899d9b5921c260000000000000000000000002be20da4f2ad43c44d25e382c401b5ff6e38edb3000000000000000000000000104af6c440d274a4abcb353c0ab85dc2f911e074000000000000000000000000a001308434a0a1cc150bbf897d23d55036959aaa000000000000000000000000f4d697c97a0ba04bcb51790ae91f945ab115b64d000000000000000000000000d183e2cbcdb42e6ce01215df5817185741b318ad000000000000000000000000d3f35ca866bf08799b8082b729f92c06420d74ab000000000000000000000000c1b70387480a055d4521fbea77022d7556506d54000000000000000000000000f1112b250db5934f967484d19b5cb57f9cafe1ba00000000000000000000000015b13ac806b676a0218d8fe232b331b21adfc50a00000000000000000000000088306d169930487bab41b091e2dbb972732e8a90000000000000000000000000cf93d80d16dacbe2e9fdab010bd1309d9dde001a000000000000000000000000c70a8cd6686bed6b986fa04cb6a64736e28b9658000000000000000000000000ae0fc38a9d05a92af7bdde596f076a2b7a8fedeb000000000000000000000000c3148e5a60e652bb910f938ad63ce5cdac4623e700000000000000000000000043ec14bd53ba12d5544290ba0604b643293a03910000000000000000000000000c020e63355795dc2f0c772cd533ce8dc6f8957b00000000000000000000000046e6d60abd111bfa1607587f3356c96272311cf0000000000000000000000000da614b9ef7fb65f911cdd1572f624c45613996c0000000000000000000000000865c0db3d0fbe5df6f015ec66b9fef3c4557cc3b000000000000000000000000ea89cc0e2b09b483569451f5c4e57a8329c384d1000000000000000000000000d7cc26c9eabd7a61a3d4b34733a108d33f36c20a0000000000000000000000000c28871d7b2abfaedbc6152d76ebcd270c199b02000000000000000000000000dbbb560872e2ab1edb31011bee8e499d837f8ee600000000000000000000000085332b5a8695d5b944983e7b7962134af2dcebd4000000000000000000000000945c82bc3642c5a7d8148686e821abe745eb3960000000000000000000000000ce47574d7938d8e8add709e96a6df8fd31c51c24000000000000000000000000ea343d5aad581030b86d18bf54bdf43bbbfa8cf3000000000000000000000000cf538e512db740786d4a098fd0c887eda5f35047000000000000000000000000d384f954f5f9c1e607c7d81e5b2bb92df5b6389f0000000000000000000000002e387363c7ff1152aa3795effd098dd2bfc7b53500000000000000000000000023a97f8813b7ab1c48a6520b25f65e9324b4f58f000000000000000000000000fc96f807b1fef88d5e3fbaba0e265eee2d7ac2b80000000000000000000000009704f7a2c029e0aaa5fc56399711b0ea99af49df000000000000000000000000853dc0c9257b35ae00a1a197981ff903ee160786000000000000000000000000a07960cbb05906ccc23be936fb47fea1e0aeaf01000000000000000000000000a5aa43a8862ff52f31d54580b64bd78bcc8c2666000000000000000000000000bf37e9fc81f8dc95d2553386b67ec6afbb14ff1c000000000000000000000000ac4b0882e822e86811ccae3773a29b0f9888b86e0000000000000000000000006a543cfa7050054fc3c6a1f9c87fa27ba60e578a000000000000000000000000dbdf965ba2ff4d6b1145eb3151708d2f8fd7428100000000000000000000000083cd3aa778603fb579b3a657009658d2e1f09cc7000000000000000000000000b359eedc4fc2c9b0b11fa4a0d6cffcb7a5216f49000000000000000000000000ad7873d553a4f3d484511b2b931e606e96dada9c0000000000000000000000005509926ba42db380068f9a7c16e2e71f4c2cd1340000000000000000000000007d4261ad19a5aaf0bc37f53eeb1969f4c672779a0000000000000000000000001d1e1867a8729081b9a25a4763eb923d11c44b1900000000000000000000000084ddfafee4254dd2c35cd02e2ab4fc7e297d394a0000000000000000000000004fc88b308723e5ff08003d696aed714768b359fa000000000000000000000000e32ff0be5ab1189979cbe85e76dffa3c13f3200700000000000000000000000049a18d52460edee159af6b69406d3f518d4d48d7000000000000000000000000b10f2544a2fa388234e285b812bb42cb875b8c32000000000000000000000000d540393d07ca51b311c40c50e8b3f03b19521d4f0000000000000000000000001eb884803d6f931aae20676934a5d6b7623009b2000000000000000000000000bd2241720848c6bffa8102eb88b05c077a2640ca0000000000000000000000009e49c39f36381b228509a1526b811f523a66996b000000000000000000000000a5a28794e78b949c3fc7954b9ab39dd27aaf4f7d000000000000000000000000eae7ab6a65430456536d8087ed8251a5604b1f1b0000000000000000000000009fc7afe457693f0767b284f13ad6847189bda614000000000000000000000000ec4a2742bbcfba37234d91cf15224dc5e0da1a9e0000000000000000000000000d02ed24ef53c868ef407b266178aa162775569a000000000000000000000000a166b311978ac269b5d2e1e50608cd67f2f1d6340000000000000000000000000c3dc4ab7c446c8ad448b8037955adf4f76c239a000000000000000000000000e513b0b1ccb134398493f38ccb6f5a8bfb3c9a7500000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011bf7d6564c0400000000000000000000000000000000000000000000000000011688627664000000000000000000000000000000000000000000000000000001138a63157a86e000000000000000000000000000000000000000000000000001135258d041c000000000000000000000000000000000000000000000000000011127b2d6f462400000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010be72d2d390000000000000000000000000000000000000000000000000000010b2a00671c000000000000000000000000000000000000000000000000000000ffcb9e57d4000000000000000000000000000000000000000000000000000000f27bc1a94fab2000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000000000000000000000000000000000dff68bc6a4000000000000000000000000000000000000000000000000000000d8f035e42c8cd000000000000000000000000000000000000000000000000000bb9551fc24000000000000000000000000000000000000000000000000000000b79aafa9fe000000000000000000000000000000000000000000000000000000b036efecdc000000000000000000000000000000000000000000000000000000ac04cbcc00d68000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000aa87bee5380000000000000000000000000000000000000000000000000000009f295cd5f00000000000000000000000000000000000000000000000000000009e9461cd271200000000000000000000000000000000000000000000000000009b2eba83ca000000000000000000000000000000000000000000000000000000997a2bce4c000000000000000000000000000000000000000000000000000000996b0bda126fc000000000000000000000000000000000000000000000000000995117cfe2d7500000000000000000000000000000000000000000000000000098ec2643025c600000000000000000000000000000000000000000000000000093b9438b5e800000000000000000000000000000000000000000000000000000914113d0b638000000000000000000000000000000000000000000000000000090d647ae340000000000000000000000000000000000000000000000000000008f5cc85c96d260000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000886c98b7600000000000000000000000000000000000000000000000000000008660ba43fc0000000000000000000000000000000000000000000000000000007d0e36a81800000000000000000000000000000000000000000000000000000079952d62610ba00000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000", "blockHash": "0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9", "blockNumber": "0x15fb2fa", "blockTimestamp": "0x688d331b", "transactionHash": "0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c", "transactionIndex": "0x5d", "logIndex": "0x139", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4c29d5fba413f3b6c8145bb25cbd0983172aa13d4dcb9c65a401c291fb33b2c90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9", "blockNumber": "0x15fb2fa", "blockTimestamp": "0x688d331b", "transactionHash": "0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c", "transactionIndex": "0x5d", "logIndex": "0x13a", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x17f738ca7566638640b134b4494724bfab9c1008ed93b7873cdd17b10355980c", "transactionIndex": "0x5d", "blockHash": "0x48e588c5a1fa0035bb89f57f06ff9472d65749a793f0e7cc02bf8feb669a67d9", "blockNumber": "0x15fb2fa", "gasUsed": "0x20bf02", "effectiveGasPrice": "0x13cfc312", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084126, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084197.json ================================================ { "transactions": [ { "hash": "0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x06add946e11803974883d4ec8758ccec6bade210589543058ac48e031634abdb36590cc2c17c87354bbd584d5c505b4759294f10655c1296d6868b9ab5939c391b712dfc8a7138f49d6641b3fc88f004611bb9e47ecc1ba84f3f5bd9f07c0f7c0c31f2848bda26a5398df98a9fdf994e1f6cb154f0126cfb2850da63be441b98a81b8939de58b2ec4d970ac41941060cb58ec8f7318dcbe5ef3e7d307544b4b5680f67225a5854639f085d37b9d07a5f0b2ec2487f418c930b91643daff28bec4d7f1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3b38", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c306add946e11803974883d4ec8758ccec6bade210589543058ac48e031634abdb36590cc2c17c87354bbd584d5c505b4759294f10655c1296d6868b9ab5939c391b712dfc8a7138f49d6641b3fc88f004611bb9e47ecc1ba84f3f5bd9f07c0f7c0c31f2848bda26a5398df98a9fdf994e1f6cb154f0126cfb2850da63be441b98a81b8939de58b2ec4d970ac41941060cb58ec8f7318dcbe5ef3e7d307544b4b5680f67225a5854639f085d37b9d07a5f0b2ec2487f418c930b91643daff28bec4d7f1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2c", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1feb9be", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000f7577b736b0338ba3c1e82476242e9c49aed5669000000000000000000000000e15345ca41978e547f6e1fe97dc8a243df73b195000000000000000000000000e1d85d3101bd4761091c276007d4b1b0d21364a30000000000000000000000001be6e8c65ba7de114db61240a23dfbf3b4d28cd2000000000000000000000000075a4bd432e8e862733c8e41efb773d604f35e5c0000000000000000000000007543ae755256476f32ec2cb49c253c4e5d47b8060000000000000000000000004618a344d46132b4c9eaf43203d0f90f306e861e000000000000000000000000f1a3c278b6a8b49ac565d7f2100aff055a8ffb58000000000000000000000000dabe322271e9722ff4844efb947f16e6ba8c72c5000000000000000000000000bb50690db3897ca5b1f63cff6e0c061b93f9bfbd000000000000000000000000ab4dcbcbfe45e6dfa11f9fde2f86e0ad4140a98e0000000000000000000000006e5019c712827b5e7d30e1ada52b871582ca43490000000000000000000000007abf799978c06bc2e79ecfd982f546b45e237271000000000000000000000000e758d32e844e87592abeec8432be09726d6825e4000000000000000000000000c9a6a0241ea3ba3a421e624ea6cf9465ff6816df00000000000000000000000036d23239b35477911c489738a9ea2f7d87cb4f23000000000000000000000000d3654312f35be822222450bbf8f4706e2e47275b000000000000000000000000d1695bdedc7efacb186967e695974170495b08e000000000000000000000000012d0ced4220f5acd0b0749bda0747a2051fbb2800000000000000000000000005d4e5de26d84e43ff66592c2b38c66c3c87cdee300000000000000000000000033c888ccd7d1b861993e8bfcc12f485c1b8841fb000000000000000000000000fc9dd302795e988c16973ba5ec86a1091532f3d90000000000000000000000000fbcce7bb116f943d1340534d73b83f0aed67adf0000000000000000000000009e2d65ec85452ba115499d975fc28616a3850ac6000000000000000000000000f9a5844ac0b81bc45f448f864d484e0ef5927d5f0000000000000000000000007a47b8793497643eb997c3977afd1168a9014e2c0000000000000000000000009aec2ca1fda225b1a5966ff458b51560ba206106000000000000000000000000e6943a33a364b1aa7997f636574b127a67e7c110000000000000000000000000b798dbfdfdbc1354490273911f1a1de25f29672b00000000000000000000000052c547e8332f97b6aeec09c30bd7c0b53dcc3f91000000000000000000000000c2d3a3b40cf7581484b3dc6c663d80c2b2a999dc0000000000000000000000005a716ede0235796ac3004d4a243054f3a82342310000000000000000000000001f1ff0587805b220b6128c17618a54e1b6cefe6a000000000000000000000000e64d2b73aff7d771eff9cf9b5185a9f542aea5a5000000000000000000000000f8f15c037746e38c3508d3343d094d6ff6dbf77300000000000000000000000087d88fa9c6882cb6bd4c65f5e0766ed48ca9c8ac000000000000000000000000fb8ff1e56f2cf118d75c2a65275988dcfc327a33000000000000000000000000a50b5ca57355f128448ecb05efc2cc8973705cf50000000000000000000000005beef1abbd43a347ff32c1089d3a36de35eb3a54000000000000000000000000020cfa8d14e643658e3d21073a87667d14064678000000000000000000000000408c76c4eaa072ea64d2833cb2c2e996fd0e9ac200000000000000000000000048bc9e0175fee1316e4fa81980a396e57ab13304000000000000000000000000297822004929d4bbfefdd5934854e18036c176050000000000000000000000002d739942efe7d5c7310624f15b8fb6d80e60d6e000000000000000000000000003511ae216f13121c0e7ed09d3fa35607cfbfbcf0000000000000000000000001b4c289c4f6e0565f1e432654254485c490679e9000000000000000000000000d152926beefd40caef59040a2144980e481a59e300000000000000000000000043c718fc437d0130a3ea613e2d388c51e518ac7c000000000000000000000000390d9a55eef37581f183afff7b0d4f8ebb8d23fd0000000000000000000000003ab26229b223e5bb9202de8c76ee169749d98f6a0000000000000000000000009b75dedc991e833e7fb13d9da2916a4a01adb65d000000000000000000000000ea89f597ad2315d75c91e08d2e4e3e1742dfc32a0000000000000000000000003b3b747aae49becb89b60c965400f0631d56fb5a000000000000000000000000ec0bf38c27e01db8e7d14cd0477a250a90a5d4aa000000000000000000000000516fdd279d2ac97bd7df16a34bb70905a0764bf0000000000000000000000000adf18d1b8a638f0c7e010902b238122df86e6d350000000000000000000000002a76dae7b10583964c551f719919d12a685218b6000000000000000000000000b148d626245bdd8cf0ef8bde82de71b51d30d481000000000000000000000000b9ee31f0edb828754ea3d6a58520444841fff3610000000000000000000000004099ef095e75a5f3dd90f852ef81703b7e3b486400000000000000000000000001390192e7c025730a4426b12af78c23a548e10a000000000000000000000000761210395a870290b00d053a987089b443c102fc00000000000000000000000048c135036976cc6f535e748d85f50e699d36117f00000000000000000000000066d0e830c96a64c928d1dfd7f59f4afaab1faee00000000000000000000000007640554f93f776bfb369b25b5892283c5d4373210000000000000000000000008cd9f507ded07adbd0f6e99f15fb6a99de2d6285000000000000000000000000f6add57410671f0d028247ba202e4e8ed18526d1000000000000000000000000d4c9d0a589e87b44751012920e1aaa70cc7b9fe900000000000000000000000025be2281deb6b7e54b90e2e1e0e08c5f91a9d9b70000000000000000000000005890bedf1c84104408d8ac8238c74046eab00fbb000000000000000000000000e62a05e304d99d0dd74f8335d8ec57b294b99734000000000000000000000000a08caf92681c7e49739857c9e0a8bcf46e25054900000000000000000000000058397edd048e0f9bb4ab58d565ed04137359bf470000000000000000000000000c2b84703e2df44190b50e66e67d168b4a5a350800000000000000000000000050981b37d16f7090c0a968bd8ae9207a24b1692500000000000000000000000013192b1056ed57eaa06bb7e49d70964a668e86040000000000000000000000004cd9c5e0123111965f68d3fc60cab4ee6847dec10000000000000000000000006effd03ef62f3e6f1652f77e0082f029293db5e200000000000000000000000019756118bb02fbe245f13ee470c212056e200fe0000000000000000000000000eec8ee9d58718b4373dc8f2470d95a5a828eddad0000000000000000000000001eaed3548e752bcaf48346dbce66f8d7678d715200000000000000000000000080df31a5642996d08b8e5b2a442f05376305d33500000000000000000000000080b2baa6839e7ed6d5352b6a48315a552abab5340000000000000000000000006ea5dea58401b6333cf2586c6d6043e32d72fdca000000000000000000000000c064c60c74cc6aa9f40390cc0a553512540e2d82000000000000000000000000f87e2e8be4dfe3abad1fb1923d53bacb76edd844000000000000000000000000f1e96a08e464e682f0651c3b31592e1f209ade6a0000000000000000000000003cc1a943b27c2af7c6dcf3be0137f66c2f22e71200000000000000000000000038b4d6af668fb4f95fba4a16024f48785e9f45790000000000000000000000007242bea729bd3ea78fe7a1cdf2750d6ef5d367350000000000000000000000004fc93339d5cf5c219e610f5c9ccbfe16c41325e600000000000000000000000045805989f6381418268a12bfcfc1674fbb3afa670000000000000000000000004d175082c67a3dee46b2bf3839cef3a40a886d710000000000000000000000009808b31e686600afef493292923179df565ef86d0000000000000000000000004f75a5a1f9201507f9ec0df6da15d8c8a07bbedd00000000000000000000000092b44e91e1b7cc6d25fd6b88f1cc331d8e34af1c0000000000000000000000005625fb2e22bda2b2fb7848bf5f2ec2ea2ac4001c000000000000000000000000ab8d9baa3e98fb64c6271df59555258175d0a43700000000000000000000000062298dfdc6d0768964ceb32df36b1b00509717bf000000000000000000000000da7d76944d68423abd74e6b1af13798c740d7349000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000000000000000000000000000000071afd498d00000000000000000000000000000000000000000000000000000006ca0b5c2a70000000000000000000000000000000000000000000000000000006133c6690e0000000000000000000000000000000000000000000000000000005bdbf76c62a560000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000581b77f66e0000000000000000000000000000000000000000000000000000005666e940f00000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000005543df729c0000000000000000000000000000000000000000000000000000004f69068c050000000000000000000000000000000000000000000000000000004f084ca78a49c0000000000000000000000000000000000000000000000000004e5e86df120770000000000000000000000000000000000000000000000000004d975d41e50000000000000000000000000000000000000000000000000000004cbd15e7260000000000000000000000000000000000000000000000000000004a463bfd216a90000000000000000000000000000000000000000000000000004584c0ad715d800000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb000000000000000000000000000000000000000000000000000000044364c5bb00000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003e871b540c0000000000000000000000000000000000000000000000000000003da9a45fb83320000000000000000000000000000000000000000000000000003cf9098b0d6840000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003cd28c9e8e0000000000000000000000000000000000000000000000000000003c9d73227f43000000000000000000000000000000000000000000000000000038ee728f8f10600000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000", "blockHash": "0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31", "blockNumber": "0x15fb300", "blockTimestamp": "0x688d3363", "transactionHash": "0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690", "transactionIndex": "0x8c", "logIndex": "0x385", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1fb1f2114007cf566427ffa605ae33d75cc8f0438b22f3c6a275b87bb98641ba0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31", "blockNumber": "0x15fb300", "blockTimestamp": "0x688d3363", "transactionHash": "0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690", "transactionIndex": "0x8c", "logIndex": "0x386", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xdc7e3ecc0b169d176e21bdc13e89ad6507eda1a9e9f3ee5c4782579d09a43690", "transactionIndex": "0x8c", "blockHash": "0x0e48a98870bdea3c1b7f8ad197a9c7b0c2fe8d832cdc115752fc7f8184f3ec31", "blockNumber": "0x15fb300", "gasUsed": "0x20bf26", "effectiveGasPrice": "0x10bb975a", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084197, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084245.json ================================================ { "transactions": [ { "hash": "0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x1c3516eefb9490486cef900eda89f38befd13a9515b8014648def717343a39fa1bb4dccccd46d3330947633d439fbee8fb099f9e3b2798f6b5100c6c473630be1cef46a26e90b7093845774e772a2242d2376cd3de28bfed4338ee2b0e5f9418c02985840bc2ad4025c865271ef8f8db27099ecef9aa3fbf63dd51bbc93762ebc61b8a8dc79681c51a4a4370e7a559608f15885ae139d687af4fb758446f3bc7deb06bafb522f428ee395cebfcbacd57d97c7049ba345f12debf5ece2693243cee9d1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fe51b", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31c3516eefb9490486cef900eda89f38befd13a9515b8014648def717343a39fa1bb4dccccd46d3330947633d439fbee8fb099f9e3b2798f6b5100c6c473630be1cef46a26e90b7093845774e772a2242d2376cd3de28bfed4338ee2b0e5f9418c02985840bc2ad4025c865271ef8f8db27099ecef9aa3fbf63dd51bbc93762ebc61b8a8dc79681c51a4a4370e7a559608f15885ae139d687af4fb758446f3bc7deb06bafb522f428ee395cebfcbacd57d97c7049ba345f12debf5ece2693243cee9d1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xdcf02c", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000435dc002ef3cdce44d4120b21c86bf36f7d5909000000000000000000000000b6b44f5b3e55b9e1acc7629e04c7efaf70c46fb2000000000000000000000000c1c1619e7eb4ad0509689d4db397ec1504ef916c00000000000000000000000018ab150b48c7e0b2e52bb6618d65e791b89e3bfa000000000000000000000000d66678f6eba890aba5fcc36b93bcf8c82e69862c0000000000000000000000002c7741a41af2e9ec86a53580c2ecc5533b713de7000000000000000000000000dc4d7980cc58fd574e23964bf5033b626323b2b100000000000000000000000078cd4e8fc59ab4152099efc1f4a1988e6550530200000000000000000000000040c257a1be6aebb4b6124fceb823d6e36e36a0b5000000000000000000000000e598a2e86f2eaa7ebf4a22f5cf955b8a47878513000000000000000000000000a68ea64d500ca2978a5dd15ca9ae10a9b7e940430000000000000000000000001678a92d29d75d53dce9f79742cbc2977227afc10000000000000000000000007d265f4fe0db5a04b55d4917c17df701d004d0d70000000000000000000000009f212e4124bc143dc568b0ce3b028b0d730fd4020000000000000000000000007a5651365cc4c3dab3aa10fced70992bca19c0ec0000000000000000000000009aedd3c92c82d664609c61a6303306474515ed7e0000000000000000000000001b18006b33787f55ee60d77bb63b543a84243aa00000000000000000000000009fdc8a6d78a040e15ea08cb2ec83dfc83658b0f3000000000000000000000000ee8997717be2eb519dcc3a39f8c3fa820269442c000000000000000000000000bb0e9260b0a67b05050179bd0fabfd83bda0480b000000000000000000000000cd70d32e9b0380399fa71ed195728e66974f3cdb0000000000000000000000002d4116bc342f59f52c6154bc37679d2bb619f11a00000000000000000000000018b6690e5ccb9843a6be4afebea357c029c7b208000000000000000000000000c7020910a5ad738a721c2995a197f9e300e75939000000000000000000000000d567d8fe3c518be36460a3e7951228a60ea659ec0000000000000000000000006f82fb6991aae967e6f2761d85668d97c566fb540000000000000000000000008eb57b741e9de6a5c1ff48811711014a1663cfd500000000000000000000000058ebf196143e1179b67c4613c9e13afba1afbcdd000000000000000000000000c4b932585321f6763997cddd7d0b3ee38e9759b8000000000000000000000000840df06b064515451c26050e78fa80f03b33e5a5000000000000000000000000c86d28370fd44bba412529af429e641f67cfe2e500000000000000000000000058a39efb62bbdabcba6d0f5aef1723aede4b37b4000000000000000000000000e4e6ee168b269b2a6329358ae764398be7b1d714000000000000000000000000ab0f1b66f6d6a701efbdfe9ebaa7e2ef7bdfad7000000000000000000000000076d52a2fc4b06685fa9f87eb880d598cda5b4613000000000000000000000000da87ca0c0c2f77ca09e9107c9d5c89bf5f48e2c00000000000000000000000005a4be146ba1fd4a2bbd265db2f1a3a3cf7b77236000000000000000000000000a09c588fc202efa43d75603fb6b7a6b4d8efb2e300000000000000000000000071d48c08e14e288e1bb97fdb84d2cc385b18360900000000000000000000000063e55cdcb9451873eb774c6e66d4962a39c17386000000000000000000000000a03b7728351f0ac2a64531f6c03581c1ff0869a5000000000000000000000000e6e1f3779fbdda48583850908756ec2c2f356e5f000000000000000000000000fa2785ca21a99866e9dc597d6401fc94f1ec7b02000000000000000000000000ad9e8a415aa231fe00b51237b793245f484cc68500000000000000000000000076368ac7199d8f3ccdb62647750031194a6dcd5a000000000000000000000000067242ed93fddbe26a84fd1c5d761843f1a089be0000000000000000000000003eb5b7f40c90b2d9ed8ad3bf3b99ff450e4da81c000000000000000000000000575eef39927ec1da8630b435bdf14828b9a0db6400000000000000000000000012cac2184e9a9179619a4547c3930dea82d32f7f0000000000000000000000008dc73083df051e292112bce426fac354c850ee7c000000000000000000000000680853ded226aa96d9264019dd23f7fbd44e5c97000000000000000000000000b4f11fd6f9a4c311a9eec2dc48714547edb0853d000000000000000000000000093a57ed456b1d74d221f39535f0147bc37bad8e0000000000000000000000009a9b5e0c09c414319fbaa700a209eb3b91b19a100000000000000000000000004eb6ebcfa62792a01e5005c453f39d63493a79b800000000000000000000000098774e4a949cc16e1c08b61f938d0bb572cbcbc2000000000000000000000000ae8b37267dba554e0a5858d5d5f3a2441c8e4da20000000000000000000000002f1f2c9e865d3ec3cc0d98b2d3e1c04b8fa38d6e000000000000000000000000b7984454dafb5bea83a41460f38018fc12de6615000000000000000000000000616ce82143e534238a2d283c3a7e6d4d8d4c756b000000000000000000000000e77ab99a3768b19f281bce1f847945618e78b458000000000000000000000000e1ba123ca59adc6a52ddb854c9fc6c576d5c2e690000000000000000000000005a42962e6d406197df2cb6ae1a6a6896b440b17b000000000000000000000000eddd192cea431365093b64899c9ec149744ddd2d000000000000000000000000e3aef7cf98488f57d0544612a7615d236015a7a4000000000000000000000000a3225048b696d119c39eb6a3cadf63f6d3e6e150000000000000000000000000611dd6e54bd23557a0cf1db3027a1fed5c3c96560000000000000000000000009de8498a65a4a70793be07f58e16d1db4f6a483b000000000000000000000000c85d9793b53c34c84a2daf0d1de1fafc2f4146e60000000000000000000000009a299e6f9c966e77587928840ad53ef0fd9f5f17000000000000000000000000191148c4615beee7fdfa894ef8a611621144a4a80000000000000000000000009804cf118c7312f10cff4b97403c0ff4e3d0e06e000000000000000000000000035dc03524a158e266498d876a7258745dcab878000000000000000000000000f3fa391b361871beaea5accf886ade427d6f62c90000000000000000000000004408f4a75fc330b50ee6ab0db16610ba2364e95a0000000000000000000000007474d1d90557a9fee58cc9c50f7bebe71aca2c86000000000000000000000000c4cc7ae052bd0c401b1155d1fc736167917693b1000000000000000000000000824c2d5c92a68d4ca4b5ba41c3c3a9fac0a75442000000000000000000000000fdc79905818aa8e0ff637c2627c98b1e8b5a54b5000000000000000000000000985d4723d532745a75771f4c37331d12d79dd14c00000000000000000000000013bc74e412fb20cbfec6f3bdea54e00b8352c55b00000000000000000000000082337ef7f9d145eb40f34f4afdf3b3dc1795bbab0000000000000000000000005354fa6cab9ffc82be63544c21a5593304687982000000000000000000000000d7d4f4d454e624889bc5617f177dc0b4719bf94e0000000000000000000000008fc3f128aa09d0da1987bd8d55411fe57af3228500000000000000000000000092616db33b534e8f2c5281396cb9c1dd8847036500000000000000000000000013fb50d884a89d7234f869ee8c86fb8970000002000000000000000000000000b4f7d0536c3503f68f02a002f8b270091148e24f000000000000000000000000aeef3484bf23c2b26b29b7f160ec416ea23d084500000000000000000000000048265550dac060e6ae30cf3a656be34712d038c4000000000000000000000000546aaca4004a7caa9352a9ad0f725ddadb4145000000000000000000000000001b1d90ac8f9fd6a5864021b0b7de65803e8418610000000000000000000000001109809fe8f95144e82ee71dfb502480e61b0adc000000000000000000000000142258ae288afe8b326123e54bc50b8d5856450c0000000000000000000000007b74e1cb77a59773bf6c62cef93a7224895b8f86000000000000000000000000f242d2cffe2a578e192f350212c62727fb9485830000000000000000000000002ac2dc3ff68f5e77281515d51e029020d4b16aca0000000000000000000000004e14e857ab1b7d495a3a96c5a9f3c8785756a335000000000000000000000000163428be93a129c0e66e97a27ecf0c43c2a2b35000000000000000000000000031f25b23b8b851765c6dd33f02c4729cf91f3ac2000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000", "blockHash": "0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5", "blockNumber": "0x15fb304", "blockTimestamp": "0x688d3393", "transactionHash": "0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9", "transactionIndex": "0x56", "logIndex": "0x1b1", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x422a35cc65d5697bbc0e04202f54ebb273fedc0d0098cdb659bf0f34d77d47dc0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5", "blockNumber": "0x15fb304", "blockTimestamp": "0x688d3393", "transactionHash": "0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9", "transactionIndex": "0x56", "logIndex": "0x1b2", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x85403b4cced732e88106557b5ca0da5813c28e5b66278f0de18fd4cae5e3b8e9", "transactionIndex": "0x56", "blockHash": "0x832f0334e29d520f7399b2a5b3f8142f48163a8790ae5f47a5188087ef51c6f5", "blockNumber": "0x15fb304", "gasUsed": "0x20bfaa", "effectiveGasPrice": "0x144a197f", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084245, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084306.json ================================================ { "transactions": [ { "hash": "0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x56ab6e4a3a37fee3b876b685d85c4ea6726a0093c84dafc37137e5d4c7af23d92cdd258f06044a421d3442cb37d6d62878554e4df9c00e01e2689d8e0ba2db6c1c49558faa83efa0d8d715d99016920ba82a217b9e524f790639bf198cb0e6674363de66a372fa30fd57fc929a05b43f9b16e9bef7ed87ce4394fe13db8a23f65b1c3f5143eacb1fd30a9670c98c2f0d3ffb6091ef03f98483111fe04f11aac3292a60ef39153a257d45dc8c09580963da023363c8a15f57134ed724cca9279a407c1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3b89", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c356ab6e4a3a37fee3b876b685d85c4ea6726a0093c84dafc37137e5d4c7af23d92cdd258f06044a421d3442cb37d6d62878554e4df9c00e01e2689d8e0ba2db6c1c49558faa83efa0d8d715d99016920ba82a217b9e524f790639bf198cb0e6674363de66a372fa30fd57fc929a05b43f9b16e9bef7ed87ce4394fe13db8a23f65b1c3f5143eacb1fd30a9670c98c2f0d3ffb6091ef03f98483111fe04f11aac3292a60ef39153a257d45dc8c09580963da023363c8a15f57134ed724cca9279a407c1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2e", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1434282", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ed847ea7b5bbf0ef89113519cc9a0e152723604c00000000000000000000000073c20e0f8ed6e3772a47aa1423897c444d3e4fe9000000000000000000000000675aa1027c104c605ff7ad4aa9197c29df85d6600000000000000000000000008f8bd54b8c7dac94788ff5fb73628aff09db7f6a00000000000000000000000075e86bf157388df68e714ae31cdcbb3727fc4b93000000000000000000000000d2a2683b327954d56dd7e75120c821ba7c328f270000000000000000000000008c88393ed220d6566f9ef47cae1478bd5b45d7e4000000000000000000000000d7e9d18153de624713c18b1ca18a238c42033ea5000000000000000000000000536299004d15c40458702cda4a99a1f1eec015050000000000000000000000004e577a32c447d890c4d8a984d198c68f6204f8360000000000000000000000001056e8dd5b873be12428b8efd00b43996f81e3f7000000000000000000000000ebed72802bcfc5400b712caa56ee6db7cdcfe68300000000000000000000000024fd0fcbcd5d09a900c3c18501d1688ccb5fbf14000000000000000000000000576843032fe7c94bbce1e1e62556761008cadacc000000000000000000000000b53472b833f464189ddb27662df2a0dc96a9098500000000000000000000000016201e6cfe70a6fe2e28fff8509afbebd48f028b000000000000000000000000f6945a33ce4e9425d094e53e1467fed7ea9a89f6000000000000000000000000d5ff53f48f14e9409b581e41a4cddfe0e97dc7240000000000000000000000004a395b0efc9907a195c81564c10a985c7e9f6a15000000000000000000000000c18767749fea9fafacfd18d45896443b04ed738a00000000000000000000000031ce44f7a8a92208dfcbfca3358de9b70976a528000000000000000000000000065dbf25eed046ca437b4913c7726d34fa60c7db000000000000000000000000dfc69bb31ce173a088a860d0e66a532a1ee1504f000000000000000000000000cd6c0aea02d1857375592042474a8b2c6fdfe0ee00000000000000000000000065245cfed3ccb8299c073ad15604327c18bb5413000000000000000000000000b43207657d01ec997e85cd95b8133fc6ec0292a6000000000000000000000000d94dbf2c1fc5b4c9ca277efc7ff19da7659d9925000000000000000000000000762305a7ee4226a32e7c226b2897e7c7bc5316310000000000000000000000004d925ae054c5c8095eb80c3092cba85ac01353550000000000000000000000002b987c3a64b465d91f02fd237c601d6d9acc72600000000000000000000000005aed22bc89153d591c61d61e2325617b779353dd000000000000000000000000941e920177ff53b3aaf805fa424d4e6469fe38d8000000000000000000000000a33d4cde3660a11a57b350573989b06a7a29e5dc00000000000000000000000047a1d54f8b254aa708fd3ffc756a4c3131af6bf10000000000000000000000002fdd6ca72f6c193d26843992095bfdd01bb9abe40000000000000000000000009b7cb24f7ee022fe1c67199fcd99eae415dde47f0000000000000000000000007d7ff0c00ca185eb725a3f0c5a86c4968cf7eec8000000000000000000000000eb74d2fe5037d4497423faa07e0979a0a1896884000000000000000000000000c1bf36108f95cfe451c1b4d06243adf71dc7f618000000000000000000000000196a142872fcf4810395407c2b14f13f4f5a24da000000000000000000000000917025d0db63d06d78aceb341645d895ff011d10000000000000000000000000f25af5572b696c979fe5ab8f5837f2d79c7adb73000000000000000000000000d041e54798b9292635e7b443adf8e695165bf8220000000000000000000000003eb681420eaadbe13c1a958dc6a6c283596541260000000000000000000000001cb0846479b849e256203047b1cc838559028315000000000000000000000000cf187e2d65281f2473b11c6770db9c1fcd4da27a0000000000000000000000000b25e396b810baba459d5cc1eecffdde935368770000000000000000000000001611e8e63c55c9a063426deb3e927ba877cdc63b0000000000000000000000004acb730619bfaa6b843dcb2d8c760deffc00b115000000000000000000000000f59d84e6632e3276315c225e463fab0ca860e19d000000000000000000000000eca2a0d61f6ec5bfb41988804ec2c6465fce8e9c00000000000000000000000061101724e4dfa1e64c3647eed544fbf741e2568b0000000000000000000000005e256d28fe21a7d95c4e7548476b9de250b056ab0000000000000000000000004e3fe31a4ce71347b1730acea5f85a5f562aeed4000000000000000000000000790aed275ee4dc82ac2f8b7729b68c87330521d300000000000000000000000078c992008e8518fc2a9f00f26253e42968e79ce8000000000000000000000000a15fbe0518a44466d780fbd86ff5a6576fe5fda50000000000000000000000001cbda05add081f3c147965e9de611ea6b3f356a6000000000000000000000000f74758efc2c42777e31773c58fddb75abdca5b0b00000000000000000000000070ed1a1ef3713f3494fb93fa759d1db3a9ba1e430000000000000000000000008c0da62b2f992ec731ce92fc30b1b5227d8c14a70000000000000000000000005564fdeab81b6054fb5c08fdf7838a7a3ce2d10f000000000000000000000000939f5cd7aeb98c97806fed124b370c6830551dfd0000000000000000000000009762cb5b41c6a5e8e7449cf86aeb5b6230ee71b4000000000000000000000000724008bd0c49f7ffe5edfbe2b1c3b35a8ee1d4be000000000000000000000000db3f6c315fa914331410218919977ad7d03f5ff30000000000000000000000007bba23f927a2a3e2e23c507ffbce47a837b7cfbf000000000000000000000000303c48e228669b33d28eaef0ef4f6e0a5d1f50150000000000000000000000005bb35886f7ec42c9873b2836d2dff00bb06fad4500000000000000000000000011ed4fa723c5163366ee3c8a9e8824e81d6b3eb2000000000000000000000000651de84663589f81ef7107e15bb90fbf53f436bc000000000000000000000000d316467b48cd04113dd895d9ad8649c2cb91692f0000000000000000000000002cd7ed2b2e7141a371fad78a5c5eb28d33d9d9a200000000000000000000000027b52106c0cd7cd30c4ca8230720c2f7ea686db0000000000000000000000000fc906f00b5a1ff25babd7c2b292591b7972079850000000000000000000000002d803aac11b1e28e57680848fb6ff3900d4837440000000000000000000000003af1570c1ab012290cc4917203b31117e4a4adb1000000000000000000000000245f44d92cefff7d369677a1f6cf759f6e017d8b00000000000000000000000056d8a130de8078c33e4a3f6377af6abcdfce4b510000000000000000000000009fcbfaf1986b495a147c53e2b16c97ac9e98fc8e000000000000000000000000fc91638ca207e9d5e0f30de447656358b300720a00000000000000000000000051a4b0d25fd704f6f431e6ea3b71cbd7e3feaee0000000000000000000000000ef9d710a8b3a4c99c3974a52c0377da6389ec2700000000000000000000000007a3551feba6bcc44c136e6e778305479451c61b2000000000000000000000000987972218b91c3e3127948e62620d67caf4d16c7000000000000000000000000c98e65bb7648fccff1009b5e160cc878b1e30ecf000000000000000000000000306aa5853ac89099b1c92a317c61a05d1c7dbdb50000000000000000000000007f9d2edb0a75bdc7d5360b06d33fdf21e08d0eaa0000000000000000000000001bda0a00d113eee140757aa5603c7cca1529515300000000000000000000000059a999ba2f390cb13cd37a2e4ba009632c1b660400000000000000000000000026e897ccadbd161e215f5e562196775a73b842e1000000000000000000000000e08fdcdd1effb28aa64dd4ea9dbbb0b498a8e99100000000000000000000000031c4eb8260e7005aaa63d8093699f236ed9bff5900000000000000000000000098c208bcdde8a2ad8a31c70d50a465ed4b864c4a000000000000000000000000c758b8bf1d2b8a9eaced09894111d809eceac4120000000000000000000000002b83da50c013c6e5753c76e5b6aea4252ecea9f7000000000000000000000000c788027714a45b917658f58348f962652e9fd4c00000000000000000000000000f840f2986f0651a6cacf83a393eaa3e155311e3000000000000000000000000425bba4000f568f9580227a479fd27fa7f2fbda30000000000000000000000009e384d3393b225a145bffb709ebc88eb8292a5f3000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000003837d81aed0000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c40000000000000000000000000000000000000000000000000000003328b944c400000000000000000000000000000000000000000", "blockHash": "0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308", "blockNumber": "0x15fb308", "blockTimestamp": "0x688d33cf", "transactionHash": "0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732", "transactionIndex": "0xbf", "logIndex": "0x219", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe98a37bbfa89dde233ad7cacf8a9b450f3835e75460fa09240dc8af94797831e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308", "blockNumber": "0x15fb308", "blockTimestamp": "0x688d33cf", "transactionHash": "0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732", "transactionIndex": "0xbf", "logIndex": "0x21a", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xab6c964b1609b34bad717dac38e1665b8ea90c3f56774b1274c53a827fcf1732", "transactionIndex": "0xbf", "blockHash": "0xd032fd627d800f3e3dd4b1134a0f3c0557a72bb4cdbe94d3a8017f932f897308", "blockNumber": "0x15fb308", "gasUsed": "0x20bf9f", "effectiveGasPrice": "0x1530b986", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084306, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084378.json ================================================ { "transactions": [ { "hash": "0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x72dc8ac25ece8eac1b9764afa0cada80bc05c23ed58e551f33d6dc115d09c9e6695dfbfc2bfffa362035ac2af7afc89c41d0f0a80e0cd5fc3238d4b86917fcb61bf0d13530784134cc5677178b7be940e3e9285eb37392472626521897af1f244a35ddf9c38edd0426f03ad4bb63e50f2f79b6161c3e1b345f5ece2fa7ab25d0b11cee3b2e1ef887d5b82bb209e9f0dae18978f2f646a5ee6d2a865a20bc2e1e323707183e95b897c80aae6d2403ec58f928f42973409a37c83826e6d12fdb9c59af1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3ca4", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c372dc8ac25ece8eac1b9764afa0cada80bc05c23ed58e551f33d6dc115d09c9e6695dfbfc2bfffa362035ac2af7afc89c41d0f0a80e0cd5fc3238d4b86917fcb61bf0d13530784134cc5677178b7be940e3e9285eb37392472626521897af1f244a35ddf9c38edd0426f03ad4bb63e50f2f79b6161c3e1b345f5ece2fa7ab25d0b11cee3b2e1ef887d5b82bb209e9f0dae18978f2f646a5ee6d2a865a20bc2e1e323707183e95b897c80aae6d2403ec58f928f42973409a37c83826e6d12fdb9c59af1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2f", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x10aea9b", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000db59dd5a1e02645908746fd4dac69734a8559f6e00000000000000000000000025242813b143c293b09bf948542e7ce6b0c3a9d3000000000000000000000000fd34b9ef5af3567c7d0cda889b7146792da46004000000000000000000000000e2ab63c863a6020ad7e1fce1e8518766f68eef88000000000000000000000000edcae5edba43ac331ae04cce2096ca9b72dfba1b00000000000000000000000025f078dc0922e9ad4a390bac9e2f7db6b747b7cc00000000000000000000000001d0c05f9a9b74cebf8fcf2bbfa2257a507089290000000000000000000000001265522e4e6f80988a88ec6fcab4e129cf4a593e0000000000000000000000007152cdffb2ca1d06b945609bb44de862875a3fbd0000000000000000000000001909a2a8605ff743d2d935ec04601b7f2a1ef6e90000000000000000000000008220d2b586b6842ef2bf5a0c2e464924b779dfe10000000000000000000000006730e78fa5116da41347eb4fe7b9ea53f1472a680000000000000000000000005e2f09c515d8ef09855385c551a27235e8bef9a9000000000000000000000000944ca2de4be2bc5379f358b127dd003114bdd5ae000000000000000000000000b6d10e4e399f521aee33929dfa27769879ce693e00000000000000000000000011180325b253dad82be5855af67496ea2a7d207200000000000000000000000070ca07279dd9d26b5768ef92b55e652fc9e9e7a70000000000000000000000006f6078ace0ff7d6f00b2089ad37fc1209a3c49c6000000000000000000000000e772c5b0111e4fa2f16dbe4fb0806d7a936d613b000000000000000000000000b27b99879dc7069c7b036824d6ff5f7b6cab97ce00000000000000000000000015fcce1a868658d0e9270be57c212e67ffe6886f000000000000000000000000f1fd3ac9ba02ebb647428df005531c53c6e28124000000000000000000000000d0fefdef1374051d908ce9543355f145126e70f2000000000000000000000000726f49efb58a5545656931dd0c73e94fa4f11356000000000000000000000000d2f6944bb2dcd619813e8af9d1c3f36d79d63335000000000000000000000000c6628562f0cec8bb01c4ad9e3c862010806b7ea20000000000000000000000008ed294be2b9babefcb29295787b19fbcebf6ef58000000000000000000000000bfb476d5c49e3f002d9d89e01d658684d0629b9e000000000000000000000000b7012d498346216ee9df4d45a995542963e212f30000000000000000000000005d1e8b6722fc4229de9ac0fd111ea4c44a5a64b900000000000000000000000003ddef73288e36987eb1c6df6349a02775a544f40000000000000000000000005d34640eff3826b4736551e51edd75d5d8129e700000000000000000000000000d6037eb6681d5af488f26861cb7270f8e726968000000000000000000000000b866297c54f5764fb21f2d6539eecaf274f635c10000000000000000000000008f7d5e0e67f94ce5652058e7bf67a30c616b684900000000000000000000000065056f8c991847dd55dd2cc7f659271784a9745a000000000000000000000000942ee0abf4ac0552fdfd414680d883555d05d7a10000000000000000000000009cf4dbab25fd916d09f73217b6852cc2347d14ba000000000000000000000000925717a3a1b386595f22fb01dbf974ced9c1b3f1000000000000000000000000c82f4f59719bf7857a3a90b07d42de343b2bc19400000000000000000000000089a531a45dd3dd725d755cccec2d49956da896470000000000000000000000002f7f60f615a835a96a5825cc8c6daf855e1b9129000000000000000000000000759b4e1bce18c62740d9df166aac7282fe4ceab4000000000000000000000000ccdd21dd7a46d804876242a9b8ba17bcdc9d9fa0000000000000000000000000a71d3a7806db90e01f12376b8d5b595c0af95bc800000000000000000000000069b8378fe275d82b1085a9034d5a0cd71e9ca5920000000000000000000000000bc6cbf40d360007be783fbe341011d45c1db8550000000000000000000000009dd11beda19bcbfdb011c3228093cae2f026645200000000000000000000000021f0ee0e4e1078fad47c49ce4086740437cbeaf0000000000000000000000000250249f3f5d3c6860bd880ee4af0a334e0a0cba4000000000000000000000000ed3edf6c5fe600974770b5fd7d9ab25c913a752a000000000000000000000000520603cc23ddee86c87a63e18aaba2bf46e37a2d000000000000000000000000739d1b54808c309b032ce582d3175b2f0ca6a62200000000000000000000000026e1e7c3be29b1efecc072f28c72499a1303a725000000000000000000000000899dd1aa7b48bd343b502a515083e2b34c687ab9000000000000000000000000c7743958a82b51ad0fbbd239c17bfa6a7236d9d200000000000000000000000004037345df5ed2180a7fa3d25d42ad6e2c4ecab50000000000000000000000006810f97136c06ba2fe144afbe4eb97b3c783207b000000000000000000000000c032792a55e9a09a6097ad3d4d548239f9cb6d07000000000000000000000000d7eda4366b535742c679ba5d8a1919f045a5600500000000000000000000000032505addcaf7eb2b85ab391cc23e50faf15e985a000000000000000000000000e0847fbb6581987ca66e955bd6e5138a3642246a00000000000000000000000046b848b490101f44cad5304f17e3dabff81e116d000000000000000000000000312bdb6d28f34bf5c756933d500127bc8b7c719e0000000000000000000000008adbc04f0b9396c428ce246354ff347d9129eb8500000000000000000000000023787e083f1c0c858a026f0d57afc9832204b8b00000000000000000000000000d73cb6fc36c6c9ef68c9f98c461f8bb59032c49000000000000000000000000f75404a4b61cd01eb1b4939fc112512fe1c10f0e0000000000000000000000008d7de37f4f32d176242937e91af4982f284089c0000000000000000000000000ae91cb07b00d30446f0b1fa0848f0d354efdfc8a000000000000000000000000fb535d371d451fb417c7eb21299f862cc04811e4000000000000000000000000370cf245752388d43181dbda57edb3543af10c8600000000000000000000000092e25677ad5e89810836ca36981f4a3a84bad93a000000000000000000000000b01c0c14d10d7e77b470ee016f58124e61b484990000000000000000000000000a2086bdc057be62d535d2352f39b827b988247800000000000000000000000086d08566c4be8516fee3686f05a743d2e12d85ec0000000000000000000000003d09b85193d8fda1536a35351a1480ec1cf4334b00000000000000000000000093790941273227ddc5e4f29d140c614f2bab275100000000000000000000000082a46bae1ca2ea372cec64e0ffff7e6a2e1bb0f9000000000000000000000000155012b32d9881b571b3bdb5e16b5a8b44445a44000000000000000000000000d3c6a99a4d1f1cf3b74acd4f65857a20926e5481000000000000000000000000f48cbc850d4b0fa08e5075c135dee2e407405aae000000000000000000000000039434be2cf69632bf03793fe88cb9bb792f2bc3000000000000000000000000910d4d99fdfc92e9076542e8f2d2ceda4131a57a000000000000000000000000e0186fcae614de6f53f75cf3aa27d501090416590000000000000000000000004ae7357ea855f649dfd84afd7740f4c482c856ca0000000000000000000000006f99cfcd97a86b5dac4542ab5b2a2af8a9cbf567000000000000000000000000090fae9ec7d95e7fc9963a854bf3685ca6421722000000000000000000000000238603aed394b2a19efa22a6e46374949dcfb38a00000000000000000000000022a40ae5a69f40a375afc79455a98d9742bf365500000000000000000000000014c8d21949c01c277de3823443ccc3881c4652df0000000000000000000000005d155b8de2bd028f3a3a2998370cf94b27550c75000000000000000000000000e4db7b5697a1e0390d8da348c4871404440b949400000000000000000000000026500fbc806ee509b41ac6b05c0aa94f18832ba90000000000000000000000006f1723f9f3c9bef79246003020345bdf61a1dec6000000000000000000000000f0359e93c0ea71d605400865f9bc3b2fa3fb254b000000000000000000000000d5d4b8a629086a52345491a4e8164af88154c1ee000000000000000000000000f43c52438b14064618b9992fb0016a378dadd8f0000000000000000000000000f0478e1189c21ddf83f15cb7979f43442106aeaf0000000000000000000000005b13df44a1b1f596aa4ef62233511e94d74b042800000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000002e9c11f46b3a20000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002831acba5539200000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000027ca57357c00000000000000000000000000000000000000000000000000000024f2beb1aa000000000000000000000000000000000000000000000000000000231e6b3c5c9cc000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd8000000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000020f81c5f84000000000000000000000000000000000000000000000000000000202c624f160000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001fd51291300000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f438daa060000000000000000000000000000000000000000000000000000001f06badd0c84c0000000000000000000000000000000000000000000000000001efacb36710000000000000000000000000000000000000000000000000000001ecabb16f3c860000000000000000000000000000000000000000000000000001eca5efc1ff240000000000000000000000000000000000000000000000000001ec8c45f9ec6a0000000000000000000000000000000000000000000000000001eb36672a8ec90000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001eb208c2dc0000000000000000000000000000000000000000000000000000001e7add996fc600000000000000000000000000000000000000000000000000001e57db6f74cfc0000000000000000000000000000000000000000000000000001e49e895d6d6c0000000000000000000000000000000000000000000000000001e23c174cbe930000000000000000000000000000000000000000000000000001e2083dbb20000000000000000000000000000000000000000000000000000001d8efef4880000000000000000000000000000000000000000000000000000001d07cf0221c000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001cfd7a0d5e0000000000000000000000000000000000000000000000000000001c921568e98000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000", "blockHash": "0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442", "blockNumber": "0x15fb30e", "blockTimestamp": "0x688d3417", "transactionHash": "0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013", "transactionIndex": "0x69", "logIndex": "0x1ea", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x38cb987e4b33380a89faa13d168df79b9a40013d1e11b5a190859d8c5abde2c80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442", "blockNumber": "0x15fb30e", "blockTimestamp": "0x688d3417", "transactionHash": "0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013", "transactionIndex": "0x69", "logIndex": "0x1eb", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x01f8a5af31a893ab170ee365e9d3a03ead57669df6df5a42758434a8a01f1013", "transactionIndex": "0x69", "blockHash": "0x3490c2658a31e83a4bf6858d97b24e24365df74b1ad639b1e2c5024d56cc7442", "blockNumber": "0x15fb30e", "gasUsed": "0x20c02e", "effectiveGasPrice": "0x11c45c21", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084378, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084425.json ================================================ { "transactions": [ { "hash": "0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xabaa128cfde420231efbd798fcacabb97c6724a99c49fa96455d784f6388652f0f4ab72b304f87b29a6057c031175dfa3136b25d4f0dc5b727b7822c7598e9c41c68d6dbeb89533f7c135b4bee7611eb025fbbcb839f0be010047a10ae7f70e6642435e16b2ccaf51b2cd44c9e33331733f70e0a14fe5e468f7ac38ad35f9a43611c7d7155e3ab34da4eea7b94d79098a6bc3b2a9864960407f15479b4812782f1d333d6f6d4555082d45cc71e11c620a6c21cbc16c7fe1ea627df1b946a0c6d99001c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fe2e9", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3abaa128cfde420231efbd798fcacabb97c6724a99c49fa96455d784f6388652f0f4ab72b304f87b29a6057c031175dfa3136b25d4f0dc5b727b7822c7598e9c41c68d6dbeb89533f7c135b4bee7611eb025fbbcb839f0be010047a10ae7f70e6642435e16b2ccaf51b2cd44c9e33331733f70e0a14fe5e468f7ac38ad35f9a43611c7d7155e3ab34da4eea7b94d79098a6bc3b2a9864960407f15479b4812782f1d333d6f6d4555082d45cc71e11c620a6c21cbc16c7fe1ea627df1b946a0c6d99001c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x30", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa6c07d", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cd7f5dc410796a4e8d7e1dca7ac20445cf2c1c8500000000000000000000000060700440491b6d13a35aa11015bfdbb4361bab5b0000000000000000000000007b88522dfb1a166c06b606ecb3ad2d9c6b7f053a000000000000000000000000684ae210cdf21b3f8181759b49d365d87d08b7c5000000000000000000000000d5817164ea1244b8ca7d18b3861fd45dcbcef3800000000000000000000000007acd95e98e978391ccc140d120be87f138d7fca0000000000000000000000000571472eb90edaf589035162cb8674fdbe0fe1b670000000000000000000000002a6336cef40dc83dd8b16bd9a2633b9d2049edf600000000000000000000000053a567d00c6438ecd68c82c0601e6c565df2101c000000000000000000000000e34c296b3a9e8caa7f72f73b2f13d9ddce4e2427000000000000000000000000059c66e8945b5d641fc16b3ee64928256fa19e6a000000000000000000000000b196f124b9881216fc9b8072c5798941201a7003000000000000000000000000e339b828125f0191ff5a6aca567db1c172e2f0d60000000000000000000000003cabf1ca6ae455ac390150bf87689eadd957ee64000000000000000000000000a3b4892f672871dc28c0aa26688f1c43f06181970000000000000000000000003bee34830a3c89b240a49633cdfae5429fb78a95000000000000000000000000f897422dbdcd47c0f30cf186cd65e53716852ef9000000000000000000000000e5b9e4a865382d4e3a7c7b8d6d29523a97be71ad000000000000000000000000afdafff6439c597b5d49c8650427681714abd40a00000000000000000000000097497498e3b651de88da1cfb50c61a8d1d8ab3a4000000000000000000000000c66308d190dacdc803e043da5cd6ecd1e2158c3a000000000000000000000000ff289b410be1c180f77d716e0f07f591139f2ddf000000000000000000000000fab738889b445d589f85727c05fcb16c935b19be0000000000000000000000001a1982a361f2746c1994a7dbc407e7c0e004afe1000000000000000000000000224636e700933193841b89c52f68a55e767fee5e0000000000000000000000004fac36db18a86dd8b17c5306e319fa608b270b58000000000000000000000000f983c9cc2816cb0a9ccade7fdafe9760a47a2cb9000000000000000000000000626d3f8aeb247dae455dad85c65fdb004f6699d000000000000000000000000095f7ba743d92fcfd728afb88fa1a62f62dc72c900000000000000000000000002345ce41c77e85f566a85a75c84f3cd15d5b8546000000000000000000000000603509391b2e0ed2992a506ac0c313fd4187b05000000000000000000000000085b17659615fe7127aea0745982e9007c1285cd10000000000000000000000006201c94d1b3df33f9a7b29e4259353b9cb4a9bec0000000000000000000000000be4bf64af045dc405f4e9bba4230607e5bef84200000000000000000000000066c40b2baafc8d56f872451ed3fe13e310e2ce3b000000000000000000000000e538b5d7a04b13778779bf05ec09e404e3057faf00000000000000000000000093a81ae13890400ff63f17d9755aeb6f47318c360000000000000000000000001b15e7c2a7faa3cb3141b1078a37076d7f08847b000000000000000000000000d197509518a20610db751c9a04eb14c3a3a1330a0000000000000000000000001bd3176a95632ec0801d4d41520926e70bfe2a8b0000000000000000000000007dbef3d6289de0575406e6e4433d9cdb58fcaa0f000000000000000000000000784c9ba7122224467a617c5f844817fbf1dfb4cf000000000000000000000000a783162ce2044ac9ac86fdae1c6088d4322ab3440000000000000000000000008bce8da512cee9191b2c3ef9aa6d894ece885b010000000000000000000000000180baa3cca07402f3d2b09b2f2437c677e56d060000000000000000000000007e3fe574e68929cef4e6a7eedea1f66d20c1c0950000000000000000000000004d399d7445e78c68b96af66ac54c8a4edc913e9b000000000000000000000000d8fdda136f9f4bd543402a714d653413cc06ec230000000000000000000000000000e4090a1c217b90256eea1915fdfcd1bbae64000000000000000000000000abd2a942d3d365563ffe8fed5e11f1d377c2d5d40000000000000000000000006b2b94b69f03f3b3a917778e610f41f1318a5bf000000000000000000000000086348eda998780459d06b940f905145b25a397ca00000000000000000000000045a139331f472c4702f1c756c0253f4c80564122000000000000000000000000ea98a37ce62f2342a3eb0ad9edd9181c383d895800000000000000000000000095d1ba73fd9d3b3a2ff491b312d5eb9f462a649a00000000000000000000000090f6e68fe4bd0634fc5c7c1612c01ba80e95f8b2000000000000000000000000926bb3319f0b27c8151931fd885a009279fe54170000000000000000000000001168dc6686f19be98917b91c8e55e81176cf0cbf000000000000000000000000c82c3b298f5f574f42cbe041d5fe5121742c6a6a0000000000000000000000005c77b0988d2fe1d1be6d8757b19b0d42d96917bb000000000000000000000000011478e8f9785eb5a8825afc9ff7524530d4f9120000000000000000000000001ed0c2113cdefa472d7841e0a21422d84d8f41fa000000000000000000000000c40409ed25b90650b1f1dfa220d96141e8b8fe03000000000000000000000000c1ec8a8a12ba56355e6a59cfc64010f165a522a000000000000000000000000063513dc903567285d3cac61e499fa1a082b78f36000000000000000000000000b17fb3a034087b011545a15ede4b8b961bf84806000000000000000000000000326a8825472bb0f4719998e708a1eeeb4473ed1b00000000000000000000000057c5b9a0320a446a4b12488727fb0d8a6c2fb71900000000000000000000000076eac5cda3d3c80232a8a7bc126f7d6652a17da7000000000000000000000000940f5293be23c4d06f9f561f2df79457d3782e1e00000000000000000000000080bb826010b8c66457bb23b34b4640db69de8f2e0000000000000000000000009b863db993d8bb0c8b6514ea056baa57e38021b9000000000000000000000000c6fb9864b3e76c69a9716f242c86d3755071d49900000000000000000000000071e6e71059f123c56b9b870b2fb763f4b743cc910000000000000000000000007edfbd2d04505e74ea6ff6c1720275a9b16a38690000000000000000000000007bf499b5944673db7c2d9a27cc3ef72ce59ae1ba00000000000000000000000048fd9ac268360bd394de9a63781010f4ab83ac880000000000000000000000003310e91b1ba34d59986baf5da78afea79607b11b000000000000000000000000e1fa108524a7369824c2c5b019d43b78a5d0afa6000000000000000000000000052d88166d15bb97b0ea58e295b1973ebfa586930000000000000000000000007bfe971084d2d56c5ba0bfcc21f754c9a10671ec000000000000000000000000b06428af321598ea54cb34e14c9df3d3b09fe625000000000000000000000000fe222bd8fcc0d6cbec595d2ee000fc4c5f91b906000000000000000000000000b3fb4369d1079dc85c10ac6366b345925df71adb000000000000000000000000540cb04ebab67e05a620b97bb367ac5e4ed68f09000000000000000000000000ef9d5de0d4b71c76b6147a6137f2978da3a73506000000000000000000000000089da3a56d0ee629d83cc301d1722ab94fb673e70000000000000000000000005e3c1a53f61e9cb9ff5fe89ac4fd8fcd3f7ea6eb00000000000000000000000080b3fd7c78157262d289fad864fd3a1c6f7fb443000000000000000000000000d5ea63c170b6a6844e51b3978361be5f28b63daa0000000000000000000000009b9928501f034139195fdda9ad43c9ec9857fe610000000000000000000000004ba85d44740d7c532e92acd171a79fb31b3224830000000000000000000000009cb720f52ac7e777e503c456da12e9670fae6ead000000000000000000000000bdb2ab7c1dfa51c389b966bc5991e37c0120b1f7000000000000000000000000344dc8824ae7ae66a3d68c81ee35da38d8918ec7000000000000000000000000bf60fe40eb2b03a9a105697804987169c5fad1840000000000000000000000000b30cf796e8815157a1e3b8434edef6da4a1d362000000000000000000000000e428a0082eedbca76a516002cc66ce5bef42efb90000000000000000000000009ebb2b1334186b5dbd1b2ae677a47fc89085115a00000000000000000000000098f830348209e806116cf0ec52774448007e41e200000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000019945ca26200000000000000000000000000000000000000000000000000000017dfcdece400000000000000000000000000000000000000000000000000000016f2e6330500000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e9000000000000000000000000000000000000000000000000000000016bcc41e90000000000000000000000000000000000000000000000000000000153cbf358012400000000000000000000000000000000000000000000000000014f9a81ec100000000000000000000000000000000000000000000000000000012c221cc6a000000000000000000000000000000000000000000000000000000119f17fe1600000000000000000000000000000000000000000000000000000011908ab3c50000000000000000000000000000000000000000000000000000001148e073cc581000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec000000000000000000000000000000000000000000000000000000110d9316ec00000000000000000000000000000000000000000000000000000010eeb5bddfd280000000000000000000000000000000000000000000000000000fea8948980000000000000000000000000000000000000000000000000000000f5904616e0000000000000000000000000000000000000000000000000000000e8c458bcc4000000000000000000000000000000000000000000000000000000cbba106e00000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000943f651930000000000000000000000000000000000000000000000000000000820ec833f00000000000000000000000000000000000000000000000000000007872933db7d00000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000006e0c8204900000000000000000000000000000000000000000000000000000006d23ad5f800000000000000000000000000000000000000000000000000000006d23ad5f8000000000000000000000000000000000000000000000000000000068a315284fc800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000", "blockHash": "0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9", "blockNumber": "0x15fb312", "blockTimestamp": "0x688d3447", "transactionHash": "0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f", "transactionIndex": "0x86", "logIndex": "0xd2", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb5d034c62f7e0e992f3e217c1a1e54266ae2df0378497ca9d48e52b8821bf8410000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9", "blockNumber": "0x15fb312", "blockTimestamp": "0x688d3447", "transactionHash": "0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f", "transactionIndex": "0x86", "logIndex": "0xd3", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xe1043ef42e940aaf81a8e4f7bc8f2221dfa3c6790b93e12e4c59be3da945195f", "transactionIndex": "0x86", "blockHash": "0x22a59f2c4107234b06dad6c519deeeb1cd48a35f2308920e2f81fbcd40f189d9", "blockNumber": "0x15fb312", "gasUsed": "0x20be2a", "effectiveGasPrice": "0x126e97bc", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084425, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084474.json ================================================ { "transactions": [ { "hash": "0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2349d196fd9be998876d8aaec62ed45cc9a6effb280a8cbca73fbcce0fcb798b14364ba9927ed1cf8ee93783f5c042f4709bdff5c9e36de247287cafa2f1aee11c2246062c49d75dda0191cb8aa856998df498c8e1ee872206be7ecb6e1496818f1c20e6ae9448b73a5d85dac202a84b8bfb4612ea73a57b53e7add91391fd3fd81c4cae8f7003deeba2f4046f9c1102ccda86036fe835bdb6249f11ed62f727ce074e31fd34ae1a9ff2d2a324629bebb4d97bbc6e4a68cebe32b7847777434a2f661c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2fdea9", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32349d196fd9be998876d8aaec62ed45cc9a6effb280a8cbca73fbcce0fcb798b14364ba9927ed1cf8ee93783f5c042f4709bdff5c9e36de247287cafa2f1aee11c2246062c49d75dda0191cb8aa856998df498c8e1ee872206be7ecb6e1496818f1c20e6ae9448b73a5d85dac202a84b8bfb4612ea73a57b53e7add91391fd3fd81c4cae8f7003deeba2f4046f9c1102ccda86036fe835bdb6249f11ed62f727ce074e31fd34ae1a9ff2d2a324629bebb4d97bbc6e4a68cebe32b7847777434a2f661c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x31", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13e44a8", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000003fdaca3beb3079cae2cca5a484fa1781d3c83403000000000000000000000000a9a04026574f342a041dfcc76c3a20e4bff9f5e6000000000000000000000000a063a289d0bcf2f26e6ddc242cb58d1ad34e5bd000000000000000000000000094d0deec69bd67d294b78487a758cfb763c6fe27000000000000000000000000508d5484653431db879202b7ee326974ee570f83000000000000000000000000e6aeec13e8a19132678bf4d0541d99e9923f071a000000000000000000000000061eacad9b5dc7a83f4b7458753f3e1bd3947c09000000000000000000000000cf354e360ea86320dea7f832bf81093d41bc035c00000000000000000000000030ef0f115729f3110d492f2bdedf47a3a947116900000000000000000000000052f24cb949580a3fb12734222655cce34e9e1d4d000000000000000000000000e5e840cee9c90f3f8a25859552b298fcc90c200000000000000000000000000087d4a19c75ed144376ca14b1c27332513e5aaa99000000000000000000000000bc08e5a74521faaa975583e3a8acbd7f74ba3f9c000000000000000000000000204d3807481211d80c2ef467afcc6431f0dd567a000000000000000000000000186e610cc55f7a3b76bc01fdc03ce57ad60240830000000000000000000000006f8f55ad1be99cfd810417c07906d295762f87a50000000000000000000000002be0ff6f4acc4215bc15ccaa5db913e83d98ede50000000000000000000000000f479ec036e34e9a66becfeee1ac68495e891d70000000000000000000000000fa065cb1d1ce6af01b7d2d304d9b9e7ba11479e2000000000000000000000000dcdce415cc8d7e363d5b7f662ce0a12ce61972e4000000000000000000000000f447115b338e6f03f7241734cef9b0a1b68936d90000000000000000000000001f5e37348a490c60f09691d330c6e1c6e42aa4880000000000000000000000003024d5511f5fd48826cc4aac8ed875284f2cc1c6000000000000000000000000cc421ac7dbc5dd47356715c05f829125ff231653000000000000000000000000a664b904d8053bfebc881f1d36ac1476dbb0d1f2000000000000000000000000826a5e358e814416aea3f760b2cf9a665cb5555600000000000000000000000014297aeeb5d308b0e487daa1e28624c8819e19fb000000000000000000000000599ff99d703c2720300b001b561169b42583a4550000000000000000000000001ae58eb47dd61819520e274f5cf3ca7c62679adc000000000000000000000000f4e2fc5424bf01691afd682a73c09afd992de1a70000000000000000000000000493ef871f67bdbffd5a3907f7366dd0768590cc000000000000000000000000f4bb872c13dc5e61015fafde54ed970d113f44720000000000000000000000003bf83c896a1c1ba5aa01dcaa09fda52e25d249a7000000000000000000000000b3866fac54bc1ff4d3656ad6131ea7076d9fc3a60000000000000000000000006bc623fccb43a45943f82d6c890203b1ca81796a0000000000000000000000005b73b03b24996f3735f5e74c7724d9f98d34db4b000000000000000000000000905c682c3a9fb309b2e90837b2384070c0bbad60000000000000000000000000382de616dcaed5e126927edb34763d09215cc48900000000000000000000000078209f878396850007b632d648edcfa771154fb60000000000000000000000000e90a9867ec86bc06d1b52c394ebc6feace6cd3f00000000000000000000000043e63b476b72ed9f35a4de0612d40199710aef6d00000000000000000000000086612daabbe9833ec3d175ff8951b409791269eb0000000000000000000000008b3a49b827472f8529a5b3b8fa48ac407118ad34000000000000000000000000c9ee2604a982ce984fee23348861cd246ef1bc080000000000000000000000004fd9f3f8e6029a6834d4f814044d748f1a48f0a40000000000000000000000002152ec4c17875638d09d4b10a2ae3f31b07c3df50000000000000000000000006db1a3dbb95874b1840f37f1844729b6d4872b7500000000000000000000000064f5de151ca43182d4b1b978c1864a4710920965000000000000000000000000bee382c4ec028c62676b4e48f0d5048691f808810000000000000000000000007fe33afe1109a52d7f6311cc0b8b8388d547ea5c000000000000000000000000e91b1d34ae27a4ea7f8ef21a0367ec562d479fbd0000000000000000000000004373c220edd895e90b994d5a7c9cdd7d2a951e3b0000000000000000000000006abc587081c7c9ebbdd84d8ca7dc9656cb64b76c0000000000000000000000002f670cef2ac736d1015c53207b81d390382e891c00000000000000000000000091c02d87adcd691901d8889708e76bf37439a1a4000000000000000000000000876b50bd18470f9d27882b713d705c4063edec5c000000000000000000000000b2c851ed3f04851c9dbec4adc1465c1352a153c4000000000000000000000000d58045868c84793d378876d31e17d90124c82e0500000000000000000000000054a7ede07e5af20530ecb65f850ab7d20dd308e8000000000000000000000000120a111e185b5137d3c4ef364be553384c6598e80000000000000000000000006004496108ea4f454562a780fb536f87361a1c62000000000000000000000000ac6c79f3e48809088114b794b92b4ebb93bac97b000000000000000000000000c7fdb3f5063c133dea7a95d68e0b336053405312000000000000000000000000862f088f9d0794ef021c03fc5ebe198308da9b51000000000000000000000000f240635e9fd0bd086e26a3808dbf0ded94a990fd00000000000000000000000080466b5d78ba181e32c0810bd468fed1aba672d3000000000000000000000000337dcb0a07961e39195c532f13937af7df9b6eef000000000000000000000000de59972b741983f825c2f1fe41119be62c12d8790000000000000000000000001435ad42a9eac4fbe74a625ac7cd47409624c753000000000000000000000000b68a5910d05ec5bd829dad8460527b52bd9eb9bc000000000000000000000000dc5f533644831b1739d9b3d858c2bba9829b837600000000000000000000000085c6927bc5217873a07465638e767edd440db54d000000000000000000000000bd6177d48696dc7d56c50e37dd162e6006180e5a000000000000000000000000fbc6809144a37ab60f221505ddf91c4dbd376b7a000000000000000000000000fe2d9c55f579aec7d56078e49faca3791b97b24c0000000000000000000000007dd9db83850b8c3f62dbe5f38a85bc7bafa0bb49000000000000000000000000b0d0641247334404e43f48742abfbc2a4153f7ed00000000000000000000000082e2d2727395b315e461d56df8e46b3eb47c6e0f000000000000000000000000d6f50e71de664d19e2781c09e2da37387c03f20400000000000000000000000081eed6f3c2cf5d880f16841375a5994927876baf000000000000000000000000870a61136ed491f97bb27e081e8adb3da4b74f18000000000000000000000000ce741154e6627ac04a7e00ef289a53110ab9d3ef000000000000000000000000d1c8305b509e3b0f870c5999648f14bfb6121c040000000000000000000000002799f2cff4f607462d052f0d33c1d1671674f32c00000000000000000000000032618f82fb8d53de77e958b39fdbe8891bd34e1d00000000000000000000000017858aba4338bc859cf27a3485eeee8ae5b157390000000000000000000000009eb0da56e624a205563e89330ee9dc1dbfe2b105000000000000000000000000e60a61d91deb35d8ae7b6fd53bc21bde19e376e6000000000000000000000000721d53b6986634e800f355ed18b1efc01b192ffe0000000000000000000000004dbef3bfca8d83e57c09371a77a8add25678a5bb000000000000000000000000b8dfa020896f097fa28cdeaa7d56e77860669df5000000000000000000000000dee108b504d604097df48daaa9db301b2f8742e8000000000000000000000000d1932824ff1c985f195aacf6ddccc152f77421f5000000000000000000000000581377db9436609b8d1fefcef58750aaaeb1d2910000000000000000000000008fc9da6b28cd119644bab6cf8cd0eb44ff2a001400000000000000000000000037ee1fd3150b19d9e072e70e69071013ae6209110000000000000000000000001d06e5ff1510c1e25b9603abddcd2d872468267c0000000000000000000000001f5a65ac9408f5478ff99184dc18a436f08e605e000000000000000000000000e23f9140bbd2a766867f20fc8e71b7abb17bde550000000000000000000000001746cb8c15d19ce86c8eda4cc6d00f396fe6a9ff000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000005991296ae000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048bfe3ee5200000000000000000000000000000000000000000000000000000040c87e1b01c000000000000000000000000000000000000000000000000000003eccf4b8c40000000000000000000000000000000000000000000000000000003691d6afc00000000000000000000000000000000000000000000000000000003691d6afc0000000000000000000000000000000000000000000000000000000344cb06de46c00000000000000000000000000000000000000000000000000003143afa6cd0c000000000000000000000000000000000000000000000000000030f9c347b60000000000000000000000000000000000000000000000000000002f0186343dbc00000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d200000000000000000000000000000000000000000000000000000002d79883d20000000000000000000000000000000000000000000000000000000246139ca80000000000000000000000000000000000000000000000000000000246139ca800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001ca62a4f780000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b48eb57e00000000000000000000000000000000000000000000000000000001b33d8c1f3b900000000000000000000000000000000000000", "blockHash": "0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd", "blockNumber": "0x15fb316", "blockTimestamp": "0x688d3477", "transactionHash": "0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424", "transactionIndex": "0xf7", "logIndex": "0x23a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x97dc8716f84ef1a0a85dc59cb7568db79daff2803a0b233a9c791bb2c2dadbb10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd", "blockNumber": "0x15fb316", "blockTimestamp": "0x688d3477", "transactionHash": "0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424", "transactionIndex": "0xf7", "logIndex": "0x23b", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xcabfae422769f2b4f6e2e2d8e97ad81c2dd5b2bfc3a0db224d47a12e23a32424", "transactionIndex": "0xf7", "blockHash": "0x8fc36f348c2319d5caebc0cea14de7f3131d18c32e2798fb64b4ee42c58ed5bd", "blockNumber": "0x15fb316", "gasUsed": "0x20bb42", "effectiveGasPrice": "0x14a4a967", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084474, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084558.json ================================================ { "transactions": [ { "hash": "0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8825b8cafa5b0615041e1fd18ae091868d552b265a9213b612468f3ceedf4fc44ea57c085dfdb75c80a14f3a363ad727fe1d487939acb9a3a368222de7f60e321b6e21a40d742e655c344b3672f9f81c5dfa8668e64d908ce9512c372f3be065d8526a48ed2267c5b2c0afe6e06bc2eb0cb3bb15f39955f5382fa76870069af64a1c562c58de8113fc8947c7c41e51ff54c94d705a05a42d722a7f61582ab689c2971492837d2dc411fddf9b36b93b91cd00bb8352a7a0d1939bdade1c2d159269841b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3561", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38825b8cafa5b0615041e1fd18ae091868d552b265a9213b612468f3ceedf4fc44ea57c085dfdb75c80a14f3a363ad727fe1d487939acb9a3a368222de7f60e321b6e21a40d742e655c344b3672f9f81c5dfa8668e64d908ce9512c372f3be065d8526a48ed2267c5b2c0afe6e06bc2eb0cb3bb15f39955f5382fa76870069af64a1c562c58de8113fc8947c7c41e51ff54c94d705a05a42d722a7f61582ab689c2971492837d2dc411fddf9b36b93b91cd00bb8352a7a0d1939bdade1c2d159269841b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x32", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xcbb10a", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce000000000000000000000000000000000000000000000000000000000000000640000000000000000000000007623d7a3dd5c96178e48bd49d3d715dc7a0f510900000000000000000000000050a62e383237a5659e0b83cb81fe4629745ce4ac00000000000000000000000044ff225d45d358d519614b9985ecae6ca68829a0000000000000000000000000f8f56f91c5b7793a8bdaf881aff6639803fef20e0000000000000000000000006fa9b0c70fa3e528cb82f2f699c208dfbcc17e3500000000000000000000000044d585fc510c5d30d909d83563fec8a47d8d264d0000000000000000000000006c8bf987ab3d9b2c756700689e9797efbb73b93e00000000000000000000000013ba1a3ce15b9b7b21c8739a2f7376c9f82478e5000000000000000000000000008f8333b7f79999a6039800c0bb559620661077000000000000000000000000470e39b83a8517829cbbd74279aae0de7a4cb04e000000000000000000000000ee7031799fb3d362c729a04de80d6df6d71539aa0000000000000000000000005126f9f3522ed030f4728028e141026924bf1539000000000000000000000000dcb18e78fb0112c6fde6b55ff802783895d8aeee00000000000000000000000006afe6aff701586643fbe13f837f6b843e4c1ac60000000000000000000000004dc0d32c3d30238bd6caf508c631202d6268888500000000000000000000000069c10a21cb95b5ce1e80db621d3421162dff7c13000000000000000000000000b4fceeae6b7f678a4a33f0ef7f37c640a7e91171000000000000000000000000e0e5c9f687e89c08fea55f2a772b986236f4f09b0000000000000000000000004c6d1070a8b52f6e4e1c9d0f85aad6664007e158000000000000000000000000e54f5a1db7a3a7d0d2d93e2d50c9fa3e538edb9c0000000000000000000000000a3e5705a2acfa47ae86122eeac7dced7dcdbb4a000000000000000000000000e096fd8ef14901305a3cb8f2824961c3403d41b2000000000000000000000000402231e1ba43112175c759202d1f806e093a196c000000000000000000000000a0329953610d575b5642803c804329ffe60aa07e000000000000000000000000b3ff66e0241f6a7ac65b73af48670e01ef732f50000000000000000000000000284d2a52b206335992a155291ecd3e6ea3c5d9c700000000000000000000000056d01bd6cea47eae180a40e82797d1a9c2414d560000000000000000000000008cf20c6df772c57fdc789f0427c8efb797586c1c0000000000000000000000008168cdbeb26874b668cc73a15294868ccf6a8d02000000000000000000000000826946a3ad7160e97daaa07b2de714e12da2e38f00000000000000000000000078b9d812289193cacb9e69ddc787c7b58e3f8d8b0000000000000000000000005908558b0a482d415e1592d3e49a7fae5f015533000000000000000000000000548d9575043d1f31df5891d759874e31245933400000000000000000000000001295058bc52349422f54c308fd18f003a002cec0000000000000000000000000ac7a56bb0041e4871bf046e38943401d9e9bb67800000000000000000000000035f64e171ad10d12a56606c9b244b3fa2c917ee0000000000000000000000000ba572e4eaf49235ab716539caf8ed9f300b4939a00000000000000000000000041f8ed0560b3aad02e2550a5d0bc07637c5d4149000000000000000000000000460c41c83eb52f390be549a0e7ad0115a38547de000000000000000000000000fbb63776cc677d00b27190e464793136a26195b20000000000000000000000004ccb6b4b8429acbac68bd4096e3ca45b5a06a44d000000000000000000000000b8a58aab3f729b9ab0ff96b9938eebdf78801eeb0000000000000000000000006682cede4f8bd59adbb103392f2780e71013aeca000000000000000000000000fc28421f3480a0fee6cacddbc693f40afd8905bb00000000000000000000000088c846e8c51271390822aad661f9fb33d92297830000000000000000000000004e9f235c205db2ee4dbde3aeed521787d25ca7df000000000000000000000000c3fc83c0da92558d9fe83d7385bb35d97df75a0500000000000000000000000084f2e4fd7aa60f96a42c16c7b7b85c70f834c83600000000000000000000000095ed90f8370e2018ed37a7c22bdf1f7616e6b74b000000000000000000000000cfbc6b751c6dbf7b13fcac5dfb1f48ba50856be50000000000000000000000003d05ca3a3250f2652d0260d876a537b852d5a4510000000000000000000000007bac547c6202f6eef8a1441f5b33d08fa33109530000000000000000000000000116b67d5d7facdb32a01304f771cd559db72747000000000000000000000000f353e3d6766ad556a7c69ea9f9b36fed1a0e231c00000000000000000000000042d0fcc9430690fe77d4bc0a0da4d0f543bc011900000000000000000000000020443cdebee6bcfbfe8b6b008035972c2a978c310000000000000000000000009f56982d40688aa9646448bc849328258d8f65b90000000000000000000000001ce4e4ea21cf83d9606bd13eee5febc3aa910cb3000000000000000000000000ab6ce3f6d7d9fdeceb8d3f25a0ac2249ed871b1400000000000000000000000000f4b68270dffb0c5af3a3dc06cd50922721a9b90000000000000000000000003fc704f8691ba311974a13a24975dfef6ab0762d000000000000000000000000b3bc96a93e87cf81702df3f13f93d26dd6ab6f00000000000000000000000000b6683ad5656241b200421a0aca57c6e5c1a2b3ff000000000000000000000000205594b3c519412339a918591fa224727bac94dc000000000000000000000000244853c783ced2a07057dbdac401297f24126f3300000000000000000000000028df6f58ed5c29a718d107bb61aa1660e08dfbea000000000000000000000000c754422b9ee25e593b648f78004e599154d2f8090000000000000000000000000cf34cddc2bffcb0459aa4b16c48473a087edc5c00000000000000000000000091a0f65e9237f94f030f76a8cb55184311fe4ebd000000000000000000000000456422c216de90168240702ae27365b76c6b0578000000000000000000000000de1b5eb448c96439d3bb071676a5b744c202ddf00000000000000000000000005ab9f5bb72b0e7bf91fbdcd330d92306c9d0cc5a00000000000000000000000075d199a07a8acb8970d4caece529a382d7ceae5200000000000000000000000056c5d4476a684fc407dea0bd4751dda900cd22ae000000000000000000000000f7a68bcfa1f27c05dbfab4089dadbe63956bbf5000000000000000000000000009edff44ded96f39c07ac95d68984ba42eec731f00000000000000000000000015e6385ac70a89563f2b033c60232bde7fdabd5400000000000000000000000052cb862def3fa15fefc97e04db09eeb3e32599e8000000000000000000000000a149349cf1e98da8f8f7af3744fe388cf2c81e36000000000000000000000000e655297ec821b42054c6dd52fd1634453813a7ba00000000000000000000000037d9618a4b18edce503aa5e64ab70ed46cbaeefb000000000000000000000000547710a1f715d60fe2f398d217e87a47b631cc15000000000000000000000000ef5f8ec38bce00e3c28c5ec1b78e3f5e62de6d71000000000000000000000000a608581e957ac3f2f09ce919dff16dce7b04dfaa000000000000000000000000eddd4b59398e010d5425cb7ca87cb502f43ce1c2000000000000000000000000f014e860b32748d37f9615476d6bd9d80a2532190000000000000000000000002aab691a3cfc2c53de76d93bd237a0fa6013681100000000000000000000000067306904f6e5d437730887317b4a33e84d267fee0000000000000000000000005f48acc110523a10c39dea48446bbd43606982e5000000000000000000000000a6f563181332394a46ef0af6677ac5d27ef354410000000000000000000000005931374face7ae4c5b8f1f5435aed00d26d09ad3000000000000000000000000acd86084c943017000b9aaa0bc38081d352bd2b70000000000000000000000008b93e6152a4d42db628059af40dee0896055e1b90000000000000000000000000e3e96001cc103f563c54bff3a7fc03527f89eaa000000000000000000000000d2ad2ce01ad27835746f72e396c2a130ab6444330000000000000000000000009f71c380b21acc14c31eab3df8b42a59ce18a292000000000000000000000000ecb9db060fae371b0850b12fa730c9dcf1c0909d0000000000000000000000000b614c99d7ca9a0a1b9f1392b79853c1c16bd66c0000000000000000000000006020dd652d87909870e0baef487faf6f16919d880000000000000000000000000020fa1e681fbde5ceae324f393f40aaed013d060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000019ebac60480000000000000000000000000000000000000000000000000000001859e2bd00a9000000000000000000000000000000000000000000000000000016f48fc94e700000000000000000000000000000000000000000000000000000130925371400000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000000000000000000000000000feacf1406a800000000000000000000000000000000000000000000000000000bd2cc61d00000000000000000000000000000000000000000000000000000000b0b4416cded00000000000000000000000000000000000000000000000000000ae9f7bcc00000000000000000000000000000000000000000000000000000000a758d6a3800000000000000000000000000000000000000000000000000000009912542260000000000000000000000000000000000000000000000000000000971e27f829a000000000000000000000000000000000000000000000000000009308554b000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000009184e72a000000000000000000000000000000000000000000000000000000008cef6fc1200000000000000000000000000000000000000000000000000000008cdccf62000000000000000000000000000000000000000000000000000000008cdccf6200000000000000000000000000000000000000000000000000000000846c24478000000000000000000000000000000000000000000000000000000083f4eeb38000000000000000000000000000000000000000000000000000000082f79cd90000000000000000000000000000000000000000000000000000000082f79cd9000000000000000000000000000000000000000000000000000000007e64ca8bf80000000000000000000000000000000000000000000000000000007947afdaf00000000000000000000000000000000000000000000000000000007662c39208000000000000000000000000000000000000000000000000000000641dff4c00000000000000000000000000000000000000000000000000000000574fbde60000000000000000000000000000000000000000000000000000000053c026468870000000000000000000000000000000000000000000000000000053b91e4b732000000000000000000000000000000000000000000000000000004f95fa8381b000000000000000000000000000000000000000000000000000004ec4b788401000000000000000000000000000000000000000000000000000004ebd68118480000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c273950000000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000474dec2680000000000000000000000000000000000000000000000000000000474dec268000000000000000000000000000000000000000000000000000000045d964b80000000000000000000000000000000000000000000000000000000042f055db0000000000000000000000000000000000000000000000000000000041f5a91c58000000000000000000000000000000000000000000000000000000400746fe000000000000000000000000000000000000000000000000000000003ccc434b400000000000000000000000000000000000000000000000000000003ba9b0b2800000000000000000000000000000000000000000000000000000003a3529440000000000000000000000000000000000000000000000000000000034630b8a0000000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002ba7def300000000000000000000000000000000000000000", "blockHash": "0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081", "blockNumber": "0x15fb31d", "blockTimestamp": "0x688d34cb", "transactionHash": "0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978", "transactionIndex": "0x7c", "logIndex": "0xd0", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x55ad86f840fdeb660db5cb7e599bac670c6edc06107447e1569b63c9f385118d0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081", "blockNumber": "0x15fb31d", "blockTimestamp": "0x688d34cb", "transactionHash": "0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978", "transactionIndex": "0x7c", "logIndex": "0xd1", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x2f2fba977a888cfec598bc8e89b69250fe265061b64e04e72c46ee5d35ea6978", "transactionIndex": "0x7c", "blockHash": "0x81b450d8acf71caa3ef3adf2467319d8e5c2f069053675cdaa688137a4592081", "blockNumber": "0x15fb31d", "gasUsed": "0x20bb2b", "effectiveGasPrice": "0x12ee022d", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084558, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084607.json ================================================ { "transactions": [ { "hash": "0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7c404a19f78d6d9b10542051a8b49ab4fe1bd4415733694ff0aea40e11499f7739b8b796b39beb5d59132fc571b4b775db8d90bdc1abe834ab9c33e5cf73fd251c78b654b0bfbee63035935416bef854dd5639d98235f96dfe1961fb5cdcccd54c294d1b92024642be2f1e5fcc4bd05b77170fbdc7e9757f7d3bfb5e20fe22a83f1c7c1d2e9e1622df9bf5b4b1220e13b4eeee9a7951e48f600a75056570335c76387420ba8b3d9313a3fcd2eaef53eede2d31f8b4e4242890b21283649f82cb5d8e1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d3109", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37c404a19f78d6d9b10542051a8b49ab4fe1bd4415733694ff0aea40e11499f7739b8b796b39beb5d59132fc571b4b775db8d90bdc1abe834ab9c33e5cf73fd251c78b654b0bfbee63035935416bef854dd5639d98235f96dfe1961fb5cdcccd54c294d1b92024642be2f1e5fcc4bd05b77170fbdc7e9757f7d3bfb5e20fe22a83f1c7c1d2e9e1622df9bf5b4b1220e13b4eeee9a7951e48f600a75056570335c76387420ba8b3d9313a3fcd2eaef53eede2d31f8b4e4242890b21283649f82cb5d8e1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x33", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1fe01cf", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a27f5f10d719a922ae5356cf0659181a2ab1538e0000000000000000000000006c667dd148550eaec6c2405d0c6a41b178bd6b8b000000000000000000000000d4356331f98a771b4c15894d8398cd69fa9bb3c7000000000000000000000000830edac5247ce8c6bd1d2fba7c1080c44b082531000000000000000000000000a3dac1819c5b23d100f3dbda6fab69e2dabce9650000000000000000000000000b9b8afc5d1cd125a0443a77d4d0ec5befa568ea0000000000000000000000004bc68a43110a924169ff677532e5c47f5554418c0000000000000000000000006f06258ab391787093d7b55fce6b8533917e77ee000000000000000000000000293fe082793d07ffb24adb9dd25d2dd23449344b0000000000000000000000005b9fa4d65e285a95dd9afbd1e357a19d9d4846b2000000000000000000000000974e7cb09f98813c242e12ce7428649f124f8082000000000000000000000000a7c3fe296f14ebd0961868629eba94e5d69566be0000000000000000000000002155739dca65fb5935a48247d181feeedc0da0a6000000000000000000000000e631e67b7855173c5ded9b7de4ed92bda3763a060000000000000000000000002a585078e660748b0b027e82b67d3716dd38439f000000000000000000000000933a1425851911907928bfd1a11deea1dd5823860000000000000000000000000c04fcfd4a57d7e16fe39965fcae0e5996ad2680000000000000000000000000bb87a9cb32a01cfbc122d596b0ae2fabb4272960000000000000000000000000b97ea41b493316935a20f959f9c4f9cc648472f300000000000000000000000037fea84a9780bebe3dedea3f0361e6803cbc68f20000000000000000000000002b96d4113ff5889a8962e18c517f109a1c1c8b34000000000000000000000000ec5a39c7131366a1571a9d157bd2825011c5617d0000000000000000000000007cc2ad1a4e9c9a1a2509730854ccd214ac28e57b0000000000000000000000002cb7a3c3bd679bc729222381613089d91bddfbdf000000000000000000000000763a0428caea9207095f3ad62e836aca4fb8e5350000000000000000000000001bd5c8d2f219d10cd628b192dec96978a07ed0990000000000000000000000000677558eae4886d6fd168ba4dd67024bb72b37fc000000000000000000000000de6b5d7e6f85fb98c99558c506dd43f13cdb03500000000000000000000000001293a5c33bbe3a2f0e2ba0f92e9c81faebf261a70000000000000000000000002c7baa596bf1d2f106f7763593720fb6e99040810000000000000000000000004b5bc29fff9b14903f291543e7afd693426dd60b000000000000000000000000d14f39a2ec103edabee2a1850e9c4bba46f226980000000000000000000000006b076f09206e0f1e70b4c7a17eb5ddfe1287f27d000000000000000000000000a5c5f7d0bbabd72d7662e01b40d5d9a25635af70000000000000000000000000df77fbaaae6ceb03d905bde4cdcc2c5b8baa907e0000000000000000000000001cf96f8d594bf73fe9b7ae638b7f24a37733ab52000000000000000000000000c8288c8ab5051e027b4793dce7207900dac8616f0000000000000000000000005a072a77686b04c4f710fc9e7c561d948f7d6dcb000000000000000000000000191c9dc2cd214b6497fa32c5ca7792f807842de300000000000000000000000023109f52fc3f4829f12e07ffb696d16690e9aad400000000000000000000000034f6c256608e4efba951a993c5cd8acbd2e427760000000000000000000000008b69288becd1210e7bd1ceb9a92b4fefc1ca4bd000000000000000000000000013fd69b56c699d5e57940326c75e72485d333821000000000000000000000000e4709a08474a8313928267145f4aa2ec44fbf8d40000000000000000000000008c640f57942acc9c17eb22cb0986a7b43b7d87c6000000000000000000000000774f491c06c84783fa4c5bf95b6f64a30d9d8f61000000000000000000000000c7baa93faf121cbd4888adc3fcbe28d40b942614000000000000000000000000bf8cd391ccc71073a1781a4f74847bc5f97a96000000000000000000000000008d753926910da148ca582d4bae9176bd7a527ca1000000000000000000000000f2f2ca28f7840325578677acc6b6bfedb41b74100000000000000000000000000a4eb272da9cf039c02b2dcd7de8cea569a280ef000000000000000000000000c8f1e19e9d68ac3c954929daacf6c87d4a2e95a7000000000000000000000000bdbf0ca9a2fd679e99c67f9de2761b747bf3479f0000000000000000000000008900d194b2e4aff75ff8244552e774324889d392000000000000000000000000a4c3a95c65dbfa3cae102780e4fc1a58862a4b9e00000000000000000000000048ec1fdf7d47fe7a96d8d0f3f505c3f81a092a03000000000000000000000000646d49bc45e1939e679d4ad9d79e4204c2ef8a20000000000000000000000000a393037efff2479c40b227bbffd652ea0b703720000000000000000000000000837e3405b5a11af3fa4ec7d4afe1c9f04693b1410000000000000000000000007ce21d95cd2e5065fa2e1cb7f44f913f2da9212e00000000000000000000000069f9c3b61ca28cc70b1bc5f333e26db70405d73300000000000000000000000093ce9ab599a2682604e3ebf7e837e3815d5ea9b00000000000000000000000003ab8c2c27a9c1a0b396758a77719e361b87240d600000000000000000000000043b8e790624db8c537ade0b251a62257dd36df480000000000000000000000004c122a2179f36f6259ea105c0b834130deb5d929000000000000000000000000bef8dcfc2a1f3a2b282352ef32612a6c044aadd0000000000000000000000000fb1f97cc1ed546da125fa01d132e20da2343c5670000000000000000000000000d306e578ce0057d3dca4660232cb6d9a492d9df000000000000000000000000de596a652395915d225945776d56098ec39c6c8f00000000000000000000000045df4d29bb45052e8e8d7c9285036a3e68a18d940000000000000000000000009978634b24f22a130d29f806d1c8b841e308161b0000000000000000000000001b5c4dd142d4513dee2edfe6a18e25ca676538220000000000000000000000003ee4b083d881b99541e118fa3366ce48e6c1589b000000000000000000000000e7f1239f0cc08411e722d523b7c7245884c73a2d0000000000000000000000003d989f9f948bfc0217db498f802cf709066f72510000000000000000000000003d55c084db798ce3abcaf0c50708aca3a011e4e6000000000000000000000000bcf7968022f9c2fd10b2cfc47fdf0d890d67206a0000000000000000000000007f79de52ef869e142615b18299d0228ee1c4d04500000000000000000000000080cd77685ed0b5bd3715d56ffa1dd5701e098687000000000000000000000000dbf723293730bd6cfc359a414aebb01d3bb201d20000000000000000000000009106a095c5678f110dae6e6160a42ca2a57fa6ac000000000000000000000000bfda4afd332e77fc6ed379a62a48192a62a5b8c20000000000000000000000005a0106b20a582ce07f2d959d322eeefa901fffad000000000000000000000000561d15339eb536cdf58e5995a4cadef661d093c90000000000000000000000003305889bfc01852957df14256462990700c54db4000000000000000000000000817d55884a7bd7f4b8c350ee6a58d6ee57729e2a00000000000000000000000019db26e00c1c2efb2aa302b03a92151d96aa6cbf000000000000000000000000081cd8d8e02c10f1a0d47d8be0808c040a3896b1000000000000000000000000726ee18f2a967139d8215ad69573c23f0acc01c300000000000000000000000043161d4fbf7c5bdf5629bbe2d037558e0c0ebe980000000000000000000000004b78ce43801566cc84c7a251dfd9e1ce53752c8c000000000000000000000000cbae977601b55afa4111de24ff4aa24e06a58625000000000000000000000000b86a1ba78c5db12a8c093f3b83c58a02ab329f3c00000000000000000000000068268a74c3a720338d1b56a8b9559d5813b080e60000000000000000000000000cdd4ccc898a35f1598e517e916ace8de134506e000000000000000000000000b9280066733cfdf647b9ebb59c670becf3bdf59c000000000000000000000000407383ce03aa643cec3a18a44f2185b239c273df0000000000000000000000002c2331f0a174606b44abba9d5682db96a776fad70000000000000000000000006e6ad728c5a5e4fa84f1bc836e3ae50228e52dfb00000000000000000000000024e9d00d2038c549d292fb572adaf449fa1c30eb0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000002ba7def3000000000000000000000000000000000000000000000000000000002b89d25edbb0000000000000000000000000000000000000000000000000000021782aed800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001e8f1c10800000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a2000000000000000000000000000000000000000000000000000000001d1a94a20000000000000000000000000000000000000000000000000000000019338c11c000000000000000000000000000000000000000000000000000000015ca103cd80000000000000000000000000000000000000000000000000000001176592e0000000000000000000000000000000000000000000000000000000010e156350000000000000000000000000000000000000000000000000000000010bc1576c00000000000000000000000000000000000000000000000000000001096d4b8800000000000000000000000000000000000000000000000000000001096d4b880000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000107193fa40000000000000000000000000000000000000000000000000000000106dc45e64000000000000000000000000000000000000000000000000000000105ef39b20000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c00000000000000000000000000000000000000000000000000000000104c533c000000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001027127dc00000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000001001d1bf800000000000000000000000000000000000000000000000000000000fb75043000000000000000000000000000000000000000000000000000000000f920f84c00000000000000000000000000000000000000000000000000000000f478e08400000000000000000000000000000000000000000000000000000000f2250266c0000000000000000000000000000000000000000000000000000000efd0c8bc00000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000", "blockHash": "0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee", "blockNumber": "0x15fb320", "blockTimestamp": "0x688d34fb", "transactionHash": "0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3", "transactionIndex": "0x1b9", "logIndex": "0x330", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x64d73fe34db0ff5d777d8722c2e8e658fade75df20db27134d35799554f3b4b20000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee", "blockNumber": "0x15fb320", "blockTimestamp": "0x688d34fb", "transactionHash": "0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3", "transactionIndex": "0x1b9", "logIndex": "0x331", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xb50926bfc92c3682cfab6384f890a250e25f6362da4de7fe5a65907e682240b3", "transactionIndex": "0x1b9", "blockHash": "0x8153cb1b13d55754a3f0714f886b6a0c7cd2d821c47cd821d1429ecc4f857cee", "blockNumber": "0x15fb320", "gasUsed": "0x20b812", "effectiveGasPrice": "0x11ea0930", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084607, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084632.json ================================================ { "transactions": [ { "hash": "0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x9caf1bbcc2dab6ef4beb461124faab5cc3124e8ec8609c79caaad8b98eb0e69737413b02df47433a83caf73820c03764052ca57cc777ed7da302c2b08a4cfdbe1c66c312597baced259ca204bfcb8dca68d6398606716d7344f04cb4113cda9ac915c3caa107bdbeeba7b951f9093260550dd91b1635fee1ab3145e6f08f25aff71cf0d971207c6c215b8dd9f985432e0a037d8353f765b2828e4f3b5a6c851a7afd0c1c5c999440f2f1cca8dfe8f61fac2a4c35f067a4d3c236b5de76975faa0be51c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d2eb4", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39caf1bbcc2dab6ef4beb461124faab5cc3124e8ec8609c79caaad8b98eb0e69737413b02df47433a83caf73820c03764052ca57cc777ed7da302c2b08a4cfdbe1c66c312597baced259ca204bfcb8dca68d6398606716d7344f04cb4113cda9ac915c3caa107bdbeeba7b951f9093260550dd91b1635fee1ab3145e6f08f25aff71cf0d971207c6c215b8dd9f985432e0a037d8353f765b2828e4f3b5a6c851a7afd0c1c5c999440f2f1cca8dfe8f61fac2a4c35f067a4d3c236b5de76975faa0be51c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x34", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xde0d54", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000134dbd22768b5dbcc22264a2318c30e7138ec61e000000000000000000000000fe6939c22fdfc93141bd52a2b88353b76d9c749d000000000000000000000000fc72c9bf3353daab801e15a60d5d3ec3413fb2de0000000000000000000000007006094dcd29bcf2040009bcaf0626559dc34378000000000000000000000000a9da165216d0e1032b6db3985436e339cc3ba224000000000000000000000000bd4106934dac10e2b65bc9390caedd45bd57ab04000000000000000000000000c261509bb99c1b9dd4f0e2b0cbe01ca8490d4ccf0000000000000000000000002d300cf2651b6dd52ed5c948ae8e6dbec4883c0200000000000000000000000039453acb2c916039310b28e799bba8e262ba9a11000000000000000000000000ab4b1dbf08e7a219dbde10796c7f6c372be161fa00000000000000000000000039ded12296c983e4e9137ae21957436aba3ef5af0000000000000000000000001b55bdc6f3569ff8e061372cffc76f4bec92bb5800000000000000000000000008455a4855ec07384195a1a2378da312705970450000000000000000000000003a8267cf536e00aca465f5bd70b8276674d4e28e000000000000000000000000b00795aa07c9950abbdbd1677f2ba2260e83229d0000000000000000000000005cc69616c6a7f041eca97ca7354fbafbfd4549fd000000000000000000000000eccc8797b2dd85d9248fd3b7dc32e913a33b56f2000000000000000000000000f0757d6a48d23fe31699d529f1dc0e8763da97eb00000000000000000000000024fb7ce1b8b6c8a8eab2d72eb69a32880ad3dbd60000000000000000000000007ec4cf225b797c9ded326ebc9694a10103d9888000000000000000000000000008ddfaee3b690aa100291cbe38d993c4baddec95000000000000000000000000d4027cc7ceb7916c598d019dcfe3cac2f8a9d65b00000000000000000000000020b7be1df5f79a779bfe2b287693f133738ae3070000000000000000000000006513460ea3460396c8db2e54bffb7f0ef39463d80000000000000000000000007cb3699eea9767bbe797a54369982bdf00a4db62000000000000000000000000b715841ff5bd993d88a0a7c9c14c30efeeb6f5fb000000000000000000000000fe1ae2189bc9920e283b46efd3e5a004a5aa8ecd000000000000000000000000f1784ba80220f0c5c4a4a4b66051b0afd34e788a00000000000000000000000009aede0811eaefb926f300657e54bbd2fe6ee2290000000000000000000000007758ac8360541c886d4facc8b68968db76862d5800000000000000000000000031c266c157d57155632e47046e35d2f640c6d203000000000000000000000000cdd469de67665eaf025da57a350750c960da5a58000000000000000000000000028dd5a007676196d912968f64a10682db865850000000000000000000000000ad09015b215e85c4e29519eaa45af09290f21579000000000000000000000000dfa9a81613a55884e99c2af8f96340b62f2f57f60000000000000000000000000d6a9963f7b362c3d50cfdfdc9207b4d8e766c1300000000000000000000000098242117840cdfefc6943eabb1bc09340643326c0000000000000000000000008a71d5797ca300383d21db761fd2f4e2f3d33140000000000000000000000000a4a9624aef063ad725ef9361ece47db553112aa3000000000000000000000000acea66d815546c4a636efa83c93f7f06748035ea0000000000000000000000001c279c06a4f8918f03b32ef985290a5236e1b0fb000000000000000000000000e798356df129a74738933c474c3489f5ff7e3dcd0000000000000000000000005f23fe68a7a9cfead224e5f62480f37834d556ce0000000000000000000000008eb093010713cb58b2bf46992c1a07b592502271000000000000000000000000f6aeca1a83e6d0ec9064adcd7b60ee4ceefacf530000000000000000000000004c92677321f60a0dc709bdc4a9a41766c4cb1c4300000000000000000000000020d6b8c56a67ab6ae3423798ae40ded3a19c9a610000000000000000000000004f49e89b1530387002734589e8d4227665e1f25800000000000000000000000020134f2a91d7ceb746f54249f0626abc94f9858a0000000000000000000000004f0f2f2ca9612cfbc7ee77a9690919cd016812e1000000000000000000000000cf0a573a52dcb2b2c57c93c60ae4b2c4244244b60000000000000000000000008cc62a24fd891d4cf7793423e52c1556671198b600000000000000000000000031577a229fc2ec0ad5630546d576dc753feeaafb000000000000000000000000606a03cadd4b369b8066e748f328efd8772cc1d80000000000000000000000003a9da8b89dcee94dcf55af051b0ac3b146ad703500000000000000000000000053787ee1b2628b8f2c3cd166e37c2a7617092dd30000000000000000000000007abfa4e445890a6ad8d04de2bfb534a1710f522d000000000000000000000000e1d2349cca2d20c2c8d2a3d4a292ff7b97febda90000000000000000000000007b3e46a6823db3718bf0d4dde0254be6060728cb000000000000000000000000011230a5cfa00d171c41320f0bda47f6ec8596b3000000000000000000000000829ee1e2e04f2689d63667e65eaa105c20e0cb6d000000000000000000000000cb73230d560454eb71da78087f588557b534d5a00000000000000000000000004e68a02c458211f4fd016ba2b988bfa108ad038200000000000000000000000068f58fb15af6a6417f1ba5c33eacac2e5ae46723000000000000000000000000cc7897bb6c0e396a595c01d9fd55b304a60f3e65000000000000000000000000d81ad3c1315936797559454cab254dd71867f3590000000000000000000000009e53067855d1f5619d1ab8b7f7a9b944396111f80000000000000000000000003f18879e511cbd6520a686cf3bb1c5413afc9b3600000000000000000000000019f564dd97fe3ff3ca7cfdf2df5db2dbaf960b56000000000000000000000000a7ffd3f4e162ddef1e576f4b03322f236ceeb454000000000000000000000000999490c494d0cea386d6936cede53b0203195930000000000000000000000000132e5ca01addf97ba14ba083d6490f8dc43eeffc000000000000000000000000288ab636ad77f0bef17cff8beb07828d48a60d010000000000000000000000006bd64abc231238de0e523b06793b578770f3e5b9000000000000000000000000b92a6ee060f5fd6d71c3fc0708cb9bacf584e7fa0000000000000000000000008c52bc53f14107993a80736605ee8e5a115536db00000000000000000000000071fbf5bfbb4a739d3eb21526fffa7aada7bef94f00000000000000000000000015773e75e8665ec15eaee8c0006d87b3d059ad6d000000000000000000000000a4a3eabdf7d0a0e98c793915890a89e63bb39a770000000000000000000000003619e40de14b98929c0bcac51e890c49263fdf9c00000000000000000000000065b12ffb0dd7b7fdc81276db5bac10bad34fc284000000000000000000000000eea8692028e67f5945640292298969d5a8eeb08500000000000000000000000089efbd2c494a594517aa21c3335841e08c8dc7ce000000000000000000000000b7ebf31e678d3c3fc1da8447550f11421993fc90000000000000000000000000d98be577b6b15054c1937b1805c7ca5e2f9d965d00000000000000000000000035c295f087dc430fb8ac940e2104e48d25c4b4f300000000000000000000000036d3fb5b39399a0d3968747f3b95637d7b1ff82b00000000000000000000000080a885596d1e9d61b15beb0f44001ddd3b1b4a39000000000000000000000000d9529f1bbd43cad5bcc14f1f5156ad937bf9cf690000000000000000000000002c5913a7da17a2890841ee01b94fc48f0ec44010000000000000000000000000445119c4aa2d6bad74464d760c4df52b2761dbd50000000000000000000000008296eac3de8a68ff557964414936a14644a1518f0000000000000000000000001c7d6e73ab8685eb796c6ead71accd9132c883a6000000000000000000000000fb3508dd82aed931b8bb97a81880c61bb25102120000000000000000000000007eff5924eb3d70c10870ebb1ce244ae80d7967cf0000000000000000000000005a914e0c891145f4a0a9610a670e70314989532200000000000000000000000055a1cd90c5fb0dd3abe513f547ed8068d960d3b40000000000000000000000008fd4bade9eb2ef70c037993a1f5843e84f467f5e0000000000000000000000000bc708103ad4c076f0cb6faeaeec67c85bed525c0000000000000000000000008c72a952c259ebccbee01f28f43de45de61ed43b0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000", "blockHash": "0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83", "blockNumber": "0x15fb322", "blockTimestamp": "0x688d3513", "transactionHash": "0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4", "transactionIndex": "0x99", "logIndex": "0x144", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8bbe78a1c007ceb4e47d4b6c47f7e6ea82793fd282079c81b662e317167988fb0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83", "blockNumber": "0x15fb322", "blockTimestamp": "0x688d3513", "transactionHash": "0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4", "transactionIndex": "0x99", "logIndex": "0x145", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x4309f9ead3ebb00761596969bf9dda9b17be5a5ff671eaece81725e57439e1f4", "transactionIndex": "0x99", "blockHash": "0x3798ca19a45d0c7ddae28f0a827cda34a5c43a779336f64f373a396abcbb1d83", "blockNumber": "0x15fb322", "gasUsed": "0x20b662", "effectiveGasPrice": "0x12edea56", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084632, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084678.json ================================================ { "transactions": [ { "hash": "0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8eed310b947a027d6cb39568fd7ef8b24c71419c9d1c61b02419c0689b2c34a87d9323f6f400f0470430c440c2c45e1a526484ed9c67942c4cb000dfc535e9cb1b85fd6b3a9f040666bb75831c69573af9b0e72c6da7d48c2f391aa7d18c563a8a50a5729f59c84b8461ed3018a235b784d4ad329c92223f826dff866a208b00491bc16b04b8df4de2ef612fc754742307911a7285684a6c3b219d2e113092cf68453a1b11a49ee9f526b2bb746afa6f993ff4cac4eb01b7efba609a39380d4f1da41c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2d2e93", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc69839881000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001b84174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001a64e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001984501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38eed310b947a027d6cb39568fd7ef8b24c71419c9d1c61b02419c0689b2c34a87d9323f6f400f0470430c440c2c45e1a526484ed9c67942c4cb000dfc535e9cb1b85fd6b3a9f040666bb75831c69573af9b0e72c6da7d48c2f391aa7d18c563a8a50a5729f59c84b8461ed3018a235b784d4ad329c92223f826dff866a208b00491bc16b04b8df4de2ef612fc754742307911a7285684a6c3b219d2e113092cf68453a1b11a49ee9f526b2bb746afa6f993ff4cac4eb01b7efba609a39380d4f1da41c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x35", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1a39104", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000019cd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000064000000000000000000000000cf77b9812c69482dfc14344fa7e52e22177c74aa0000000000000000000000006e5db8dc6618d764aa95cebb167c3ea009412bc000000000000000000000000026c5081bfd43dbd31f73f7fdd96e86239fd9e0520000000000000000000000004dae6ec85f8ea5a663876578225b8f553d99b14a00000000000000000000000035ee3a8fd1f2a847fb99778dc57b80ddb95fd81400000000000000000000000047467ff4b00a8bf2b82fbb2ec11334b305a9c7dc000000000000000000000000e5dfb9bbecd05730157c61c7a42ea92b71181a1e0000000000000000000000000b3bbc230e910034c891d6867d8f7f1c545961750000000000000000000000008743bf4c6bd1949df9d793a4e4df3fb030a82d10000000000000000000000000b8bf90b727776b18d1e23c2df3d5847ffaf5c6210000000000000000000000001e4999277fcc659ee148e49851cfab731bb54a34000000000000000000000000abeac11f12a146c31ed27a144b71d442b2b89ae40000000000000000000000005769f505b3bfebdbbd426ffcd96e75f84bfabe4e0000000000000000000000006371df16c64f1a2ef9320b8ba2ec8fe14fa06b1c000000000000000000000000b8c01585239c4156f0c46da9e74f10080a90919c000000000000000000000000dcf1ef38e57c8e0d885a5799c2b8f2466263c52c0000000000000000000000007d689dff8af0587917b1b3e51e07ef0b3d46a927000000000000000000000000ed7be10ba5aeb59b06d53a6ed5fb0cc402ae681c0000000000000000000000007867c24d4dcc2b9790e1a1f33726594ae670a6ab0000000000000000000000000882203da99f616ac4c2af3b3aaaaa5c2cc50384000000000000000000000000c4f904e3bbafe50445c8a17a7dffece6c152c55a000000000000000000000000297b0b83c9750506f65a0d89bbe1d259e8098d01000000000000000000000000cdc3367d113eb906993340806d380b4fbcf6e8860000000000000000000000009c2df67c7f432390b8768af4f92d10e51de3f151000000000000000000000000fa81ac4cb9518a97e1a07a6ea9e8203121be1eac0000000000000000000000009222ea5d7d78a5e726d2093f993ed123b05e6221000000000000000000000000bb654f4e56d59cf980a9f144d4e6658d67ef66dd000000000000000000000000c3eef655183669e66c99accd63cdbce0f426f7b1000000000000000000000000c34ea057a181721fb6b8d0c58217517d3d1c19eb0000000000000000000000003e5e69bcb24b501350dc7ec5281b58b91e71d46900000000000000000000000086b5def63aff58f9d90412fa0b057333f33f29a60000000000000000000000005706c370dd72cdea864e27d0876a4c66070c5bd3000000000000000000000000092eaf8a0dd18efbb514b280652273f746a0ce710000000000000000000000004826eade1c9bf5ce3e9889b37aee0ad15df66e730000000000000000000000004779381c539a138dfb2d83f80c57e3cd2add07e8000000000000000000000000475abc90c3cab0d1e0be8411e5df5ab5cef76017000000000000000000000000332a683bc22b4ed71ce31b301ef245790569ecd3000000000000000000000000530e86aebcc9c40b889ca7dab1978ca4dd052fb80000000000000000000000008642e07a7f91a160dcc86d86cf1def3d705a3f1d000000000000000000000000b5e3f7c4e31039e88c35832ac4b27fd90dcd94fb0000000000000000000000006fa133d719b467298ebe60563d29cac2d827dd5a000000000000000000000000ff6162ee001a76c864a3492ccaa60604ebe1035f00000000000000000000000079c9374f405a8b5b9f65e7cf660056eadba01c58000000000000000000000000f673588e1b3280e87e98e7feeb85fdb27943853a000000000000000000000000597acba3f836e9fdbabcab75d6eaadfbbce7ffd80000000000000000000000006ae3b38ca5dd6f937898125324c134b67b11a80200000000000000000000000074cd7d8c9b327ba961c788f151b8c5946bf115e300000000000000000000000020a4f1f9c16e913188c3c80934ac074b9f9b499700000000000000000000000090b3335eb95481f6ad6dcc8903c445911683b40b00000000000000000000000026dd86cd10d92e925fe75b80faa51eba86bb9a8300000000000000000000000068c5a0ee0a59b5f715c52ea06ea56fa84eab340c00000000000000000000000083e359ddfd91b400b62dbcf95c8533dfe9798e25000000000000000000000000bc1ee29016f945ea5867218c752ed05723a5e21a000000000000000000000000cf1d74e57ba61b19d42032beb08a9dd27a59cdfb000000000000000000000000abde71a7b5f7b13d08fe7913d82577533e70770800000000000000000000000018cb1ad37c19c39e1b2dd020c8ee0d07418924ff000000000000000000000000f11723ca71c8fc6fd8b18fb0575ff58c9c19a5620000000000000000000000000aedd8a6770a4c6e1a90d9b88e187db84635bbb7000000000000000000000000e8c107983f166d3ea3f7f53feed732616655cff400000000000000000000000030884ccb0505c5714038dfdb30ef0b92f922aa1b000000000000000000000000081d9529ca3a2e085dd9434b48d630f15b9ab5370000000000000000000000000b11d7c4ebd294480d93cbf8b64cb8bf2546ba54000000000000000000000000da59ab41714d3169897d37a7c185bb04dbae5785000000000000000000000000e2fafdf8d4a7fbe87417314412a439adeba37460000000000000000000000000005318cdb1a8bcf5eb3e03eeca531dd18b9233bb0000000000000000000000007faddd52936df1ed13e8fd8b57b7b672264667f50000000000000000000000000dd61b6756b84fafaecf68d32e4f8aadd95b7a90000000000000000000000000572ab894165dbcf68770f34429d3c60d05141a82000000000000000000000000fe66defa163a42c0d38aef1ef3f041be05c2d2c00000000000000000000000009a8dc3600aac1a7e6b6ef4fa8cfb7130122c0c470000000000000000000000005ab040c9242d99eda30fd081254efa31310fb96c000000000000000000000000aedfae956f093845965f3de458db26292e696c73000000000000000000000000588e90af5066065290fc07400de761daafe60ebd0000000000000000000000000cbe59eae12536fca7ee8f5c649eb874591bb3f90000000000000000000000009d7fa78b058455602bd0080038b6a11ca04fd268000000000000000000000000b1e434cb256a23d1df7032606c9d32453c2322f50000000000000000000000003a3a98a4446e08c07221996b398084a9eae27f220000000000000000000000004799d4272a04988c667a382192f1ab634b708c4b000000000000000000000000082b145d0c02452148cf559c554fbfb75f5dd240000000000000000000000000b0a2208000403e279a4b9bc097b8e4a0945de619000000000000000000000000dec89694eeec57137b7f8e080e038e103b7e4e91000000000000000000000000a0339d402a952a6bcbfab1fcf63a382770ec824a00000000000000000000000035639b6c0b7fd6e6f959cd448d715eec35d8ff270000000000000000000000001100d2c93d939000a30d45384a68c9ada99d3dac000000000000000000000000205cd43d386a344cdfa90028f6896d254d5dd85e00000000000000000000000088decaf8310fb0efe6ade3935c902564ad3f896a0000000000000000000000006eccf2bbca701610e2e4a35ff7c0fe341df1970a0000000000000000000000001a6fb65d94cba98425258d7c2fe94be353910c47000000000000000000000000a6e1ed5f5f628b47f4069377862ed5e45c4b85dd000000000000000000000000e661dbdcebeba61999840d2767291ef14f895dbe000000000000000000000000d1eb763eb974d33bc8dd65113a5127ca07389f7400000000000000000000000046e6651cd50e1a0556a9d689dc46b3c51419b03a000000000000000000000000ae189c0789e690ba0d1756f59f949bf7de80d5640000000000000000000000002175d23a1cdc05d219bdcd0201462c40a01aa38600000000000000000000000069e2da0829e8e3e992d234a6845a671c703cc3ec00000000000000000000000033b4e31944bc8282c350d7e08b175d53d34ad2a8000000000000000000000000928671ab2459d9a147b3ca985aece8cd22d033f1000000000000000000000000dc4b05952b7b0292bcd3285effa518f3ec07bdad0000000000000000000000004df2ee0912c3de56d71880bbe72de7c171ee84ab000000000000000000000000da39a9b060c237dcafb55dbeef43e42c9eef94180000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000e1614bd000000000000000000000000000000000000000000000000000000000d32d69ae00000000000000000000000000000000000000000000000000000000d32d69ae000000000000000000000000000000000000000000000000000000008085c3900000000000000000000000000000000000000000000000000000000067eef5a6db0000000000000000000000000000000000000000000000000000003e8d5eaabe0000000000000000000000000000000000000000000000000000002e90edd000000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000000000000000000000000000000000174876e80000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000", "blockHash": "0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673", "blockNumber": "0x15fb325", "blockTimestamp": "0x688d3543", "transactionHash": "0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd", "transactionIndex": "0xc3", "logIndex": "0x32a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4b22291ee747f45b1e4a715bb98e60105d351403e8445d965d52a634973f7a540000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673", "blockNumber": "0x15fb325", "blockTimestamp": "0x688d3543", "transactionHash": "0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd", "transactionIndex": "0xc3", "logIndex": "0x32b", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x9b8754a6f86942ee2ed77ca4c149dc0753feca2eba6d44e813355edccba5dafd", "transactionIndex": "0xc3", "blockHash": "0x1d1dc82f9386caa807e0c338bf5b90dafd011196f909fa0dc6e278cc96953673", "blockNumber": "0x15fb325", "gasUsed": "0x20b63e", "effectiveGasPrice": "0x126e2fd9", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084678, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/records/OPStackExecuteRecovery.s.sol/1/run-1754084725.json ================================================ { "transactions": [ { "hash": "0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x8BDE8F549F56D405f07e1aA15Df9e1FC69839881", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000324e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000244501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa8bce9bdc1c96cf7092a0744b5d43fbc68628e689100d12876b8ae87e048a295299ea8092e16f19cae56c097998687fb7c74060afd9c7f800aa3f1b90b8fe7281cbfb4e90680d8cb4f6113025b73216ba722fe0df103a19281bf44f6a3f4e8a1d509ee1cdd8ad6370f55ae6a58e5f02a64d25d57d5560fda8a9c7e90ba58a9cef81c4f3d9233e48a43a08cf01c8523ed97940b891f6fc19b94565cfcf00208408578597a73692c622e58344a779e04e4dd5934c476c299fe6e66a9fd53daae8411fa1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2bf498", "value": "0x0", "input": "0x6a7612020000000000000000000000008bde8f549f56d405f07e1aa15df9e1fc698398810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000444174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000324e9e05c4200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000244501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a8bce9bdc1c96cf7092a0744b5d43fbc68628e689100d12876b8ae87e048a295299ea8092e16f19cae56c097998687fb7c74060afd9c7f800aa3f1b90b8fe7281cbfb4e90680d8cb4f6113025b73216ba722fe0df103a19281bf44f6a3f4e8a1d509ee1cdd8ad6370f55ae6a58e5f02a64d25d57d5560fda8a9c7e90ba58a9cef81c4f3d9233e48a43a08cf01c8523ed97940b891f6fc19b94565cfcf00208408578597a73692c622e58344a779e04e4dd5934c476c299fe6e66a9fd53daae8411fa1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x36", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x26b445a", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000028d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e848000501d976c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000007000000000000000000000000a6609fc627f76408a905f2607f351c17102ea4ee0000000000000000000000001b41a7635503f396a1a2dfcdc05b86cbd0f0c6ae000000000000000000000000c1dbc7966f7c71a4174bef75dcbf91ef829f4c0c000000000000000000000000a4c33c26b3c11cfd45b891ab1182fdc3c934df670000000000000000000000009ebe547ee00899aca5ab99f05182f2d5b7f37827000000000000000000000000754b366243532aa193f855a794e51e6bb7e60b480000000000000000000000003890beb1f106ada3a33a777dc6825bbfce182eda000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be40000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000036e24b00000000000000000000000000000000000000000000000000000000003473bc00000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000", "blockHash": "0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45", "blockNumber": "0x15fb329", "blockTimestamp": "0x688d3573", "transactionHash": "0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd", "transactionIndex": "0xe7", "logIndex": "0x447", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x75404239ad0b0d78c7a485a3886634967f05fb0f3d3df4fbcf45a568e6483e180000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45", "blockNumber": "0x15fb329", "blockTimestamp": "0x688d3573", "transactionHash": "0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd", "transactionIndex": "0xe7", "logIndex": "0x448", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000042000000000000000000080000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000400000000000000002000000000000000c0000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xd4367dc2000073a565cf6a59e14c9a242f19444f467644a72ad6648259ae7ecd", "transactionIndex": "0xe7", "blockHash": "0x9ce9b459c42c60901309c8b9d747a2f340ea35efdc5e43a78bfab1e610883f45", "blockNumber": "0x15fb329", "gasUsed": "0x1fd2ae", "effectiveGasPrice": "0x12ca298f", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1754084725, "chain": 1, "commit": "1fa78b1" } ================================================ FILE: mainnet/2025-07-24-eth-recovery/script/ArbitrumExecuteRecovery.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Recovery} from "@base-contracts/src/recovery/Recovery.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IInbox} from "nitro-contracts/bridge/IInbox.sol"; struct AddressJsonRecoveryInfo { address refund_address; string addressType; string category; string totalWei; } contract ArbitrumExecuteRecovery is MultisigScript { address internal immutable OWNER_SAFE = vm.envAddress("INCIDENT_MULTISIG"); address internal ARBITRUM_INBOX = vm.envAddress("ARBITRUM_INBOX"); address internal immutable L2_RECOVERY_PROXY = vm.envAddress("RECOVERY_PROXY"); uint256 internal immutable ADDRESS_INDEX = vm.envUint("ADDRESS_INDEX"); address[] public addresses; uint256[] public amounts; function setUp() public { AddressJsonRecoveryInfo[] memory jsonAddressesToRefund; string memory root = vm.projectRoot(); string memory path = string.concat(root, "/output/arbitrum/recovery_addresses.json"); string memory json = vm.readFile(path); bytes memory data = vm.parseJson(json, ".addresses"); jsonAddressesToRefund = abi.decode(data, (AddressJsonRecoveryInfo[])); uint256 numAddressesToProcess = 100; uint256 startingIndex = ADDRESS_INDEX * numAddressesToProcess; if (jsonAddressesToRefund.length - startingIndex < numAddressesToProcess) { numAddressesToProcess = jsonAddressesToRefund.length - startingIndex; } for (uint256 i; i < numAddressesToProcess; i++) { addresses.push(jsonAddressesToRefund[i + startingIndex].refund_address); amounts.push(vm.parseUint(jsonAddressesToRefund[i + startingIndex].totalWei)); } } function _buildCalls() internal view virtual override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); bytes memory data = abi.encodeCall(Recovery.withdrawETH, (addresses, amounts)); uint256 l2CallValue = 0; uint256 maxSubmissionCost = 0.001 ether; // Estimated value uint256 gasLimit = 2_000_000; uint256 maxFeePerGas = 2 gwei; uint256 value = maxSubmissionCost + l2CallValue + (gasLimit * maxFeePerGas); calls[0] = IMulticall3.Call3Value({ target: ARBITRUM_INBOX, allowFailure: false, callData: abi.encodeCall( IInbox.createRetryableTicket, ( L2_RECOVERY_PROXY, // to l2CallValue, maxSubmissionCost, OWNER_SAFE, // excessFeeRefundAddress OWNER_SAFE, // callValueRefundAddress gasLimit, maxFeePerGas, data ) ), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-07-24-eth-recovery/script/DeployRecoveryImplementation.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {Recovery} from "@base-contracts/src/recovery/Recovery.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; contract DeployRecoveryImplementation is Script { using AddressAliasHelper for address; address internal ALIASED_INCIDENT_MULTISIG; Recovery recoveryImpl; function setUp() public { ALIASED_INCIDENT_MULTISIG = vm.envAddress("INCIDENT_MULTISIG").applyL1ToL2Alias(); } function run() public { vm.startBroadcast(); recoveryImpl = new Recovery(ALIASED_INCIDENT_MULTISIG); console.log("Recovery implementation deployed at: ", address(recoveryImpl)); vm.stopBroadcast(); _postCheck(); } function _postCheck() internal view { require(recoveryImpl.OWNER() == ALIASED_INCIDENT_MULTISIG, "Incorrect OWNER"); } } ================================================ FILE: mainnet/2025-07-24-eth-recovery/script/DeployRecoveryProxies.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol"; import {Recovery} from "@base-contracts/src/recovery/Recovery.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; contract DeployRecoveryProxies is Script { using AddressAliasHelper for address; address internal ALIASED_INCIDENT_MULTISIG; address internal RECOVERY_IMPLEMENTATION; address[6] internal EXPECTED_PROXY_ADDRESSES; address[6] internal actualProxyAddresses; function setUp() public { ALIASED_INCIDENT_MULTISIG = vm.envAddress("INCIDENT_MULTISIG").applyL1ToL2Alias(); RECOVERY_IMPLEMENTATION = vm.envAddress("RECOVERY_IMPLEMENTATION"); string memory proxyAddressList = vm.envString("EXPECTED_PROXY_ADDRESSES"); string[] memory addressStrings = vm.split(proxyAddressList, ","); require(addressStrings.length == 6, "Must provide exactly 6 proxy addresses"); for (uint256 i; i < 6; i++) { EXPECTED_PROXY_ADDRESSES[i] = vm.parseAddress(addressStrings[i]); } } function run() public { vm.startBroadcast(); for (uint256 i; i < EXPECTED_PROXY_ADDRESSES.length; i++) { address proxy = address(new ERC1967Proxy({_logic: RECOVERY_IMPLEMENTATION, _data: ""})); actualProxyAddresses[i] = proxy; console.log("Recovery proxy deployed at: ", proxy); } vm.stopBroadcast(); _postCheck(); } function _postCheck() internal { for (uint256 i; i < EXPECTED_PROXY_ADDRESSES.length; i++) { // Check that the proxies are deployed to the expected addresses require(actualProxyAddresses[i] == EXPECTED_PROXY_ADDRESSES[i], "Incorrect proxy address"); // Check that the proxies owners are the expected addresses Recovery proxy = Recovery(actualProxyAddresses[i]); require(proxy.OWNER() == ALIASED_INCIDENT_MULTISIG, "Incorrect proxy owner"); // Check that the proxies are upgradable vm.prank(ALIASED_INCIDENT_MULTISIG); UUPSUpgradeable(actualProxyAddresses[i]).upgradeTo(RECOVERY_IMPLEMENTATION); } } } ================================================ FILE: mainnet/2025-07-24-eth-recovery/script/OPStackExecuteRecovery.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Recovery} from "@base-contracts/src/recovery/Recovery.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IOptimismPortal2} from "@eth-optimism-bedrock/interfaces/L1/IOptimismPortal2.sol"; struct AddressJsonRecoveryInfo { address refund_address; string addressType; string category; string totalWei; } contract OPStackExecuteRecovery is MultisigScript { address internal immutable OWNER_SAFE = vm.envAddress("INCIDENT_MULTISIG"); address internal PORTAL = vm.envAddress("PORTAL"); address internal immutable L2_RECOVERY_PROXY = vm.envAddress("RECOVERY_PROXY"); uint256 internal immutable ADDRESS_INDEX = vm.envUint("ADDRESS_INDEX"); address[] public addresses; uint256[] public amounts; function setUp() public { AddressJsonRecoveryInfo[] memory jsonAddressesToRefund; string memory root = vm.projectRoot(); string memory path = string.concat(root, string.concat("/output/", vm.envString("CHAIN"), "/recovery_addresses.json")); string memory json = vm.readFile(path); bytes memory data = vm.parseJson(json, ".addresses"); jsonAddressesToRefund = abi.decode(data, (AddressJsonRecoveryInfo[])); uint256 numAddressesToProcess = 100; uint256 startingIndex = ADDRESS_INDEX * numAddressesToProcess; if (jsonAddressesToRefund.length - startingIndex < numAddressesToProcess) { numAddressesToProcess = jsonAddressesToRefund.length - startingIndex; } for (uint256 i; i < numAddressesToProcess; i++) { addresses.push(jsonAddressesToRefund[i + startingIndex].refund_address); amounts.push(vm.parseUint(jsonAddressesToRefund[i + startingIndex].totalWei)); } } function _buildCalls() internal view virtual override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = L2_RECOVERY_PROXY; uint256 value = 0; uint64 gasLimit = 2_000_000; bool isCreation = false; bytes memory data = abi.encodeCall(Recovery.withdrawETH, (addresses, amounts)); calls[0] = IMulticall3.Call3Value({ target: PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: do-sign do-sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L2_RPC_URL) SwapOwner \ --sig "sign(address[])" [] .PHONY: execute execute: forge script --rpc-url $(L2_RPC_URL) SwapOwner \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0xB4AE52A401C34Ed24F49413170690255e737D414", "0xB9F93278843351Dd1F1fB7045349aCA4401CB76e", "0x8793C36f3721B751Aa03A365be4862ac4aCD21Ef", "0x16eBE22A951D96A3CA15407b04dD873A14018992", "0x7233C120cd9D601EC0ad4DBaA51aE55A4851FaC6", "0x4Ae6Da8c76d4a628594a2154bDC31C9e04f43A48", "0x14b849bcc8034b2cd4c4669f9CEB47b190F3fb1F" ], "OwnersToRemove": [ "0xC29A4a69886d5ee1E08BDBbdd4e35558A668ee04", "0x23AB3425EC02328eBB0dB3d93213a2238A78a026", "0x7CD1a2f18CBef60F63F6fe35FC02A6305a77E3E2", "0xd458da0810f6924623575a4b965310F008c1C8fe", "0xE4fdB41d002844cfb43d5d50DE7210625C6f5a09", "0xA608EA330D51A5109454f3Ea4F5d0cdEc5a1aCAa" ] } ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/README.md ================================================ # Swap Owner on Gnosis Safe Status: PENDING ## Description This task contains a single script that can be used to swap an owner in a Gnosis Safe. ## Procedure ### 1. Update repo: ```bash cd /safe-swap-owner make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```bash make do-sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is ``. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/VALIDATION.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the swap owner transaction. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and no others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Changes ### `` (Base `GnosisSafeProxy`) - **Key**: `owners[newOwner]`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `Next address in the list returned by getOwners()`
**Meaning**: Sets the address value at the mapping key `owners[newOwner]` to the next address in the list returned by `getOwners()`. This is the first step required to replace the `oldOwner` address in the linked list data structure of owners.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. - **Key**: `owners[prevOwner]`
**Before**: `oldOwner address`
**After**: `newOwner address`
**Meaning**: Points the address value at mapping key `owners[prevOwner]` to the `newOwner` address. This is the second step required to replace the `oldOwner` address in the linked list data structure of owners.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. - **Key**: `owners[oldOwner]`
**Before**: `Next address in the list returned by getOwners()`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Clears the address value at the mapping key `owners[oldOwner]`. This removes the final reference to the `oldOwner` from the `owners` linked list.
**Verify**: You can verify the key derivation by running `cast index address 2` in your terminal. See the following section for an explanation of the storage and value calculations. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `Current nonce value (in hexadecimal)`
**After**: `Current nonce value + 1 (in hexadecimal)`
**Meaning**: Increments the `nonce` value of the Gnosis Safe.
**Verify**: You can verify the value by running `cast storage 5 -r ` in your terminal. This value represents the _current_ nonce value. ### `SwapOwner` Storage Calculations The [`swapOwner`](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L94) function in the Gnosis Safe implementation will perform [three storage changes](https://github.com/safe-global/safe-smart-account/blob/8823fa3e44936e2aecf23bb97662eb0ffeff2f93/contracts/base/OwnerManager.sol#L106-L108): - Point the `newOwner` address to the owner address that was previously pointed to by the `oldOwner` that is being removed. - Point the `prevOwner` address to the `newOwner` address. - Remove the pointer value stored at the mapping of the `oldOwner` address. These changes are needed on account of the data structure that holds the owners in the Gnosis Safe implementation being a singly-linked list. To calculate the expected storage locations of these mapping values, we can perform the following: #### Calculating `prevOwner` The `prevOwner` is identified by the script, but can be manually checked by running the cast command: ```sh cast call "getOwners()(address[])" -r [0x6CD3850756b7894774Ab715D136F9dD02837De50, 0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1, 0x5FbEFA105bbd53b43bf537Cbc5cD30804Dd0c993, 0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E, 0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7, 0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c] ``` The order that the owner addresses are returned in indicates who the `prevOwner` and next owner values of the address to remove is. If the owner to remove is the 0th value, its `prevOwner` would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). Otherwise, if the owner to remove is the last value in the array, its next owner address would be the special sentinel node value [`SENTINEL_OWNERS`](https://github.com/safe-global/safe-smart-account/blob/f9cc387f72640eb2c1d6ae8abe9d6ff25ca1ed3b/contracts/base/OwnerManager.sol#L17). #### Calculating storage locations and values With the order of the owners identified, we can calculate the expected storage mapping locations and their values. For the first change, the expected storage slot and value will be the following: **Storage Slot**: `cast index address 2` **Value**: The address immediately following `oldOwner` in the `getOwners` list, or the `SENTINEL_OWNERS` special value if the address is the last in the array. For the second change, it will be: **Storage Slot**: `cast index address 2` **Value**: `newOwner` address For the final storage change, it will be: **Storage Slot**: `cast index address 2` **Value**: `address(0)` Note that for all the above storage calculations, we used storage slot 2 as that is the location of the `owners` mapping in the Gnosis Safe storage layout. This can be confirmed with the following command: `cast storage -r -e `. Also note that while the storage changes may not appear in the same order in the Tenderly simulation, there should still be 3 storage changes related to the `owner` linked list and one change for the `nonce` value on the `GnosisSafeProxy`. There should be no additional changes to the proxy besides these ones! ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/records/SwapOwner.s.sol/8453/run-1757436536544.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b" ], "transaction": { "from": "0xb4ae52a401c34ed24f49413170690255e737d414", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x7a043", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1d", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1757436536544, "chain": 8453, "commit": "ef1418a" } ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/records/SwapOwner.s.sol/8453/run-1757436608629.json ================================================ { "transactions": [ { "hash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionType": "CALL", "contractName": null, "contractAddress": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b" ], "transaction": { "from": "0xb4ae52a401c34ed24f49413170690255e737d414", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "gas": "0x7a043", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011200000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1d", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x33a4ac9", "logs": [ { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000012400000000000000000000000000000000000000000000000000000000000000fa4174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f1300000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000b5fa2ea9845c67c76b1813d4778601f209875bf60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000089ebc5eb7163470e23fcc24833eea6bb93a7b045000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3173a2d015c47f6733a2854133e3a7010468f4d2ec42300ffe6e40f2ec0414ff24fd91b8e036ebdb07eacf10fef6d1c63ac4b885889b7a92d89377ec1a8e295a31b61b1c37fd3742811d78ded8e0aa5ece061d9cd48f1ced022e9a48be459c27d00300cf107cdd75e3fac974f8d2ee39efb7412793d30003e44649cb2d3aac31a571b7e2dce16f542b11a633d6fe3a621a46b3e36111bd6af674081c5bfc1ab57a95c31dd21d8af70a01c5152beda14ebc29e6e02ea507f55085d8e53203663d7678f1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000b4ae52a401c34ed24f49413170690255e737d4140000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x359", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000b4ae52a401c34ed24f49413170690255e737d414", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35a", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000b9f93278843351dd1f1fb7045349aca4401cb76e", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35b", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000008793c36f3721b751aa03a365be4862ac4acd21ef", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35c", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x00000000000000000000000016ebe22a951d96a3ca15407b04dd873a14018992", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35d", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000007233c120cd9d601ec0ad4dbaa51ae55a4851fac6", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35e", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000004ae6da8c76d4a628594a2154bdc31c9e04f43a48", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x35f", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x00000000000000000000000014b849bcc8034b2cd4c4669f9ceb47b190f3fb1f", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x360", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000c29a4a69886d5ee1e08bdbbdd4e35558a668ee04", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x361", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000023ab3425ec02328ebb0db3d93213a2238a78a026", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x362", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000007cd1a2f18cbef60f63f6fe35fc02a6305a77e3e2", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x363", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000d458da0810f6924623575a4b965310f008c1c8fe", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x364", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000e4fdb41d002844cfb43d5d50de7210625c6f5a09", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x365", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000a608ea330d51a5109454f3ea4f5d0cdec5a1acaa", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x366", "removed": false }, { "address": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9bfb729edf3a679dd37b3a9113cc742df0586e8841f9b18ba893577fd8f536810000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "blockTimestamp": "0x68c05ac1", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "logIndex": "0x367", "removed": false } ], "logsBloom": "0x00000000400000000800000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000200000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000001000000004000000000000000000000000000000020000000000000000000000000000020000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0xfbe8ea7282aa7180f53bd32d8c8970b0c3372963634ae9cc4cfcb4d1c4a34bb4", "transactionIndex": "0xe6", "blockHash": "0xc68736611e06f5025314fd4aba1bf47ad1e94d08d0a5dbe00d573f1b0eada5eb", "blockNumber": "0x21afeef", "gasUsed": "0x58568", "effectiveGasPrice": "0x639f28", "from": "0xb4ae52a401c34ed24f49413170690255e737d414", "to": "0xb5fa2ea9845c67c76b1813d4778601f209875bf6", "contractAddress": null, "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x71312af6e", "l1GasPrice": "0x42c6a33d", "l1GasUsed": "0x2eb1" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1757436608629, "chain": 8453, "commit": "ef1418a" } ================================================ FILE: mainnet/2025-08-13-safe-swap-owner/script/SwapOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {IGnosisSafe} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Vm} from "forge-std/Vm.sol"; contract SwapOwner is MultisigScript { using stdJson for string; address internal OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address internal constant SENTINEL_OWNERS = address(0x1); address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; uint256 public immutable THRESHOLD; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); IGnosisSafe ownerSafe = IGnosisSafe(OWNER_SAFE); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() public { require(OWNERS_TO_ADD.length > 0); require(OWNERS_TO_REMOVE.length > 0); address prevOwner = SENTINEL_OWNERS; IGnosisSafe ownerSafe = IGnosisSafe(payable(OWNER_SAFE)); for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "New owner already owner"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Duplicate owner detected"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)), value: 0 }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall( IGnosisSafe.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ), value: 0 }); } return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IGnosisSafe ownerSafe = IGnosisSafe(OWNER_SAFE); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-10-06-funding/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif # OWNER_SAFE/ # └── Signers RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = FundScript .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) FundScript \ --sig "sign(address[])" "[]" --sender 0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc .PHONY: execute execute: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2025-10-06-funding/README.md ================================================ # Funding Status: [EXECUTED](https://etherscan.io/tx/0x33ad6a93583d4220082db978b7423a4674a4a6d165c29502b0284944af6715e5) ## Description This task contains a single script that can be used to fund addresses from a Gnosis Safe. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-10-06-funding make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `mainnet`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: mainnet/2025-10-06-funding/VALIDATION.md ================================================ # Validation for Coinbase Signers This document can be used to validate the inputs and result of the execution of the funding transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > - Domain Hash: `0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289` > - Message Hash: `0x92edce5c578c4a01a764572285214e8de98a08bc308f043d09585a7a22d8d2cc` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0xad4b97ba141f949a3ffd85b17607d2d1c8644516be3250fa7eca7a4ae89d857f`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Hashes the transaction data together with the signer address, and writes 1 into approvedHashes[signer][hash], in order to simulate that the approveHash has already been called. ## Task State Changes ### Multisig - Mainnet (`0x14536667Cd30e52C0b458BaACcB9faDA7046E056`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000005a`
**After**: `0x000000000000000000000000000000000000000000000000000000000000005b`
**Value Type**: uint256
**Decoded Old Value**: `90`
**Decoded New Value**: `91`
**Meaning**: Increments the nonce
1. **Balance**:
**Before**: `2895600671558404283`
**After**: `1895600671558404283`
**Decoded Old Value**: `2.895600671558404283 ETH`
**Decoded New Value**: `1.895600671558404283 ETH`
**Meaning**: Decreases the balance of the Multisig by 1 ETH.
### Ledger - Mainnet (`0x1841CB3C2ce6870D0417844C817849da64E6e937`) 2. **Balance**:
**Before**: `0`
**After**: `1.000000000000000000`
**Decoded Old Value**: `0 ETH`
**Decoded New Value**: `1.000000000000000000 ETH`
**Meaning**: Increases the balance of the Ledger by 1.0 ETH.
- Nonce increment for the sender of the simulated transaction. You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: mainnet/2025-10-06-funding/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-10-06-funding/funding.json ================================================ { "recipients": [ "0x1841CB3C2ce6870D0417844C817849da64E6e937" ], "funds": [ 1000000000000000000 ] } ================================================ FILE: mainnet/2025-10-06-funding/script/Fund.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract FundScript is MultisigScript { address internal immutable OWNER_SAFE; uint256 internal immutable OWNER_SAFE_BALANCE_BEFORE; uint256 internal immutable TOTAL_FUNDS; address[] internal RECIPIENTS; uint256[] internal FUNDS; uint256[] internal RECIPIENT_BALANCES_BEFORE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); string memory funding = vm.readFile("./funding.json"); RECIPIENTS = vm.parseJsonAddressArray(funding, ".recipients"); FUNDS = vm.parseJsonUintArray(funding, ".funds"); uint256 totalFunds = 0; RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length + 1); for (uint256 i; i < RECIPIENTS.length; i++) { RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance; totalFunds += FUNDS[i]; } OWNER_SAFE_BALANCE_BEFORE = OWNER_SAFE.balance; TOTAL_FUNDS = totalFunds; } function setUp() public view { _precheck(); } function _precheck() internal view { require(RECIPIENTS.length == FUNDS.length, "RECIPIENTS and FUNDS not same length"); require(RECIPIENTS.length > 0, "RECIPIENTS and FUNDS empty"); require(OWNER_SAFE.balance >= TOTAL_FUNDS, "OWNER_SAFE not enough balance"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](RECIPIENTS.length); for (uint256 i; i < RECIPIENTS.length; i++) { calls[i] = IMulticall3.Call3Value({target: RECIPIENTS[i], allowFailure: false, callData: "", value: FUNDS[i]}); } return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { for (uint256 i; i < RECIPIENTS.length; i++) { vm.assertEq( RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], "Recipient balance is not correct" ); } vm.assertEq(OWNER_SAFE.balance, OWNER_SAFE_BALANCE_BEFORE - TOTAL_FUNDS, "Owner safe balance is not correct"); } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-10-07-upgrade-to-U16a/README.md ================================================ # Upgrade U16a (022-U16a-opcm-upgrade-v410-base): Base Mainnet to op-contracts/v4.1.0 Status: [EXECUTED](https://etherscan.io/tx/0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38) ## Description This task consisted of upgrading Base Mainnet to U16a. More context on U16a can be found in the upgrade instructions [here](https://github.com/ethereum-optimism/superchain-ops/tree/main/src/tasks/eth/022-U16a-opcm-upgrade-v410-base). ## Transactions - Base-Nested Council Approval: [`0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718`](https://etherscan.io/tx/0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718) (artefacts: [run-1759861934.json](./records/OPCMUpgradeV410.sol/1/run-1759861934.json)) - Base-Nested Operations Approval: [`0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275`](https://etherscan.io/tx/0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275) (artefacts: [run-1759862413.json](./records/OPCMUpgradeV410.sol/1/run-1759862413.json)) - Base-Nested Approval: [`0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52`](https://etherscan.io/tx/0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52) (artefacts: [run-1759862485.json](./records/OPCMUpgradeV410.sol/1/run-1759862485.json)) - Unnested Optimism Foundation Operations Approval: [`0x667e5af55c85d789d9a091629bbbff229c9ac58867d904186d4da225a63f0cfa`](https://etherscan.io/tx/0x667e5af55c85d789d9a091629bbbff229c9ac58867d904186d4da225a63f0cfa) - Execution Transaction: [`0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38`](https://etherscan.io/tx/0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38) (artefacts: [run-1759862580.json](./records/OPCMUpgradeV410.sol/1/run-1759862580.json)) ================================================ FILE: mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759861934.json ================================================ { "transactions": [ { "hash": "0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x73bc154792b4c3db739cb4a202758b1c1ae403f2992878b81971b531c9d407235de1316e3424841a2623cb6532c39843a35688707d2fe455d674dbbece6b1cc21bc61e26d0e586ac404f216b1c111042e43419cf5483d273fe5c61b324dffffac65c55e670d070191901b97c8d5990ec6e4f52ad3fe14f4db6788fff2705b84ec71be14acb7153ba768990739d9970d1d366072572fbc14be793e9cb0a248c3c5e6f2273da0550d072555a0fe78926962f08df3d9e2bf5d3a4229d450bdc26ba74d71c7a8211913fc0b8cd4ccf32ad5bcd0af513387553261af7574adc3461649f13c22374b301f7ad0c5edf7f59beb8f7c51dfc28d42dadd29b4225cc39ea6dce2bf51b4376eaba97e1a9a87034064a4276587062a2b97cb5de9b0daad034e748c01a1d0c49cd86d214566c5d347ec8ff1c4fc282bc0180ef86806b1884c2bbe0df11571b8ee9135358d1e28be078c840f743cfb1dbe8ad908af1667b0bee983848cc7acd043067b9c63c34ba0530e8b978ae2b402a31b48cbb3bf233233fa17b3b32bd851b6d80c6470a678985b4eb9864542cae43d02a55ce199bf02cde667f28cf1fc153565f5b61478cfadc79194cceb7f4d3115738fb401e71bbe4f3d4a71554374b5b1b" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2cca1", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c773bc154792b4c3db739cb4a202758b1c1ae403f2992878b81971b531c9d407235de1316e3424841a2623cb6532c39843a35688707d2fe455d674dbbece6b1cc21bc61e26d0e586ac404f216b1c111042e43419cf5483d273fe5c61b324dffffac65c55e670d070191901b97c8d5990ec6e4f52ad3fe14f4db6788fff2705b84ec71be14acb7153ba768990739d9970d1d366072572fbc14be793e9cb0a248c3c5e6f2273da0550d072555a0fe78926962f08df3d9e2bf5d3a4229d450bdc26ba74d71c7a8211913fc0b8cd4ccf32ad5bcd0af513387553261af7574adc3461649f13c22374b301f7ad0c5edf7f59beb8f7c51dfc28d42dadd29b4225cc39ea6dce2bf51b4376eaba97e1a9a87034064a4276587062a2b97cb5de9b0daad034e748c01a1d0c49cd86d214566c5d347ec8ff1c4fc282bc0180ef86806b1884c2bbe0df11571b8ee9135358d1e28be078c840f743cfb1dbe8ad908af1667b0bee983848cc7acd043067b9c63c34ba0530e8b978ae2b402a31b48cbb3bf233233fa17b3b32bd851b6d80c6470a678985b4eb9864542cae43d02a55ce199bf02cde667f28cf1fc153565f5b61478cfadc79194cceb7f4d3115738fb401e71bbe4f3d4a71554374b5b1b00000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20fe3b1", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0", "blockNumber": "0x1670107", "blockTimestamp": "0x68e55cab", "transactionHash": "0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718", "transactionIndex": "0x11b", "logIndex": "0x306", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x29386272678a5cdc46b4eb58edcddca14d455f171e3e70ce37473d1bc4deeb53" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0", "blockNumber": "0x1670107", "blockTimestamp": "0x68e55cab", "transactionHash": "0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718", "transactionIndex": "0x11b", "logIndex": "0x307", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000110000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000010000000000010000000000000000000040000000000000000000000002080000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x1339e97e1489f00265f81337d8d221e3eaa278b513f3927243a7a0ccee805718", "transactionIndex": "0x11b", "blockHash": "0x39d0ddb33d5a8741ab43dc98a1a744e73c6fcc39f1a0f0ed10a8827835a692d0", "blockNumber": "0x1670107", "gasUsed": "0x206d4", "effectiveGasPrice": "0x466436a4", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1759861934, "chain": 1, "commit": "f3eb9b30" } ================================================ FILE: mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862413.json ================================================ { "transactions": [ { "hash": "0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0bbd19ab80e8c5171a9eee3b79bda0fb7d5bf3f5448e3cac0581222ae37645b9154f28772f4b8cdfd7d1842458b94f3aefca12f9369c970a223e3feea10550491c4561d12503df307057ffecf3fa649030dedbeee327a6311b4af05134733e28db74e60a19e878102e44be22d8361e54e93b1e6bfa1509ad307e729ee83ec24b711b9d8fe3a758103ede3019b23ae615b18269289d55dfb17f30e70126a77d3a7965477b86882fe23281c0b416b6374fe4bfa43a528142bb49643fc57efff3db7c4c1b" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x2340a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30bbd19ab80e8c5171a9eee3b79bda0fb7d5bf3f5448e3cac0581222ae37645b9154f28772f4b8cdfd7d1842458b94f3aefca12f9369c970a223e3feea10550491c4561d12503df307057ffecf3fa649030dedbeee327a6311b4af05134733e28db74e60a19e878102e44be22d8361e54e93b1e6bfa1509ad307e729ee83ec24b711b9d8fe3a758103ede3019b23ae615b18269289d55dfb17f30e70126a77d3a7965477b86882fe23281c0b416b6374fe4bfa43a528142bb49643fc57efff3db7c4c1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1c5a2a8", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b1", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b", "blockNumber": "0x167012f", "blockTimestamp": "0x68e55e8b", "transactionHash": "0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275", "transactionIndex": "0x128", "logIndex": "0x2cc", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x2c68489a6108598d0bbb8c196a92f8427becf441085b07896d2e9bfb045d859e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b", "blockNumber": "0x167012f", "blockTimestamp": "0x68e55e8b", "transactionHash": "0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275", "transactionIndex": "0x128", "logIndex": "0x2cd", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000100000000000000000000000000000000000000110000000000000000000002000000000000000000080000000001000008000000800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010080000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000001000", "type": "0x2", "transactionHash": "0x5257886e3245a5f759f1db4d27fa3b98353401487441c01f93906f6633ad3275", "transactionIndex": "0x128", "blockHash": "0x7b2898beb3a3aa6812f0d41923ded91f24b0b39b7c6cd39860a38f6ba793558b", "blockNumber": "0x167012f", "gasUsed": "0x1985c", "effectiveGasPrice": "0x3d4aeb4f", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1759862413, "chain": 1, "commit": "f3eb9b30" } ================================================ FILE: mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862485.json ================================================ { "transactions": [ { "hash": "0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcde0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x20c97", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcde0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1499321", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xe0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff", "blockNumber": "0x1670135", "blockTimestamp": "0x68e55ed3", "transactionHash": "0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52", "transactionIndex": "0xd3", "logIndex": "0x24f", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x99e9c7c57436615b7485b4f917281ab9f9e998e0a214ffaf5d8ac4332d79b3b10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff", "blockNumber": "0x1670135", "blockTimestamp": "0x68e55ed3", "transactionHash": "0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52", "transactionIndex": "0xd3", "logIndex": "0x250", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000040000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000002000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x3ad4796d0e538d7e6aba82ddfdf80daa52a1e280070458135a6c860890c2bf52", "transactionIndex": "0xd3", "blockHash": "0x31b632d42376597620d13013a75421f677597a4616200e101939adc7ed6098ff", "blockNumber": "0x1670135", "gasUsed": "0x166b2", "effectiveGasPrice": "0x4110bd9e", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1759862485, "chain": 1, "commit": "f3eb9b30" } ================================================ FILE: mainnet/2025-10-07-upgrade-to-U16a/records/OPCMUpgradeV410.sol/1/run-1759862580.json ================================================ { "transactions": [ { "hash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x93dc480940585D9961bfcEab58124fFD3d60f76a", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0xe4e1c0", "value": "0x0", "input": "0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x1" }, "additionalContracts": [ { "transactionType": "CREATE2", "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e" }, { "transactionType": "CREATE2", "address": "0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e" }, { "transactionType": "CREATE2", "address": "0xe3803582fd5bcdc62720d2b80f35e8ddea94e2ec", "initCode": "0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a" }, { "transactionType": "CREATE2", "address": "0x2453c1216e49704d84ea98a4dacd95738f2fc8ec", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e" }, { "transactionType": "CREATE2", "address": "0xe4066890367bf8a51d58377431808083a01b1e0c", "initCode": "0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a70110000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105" } ], "isFixedGasLimit": true } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20e9fb8", "logs": [ { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1f7", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1f8", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1f9", "removed": false }, { "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1fa", "removed": false }, { "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1fb", "removed": false }, { "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1fc", "removed": false }, { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1fd", "removed": false }, { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1fe", "removed": false }, { "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d60000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x1ff", "removed": false }, { "address": "0x866e82a600a1414e583f7f13623f1ac5d58b0afa", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x200", "removed": false }, { "address": "0x3154cf16ccdb4c6d922629664174b904d80f2c35", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x201", "removed": false }, { "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x202", "removed": false }, { "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x203", "removed": false }, { "address": "0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x204", "removed": false }, { "address": "0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x205", "removed": false }, { "address": "0x64ae5250958cdeb83f6b61f913b5ac6ebe8efd4d", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x206", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x207", "removed": false }, { "address": "0x2453c1216e49704d84ea98a4dacd95738f2fc8ec", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x208", "removed": false }, { "address": "0x2453c1216e49704d84ea98a4dacd95738f2fc8ec", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x209", "removed": false }, { "address": "0x2453c1216e49704d84ea98a4dacd95738f2fc8ec", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x20a", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x20b", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000002105", "0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072", "0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c" ], "data": "0x", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x20c", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe0827c2ee69fdaffc792a56c7cd5fbd1f01890591e6e3513c4de8f8f46b761fb0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "blockTimestamp": "0x68e55f33", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "logIndex": "0x20d", "removed": false } ], "logsBloom": "0x000000004004000000000000000c00004020000000000000000000a0840400000000008000000010000000000004000000000000000000000001000000040110001080120400000880000000000002081051000000040000000000000340000008010000020800000000020024000800000000c10000240000000000000000200000010000400000008000000210000200010820000081000000000020800000000000008000004000001000000404000240000000400000040000000000000000080020000000000000000000040080110000104400200001000002200060000000000000003040004000000000200002000000020000000000000000000101", "type": "0x2", "transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38", "transactionIndex": "0x12b", "blockHash": "0x1169414b9644e8073b5d9b15436d92e43b622a36aa33e2d4ebf70cfa68717801", "blockNumber": "0x167013d", "gasUsed": "0xb82599", "effectiveGasPrice": "0x3b218d56", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "struct VmSafe.AccountAccess[]", "value": "[((0, 1), 8, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D, 0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, true, 0, 0, 0x, 0, 0x, false, [], 1), ((0, 1), 0, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552, 0x000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552, false)], 1), ((0, 1), 1, 0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000005, true, 0x000000000000000000000000000000000000000000000000000000000000000a, 0x000000000000000000000000000000000000000000000000000000000000000b, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x69fe20c2c04059fe9036c3ae4878b8e54b643ea18610d61a18d50bbbe8ec7202, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53, false, 0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a, 0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x957c527a96bf9b903ff08c7171839fc086ceeb7151487cebfacb3beeca8882b8, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, 0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 2), ((0, 1), 1, 0x93dc480940585D9961bfcEab58124fFD3d60f76a, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000008123739c1368c2dedc8c564255bc417feeebff9d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000, false, [], 3), ((0, 1), 1, 0x8123739C1368C2DEDc8C564255bc417FEEeBFF9D, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0xff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 4), ((0, 1), 1, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x1841CB3C2ce6870D0417844C817849da64E6e937, true, 0, 0, 0x, 0, 0xff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 5), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 8, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, false)], 6), ((0, 1), 1, 0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x35e80ab3, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x35e80ab3, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000035, false, 0x000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00, 0x000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00, false)], 7), ((0, 1), 3, 0x95703e0982140D16f8ebA6d158FccEde42f04a4C, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [(0x95703e0982140D16f8ebA6d158FccEde42f04a4C, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false)], 6), ((0, 1), 1, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 7), ((0, 1), 3, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 6), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, false)], 6), ((0, 1), 1, 0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 7), ((0, 1), 8, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x3391a01d1547ceb1ad17d102702e65f7a5566fcd9661204766ef7cec8a847b6a, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x3659cfe600000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000004bba758f006ef09402ef31724203f316ab74e4a0, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 7), ((0, 1), 3, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, false)], 7), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 8, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x8b390f1e11e72bdf7014b16104dab391d1774778eda5488a9a66ebe5c76caade, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x00000000000000000000000078ffe9209dff6fe1c9b6f3efdf996bee60346d0e, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 7), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x028f4e47000000000000000000000000000000000000000000000000000000000000210500000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006b, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000002105, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x000000000000000000000000000000000000000000000000000000000000006c, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, true, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x5c0cba33, true, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x5c0cba33, true, [], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3c9f397c, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3c9f397c, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003b, false, 0x000000000000000000000000000000000000000000000000672253a300000000, 0x000000000000000000000000000000000000000000000000672253a300000000, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 3, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, false)], 6), ((0, 1), 1, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false), (0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false)], 7), ((0, 1), 3, 0x1D0053D7FAedA9Fdc59A143e225764df95F4D8cd, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0xbcef3b55, false, [], 8), ((0, 1), 1, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0xbcef3b55642229f238fb9de03374be34b0ed8d9de80752c59a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd06f340c542aa6f2bd8f7b8f6ca2eaaa00529db209c9eb77c9c7bc5cd66e43ca01000000000000000000000000000000000000000000000000000000000228e0320076, false, [], 9), ((0, 1), 6, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, 0x0000000000000000000000001d0053d7faeda9fdc59a143e225764df95f4d8cd, false)], 7), ((0, 1), 3, 0x1D0053D7FAedA9Fdc59A143e225764df95F4D8cd, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0x8b85902b, false, [], 8), ((0, 1), 1, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x496286e5eE7758de84Dd17e6d2d97afC2ACE4cc7, true, 0, 0, 0x, 0, 0x8b85902b642229f238fb9de03374be34b0ed8d9de80752c59a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd06f340c542aa6f2bd8f7b8f6ca2eaaa00529db209c9eb77c9c7bc5cd66e43ca01000000000000000000000000000000000000000000000000000000000228e0320076, false, [], 9), ((0, 1), 8, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6175fadb1d280040a7c5d2904f9e918a57bb3f36e1b62bff30c1adce6559a6c4, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef286000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a447a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 7), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x47a222c500000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0000000000000000000000000000000000000000000000000000000000228e0320000000000000000000000000000000000000000000000000000000000000000, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000003, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x9a37fe32cd2b49385bec0236b7b5c2177e71176bb306d19a49a8a77651ce2cd0, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000000000000000000000000000000000000228e032, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000006, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000000000000000000000000000068e55eeb00000000, false), (0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000073a79fab69143498ed3712e519a88a918e1f40720001, false)], 8), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xb682c444, true, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 1), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xb682c444, true, [], 7), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x78ecabce0000000000000000000000000000000000000000000000000000000000000001, false, [], 6), ((0, 1), 8, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x9172a26a833d9e2a4bdf5999e73da4eaf131a2ca274b76035f86e291131ace8c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 8, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x3659cfe6000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 7), ((0, 1), 8, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x0900f010000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 6), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0x0900f010000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 7), ((0, 1), 3, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false)], 8), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 1), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636, false, 0x000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa, 0x000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7, false, 0x000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e53, 0x000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e53, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376, false, 0x0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35, 0x0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false), (0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c, false, 0x00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d84, 0x00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d84, false)], 7), ((0, 1), 8, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x821ec14216267947ff42340156befde7c75e803b5af75c40c1a3cea81edbc5c0, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 6), ((0, 1), 8, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x9b2ea4bd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, false), (0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, true, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 7), ((0, 1), 0, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x9b4282f4287c5bb09c9a1d8c963f71ae3051e7077201e98231c84061a5a26a07, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false)], 7), ((0, 1), 3, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, true, 0, 0, 0x, 0, 0xbf40fac10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 8), ((0, 1), 1, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x9b4282f4287c5bb09c9a1d8c963f71ae3051e7077201e98231c84061a5a26a07, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x6610857e9acaea85608f277f15b3611bf7d799b7b880472490c9cf911fb99620, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 8), ((0, 1), 3, 0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 9), ((0, 1), 6, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [(0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x00000000000000000000000000000000000000000000000000000000000000fe, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x00000000000000000000000000000000000000000000000000000000000000fe, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0x866E82a600A1414e583f7F13623F1aC5d58b0Afa, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000000030000000000000000000000000000000000000000, false)], 8), ((0, 1), 8, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c35000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x167303c5c3979651955e9d53fc1fbc5427fdbf3949d093052044c70ace70e401, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x167303c5c3979651955e9d53fc1fbc5427fdbf3949d093052044c70ace70e401, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 6), ((0, 1), 8, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 1), 0, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x9b0b0fda360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000b09ba359a106c9ea3b181cbc5f394570c7d2a7a, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 1), 0, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 7), ((0, 1), 3, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, true, 0, 0, 0x, 0, 0xb7947262, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, 0x0000000000000000000000008efb6b5c4767b09dc9aa6af4eaa89f749522bae2, false)], 8), ((0, 1), 6, 0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 1), 1, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000034, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000034, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x3154Cf16ccdb4C6d922629664174b904d80F2C35, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 8, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x852e834d8c570de5fb8fa9cd622d033fbcbecfde2022e8baa3b0bb9ee9b55fe6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000240900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x608d94945A64503E642E6370Ec598e519a2C1E53, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000007ae1d3bd877a4c5ca257404ce26be93a02c98013, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false)], 7), ((0, 1), 1, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x0900f01000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000033, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x608d94945A64503E642E6370Ec598e519a2C1E53, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0370e636e29b848fc286e9f0fa40b41fa24506fc4a2c21367561459be86bf190, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 1), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0xc4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xa8e4fb90, false, [], 6), ((0, 1), 3, 0x7344Da3A618b86cdA67f8260C0cc2027D99F5B49, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x534db0e2, false, [], 6), ((0, 1), 8, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffff, false, [], 6), ((0, 1), 8, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0xffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, false, [], 6), ((0, 1), 4, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a6104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c56104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000011681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000002105610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103c9565b348015610b4857600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000049610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d90911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d9091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c5161480611a6c5750336001600160a01b037f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a16145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c51614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000498111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000004961590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c51614806123d25750336001600160a01b037f0000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a16145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000210560c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000013660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000001e600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000001e600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000496158ae565b8303613122577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16615961565b90506131b5565b61314d60017f000000000000000000000000000000000000000000000000000000000000001e6158ae565b83036131885761311b7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16600261598d565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b6131e9817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000163ffffffff1692507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000049600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f000000000000000000000000000000000000000000000000000000000000001e7f00000000000000000000000000000000000000000000000000000000000000496158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e90614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f000000000000000000000000000000000000000000000000000000000000001e600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f000000000000000000000000000000000000000000000000000000000000001e615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e61522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a, false, [], 6), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe3803582fd5BCdc62720D2b80f35e8dDeA94e2ec, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false)], 9), ((0, 1), 3, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 11), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, true, 0x0000000000000000000000007344da3a618b86cda67f8260c0cc2027d99f5b49, 0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec, false)], 7), ((0, 1), 3, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 1), 4, 0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false)], 6), ((0, 1), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 8, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, 0x04bf4fb210f7981fdb24efdcc5058978faa7fe07da704d6b2dd0913e04082962, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 1), 0, 0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 1), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E, true, 0, 0, 0x, 0, 0xc4d66de800000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false, [(0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, 0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 1), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 1), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 1), 3, 0xAB91FB6cef84199145133f75cBD96B8a31F184ED, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 1), 8, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080, false, [], 6), ((0, 1), 8, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 10, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 3, 0x0000000000000000000000000000000000000004, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 1900471143444598896, 1900471143444598896, 0x, 0, 0xfd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, false, [], 6), ((0, 1), 4, 0xe4066890367BF8A51d58377431808083A01b1E0c, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc861046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000210561046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e61046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000004961046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec90911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec9091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f000000000000000000000000000000000000000000000000000000000000001e600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000004961567c565b8303611eb1577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000001e61567c565b8303611f1757611eaa7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff1660026156f5565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b611f78817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f0000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e726001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000049811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000496157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000049600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f000000000000000000000000000000000000000000000000000000000000001e7f000000000000000000000000000000000000000000000000000000000000004961567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000210560c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f000000000000000000000000000000000000000000000000000000000000001e6157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a70110000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105, false, [], 6), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 1), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0xe4066890367BF8A51d58377431808083A01b1E0c, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 1), 3, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 1), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x73a79Fab69143498Ed3712e519A88a918e1f4072, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, 0x00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e, false)], 7), ((0, 1), 3, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 1), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x73a79Fab69143498Ed3712e519A88a918e1f4072, true, 703271672950728489260372, 703271672950728489260372, 0x, 0, 0xf2b4e617, false, [(0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, 0x000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e72, false)], 9), ((0, 1), 3, 0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 1), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49048044D57e1C92A77f79988d21Fa8fAF74E97e, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x909f6cf47ed12f010A796527f562bFc26C7F4E72, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, 0x00000000000000000000000043edb88c4b80fdd2adff2412a7bebf9df42cb40e, false)], 11), ((0, 1), 8, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 1), 0, 0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 1), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false, [(0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, 0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, false), (0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, true, 0x000000000000000000000000ab91fb6cef84199145133f75cbd96b8a31f184ed, 0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c, false)], 7)]" } }, "timestamp": 1759862580, "chain": 1, "commit": "f3eb9b30" } ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/FACILITATORS.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ## 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-10-20-incident-multisig-signers make deps ``` ## 2. Execute the transaction ```bash SIGNATURES=AAAABBBBCCCC make execute ``` ## 3. Set status in README to `EXECUTED (tx-link)` ## 4. Check in execution materials ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/Makefile ================================================ include ../../Makefile include ../.env include .env SCRIPT = UpdateSigners ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: deps deps: new-forge-deps .PHONY: new-forge-deps new-forge-deps: forge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604 .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT) --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast -vvvv ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0x5B154B8587168CB984Ff610F5De74289D8f68874", "0x1841CB3C2ce6870D0417844C817849da64E6e937" ], "OwnersToRemove": [ "0x73565876170a336Fa02fDe34EeD03E3121f70bA6", "0x92B79E6C995Ee8B267EC1Ac2743D1c1fBFFFc447", "0x9bf96dcf51959915c8c343a3e50820ad069a1859" ] } ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/README.md ================================================ # Update Mainnet Incident Multisig Signers Status: [EXECUTED](https://etherscan.io/tx/0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963) ## Description We wish to update the owners of our [Incident Multisig](https://etherscan.io/address/0x14536667Cd30e52C0b458BaACcB9faDA7046E056) on Mainnet to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file. ## Setup ### 1. Update foundry ``` foundryup ``` ### 2. Install Node.js if needed Check if you have node installed ```bash node --version ``` If you do not see a version above or if it is older than v18.18, install ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. After signing, you can end the signer tool process with Ctrl + C ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/records/UpdateSigners.s.sol/1/run-1761579001803.json ================================================ { "transactions": [ { "hash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005b154b8587168cb984ff610f5de74289d8f6887400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e93700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc44700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a30000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x89ef7abb51b85b0710762d0b362b08a9a0110d4c9b29f34cebf52fe1f72a4a502046f8585855c335cb7149c9a58877a959beaff1169b1a1bfb4ce62dc6191e441b775cdd9e5d23a706140f2b9e2f3bfb4bfc76444eaf3bc3603a6ad6fcea856d820d0436694fb2085d23f4964657bd678643ba6cf33379033229732f412427c68a1b74c35c554c883ce153cf8779a1920125f6713bd57f0acf9ef1e33f490eddbfd766cb1656a3c517d64fd562f59b9e7d423c9edc24a77bc5a22571af4097bc824e1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x3b3ce", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005b154b8587168cb984ff610f5de74289d8f6887400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e93700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba600000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000026c72586fb396325f58718152fefa94e93cf177b00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc44700000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000014536667cd30e52c0b458baaccb9fada7046e0560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000a31e1c38d5c37d8ecd0e94c80c0f7fd624d009a30000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a18590000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c389ef7abb51b85b0710762d0b362b08a9a0110d4c9b29f34cebf52fe1f72a4a502046f8585855c335cb7149c9a58877a959beaff1169b1a1bfb4ce62dc6191e441b775cdd9e5d23a706140f2b9e2f3bfb4bfc76444eaf3bc3603a6ad6fcea856d820d0436694fb2085d23f4964657bd678643ba6cf33379033229732f412427c68a1b74c35c554c883ce153cf8779a1920125f6713bd57f0acf9ef1e33f490eddbfd766cb1656a3c517d64fd562f59b9e7d423c9edc24a77bc5a22571af4097bc824e1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x37", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1084840", "logs": [ { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000005b154b8587168cb984ff610f5de74289d8f68874", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1ac", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e937", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1ad", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1ae", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1af", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1b0", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf41795b86a7653a6a3ac45e80371abde32fd75c3379fb6bfc8913065f5f568f30000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "blockTimestamp": "0x68ff8ff7", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "logIndex": "0x1b1", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x025136190525da4d406bb571b0373022343fa734e3a30182ca977981b989e963", "transactionIndex": "0x97", "blockHash": "0x78d3171c369665cce2579289509b314937901e5074f1314b6387aa5cb1c8d763", "blockNumber": "0x1692bb0", "gasUsed": "0x28813", "effectiveGasPrice": "0x59a1aa35", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761579001803, "chain": 1, "commit": "3503982" } ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {OwnerManager} from "safe-smart-account/base/OwnerManager.sol"; contract UpdateSigners is MultisigScript { using stdJson for string; address public constant SENTINEL_OWNERS = address(0x1); address public immutable OWNER_SAFE; uint256 public immutable THRESHOLD; address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() external { require(OWNERS_TO_ADD.length > 0, "Precheck 00"); require(OWNERS_TO_REMOVE.length > 0, "Precheck 01"); require(EXISTING_OWNERS.length == 14, "Precheck 02"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address prevOwner = SENTINEL_OWNERS; for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "Precheck 03"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Precheck 04"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)), value: 0 }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall( OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ), value: 0 }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-10-20-incident-multisig-signers/validations/base-signer.json ================================================ { "task_name": "mainnet-incident-multisig-signers", "script_name": "UpdateSigners", "signature": "sign(address[])", "sender": "0x24c3AE1AeDB8142D32BB6d3B988f5910F272D53b", "args": "[]", "ledger-id": 0, "rpc_url": "https://eth-mainnet.public.blastapi.io", "expected_domain_and_message_hashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domain_hash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "message_hash": "0x8f77ab6b8505bc0d11953d7d36c3d3ddb7411201fead650fce373c067b2e98ec" }, "state_overrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0xde176162c7afd44b2fd12bfe2e0063b0021a8e652774d77dad1a7bf7057f7b8d", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "state_changes": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Updates the owner count" }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the execution threshold" }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005b", "after": "0x000000000000000000000000000000000000000000000000000000000000005c", "description": "Increments the nonce" }, { "key": "0x03fe74f236e7c719072f101a65bf28fcc331b8991895a586493c4ec54f013c79", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e", "description": "Adds `0x5b154b8587168cb984ff610f5de74289d8f68874` to the owners mapping (sets its next pointer)." }, { "key": "0x51d0c1d26cdd742324bf18c3cb0c420aba6f951a054a73620fd9d0ed20dae7e8", "before": "0x00000000000000000000000073565876170a336fa02fde34eed03e3121f70ba6", "after": "0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d", "description": "Removes `0x73565876170a336fa02fde34eed03e3121f70ba6` from the owners list." }, { "key": "0x680f53193021c7b5ff32fc6154805dcdc0fe6dae60134f899becf9139fee0f45", "before": "0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes `0x9bf96dcf51959915c8c343a3e50820ad069a1859` from the owners list." }, { "key": "0x7ea68b3c8a7f7867f7b6d6e5bd030223645fb027b0eb1dd797ca76b222c926e4", "before": "0x000000000000000000000000a3d3c103442f162856163d564b983ae538c6202d", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes `0x92b79e6c995ee8b267ec1ac2743d1c1fbfffc447` from the owners list." }, { "key": "0x8332864b30eecf94bd2500246d5909d9976538bbb15157e05a181a220803d096", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005b154b8587168cb984ff610f5de74289d8f68874", "description": "Adds `0x5b154b8587168cb984ff610f5de74289d8f68874` to the owners mapping (sets the next pointer for its prev node to point to it)." }, { "key": "0xb66edc9a114e89f02d0b7982582a48a539d388af46cfade8e93f01cba0973729", "before": "0x0000000000000000000000009bf96dcf51959915c8c343a3e50820ad069a1859", "after": "0x000000000000000000000000b37b2d42cb0c10ebf96279cceca2cbfc47c6f236", "description": "Updates the owners list for `0xa31e1c38d5c37d8ecd0e94c80c0f7fd624d009a3` to point to the next address `0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236` since its current next address was deleted." }, { "key": "0xd5d27d91bd7fb221a305aba9b1452dc14191edebe72a0d2caa92579343b1367f", "before": "0x00000000000000000000000092b79e6c995ee8b267ec1ac2743d1c1fbfffc447", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes `0x73565876170a336fa02fde34eed03e3121f70ba6` from the owners list." }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x000000000000000000000000541a833e4303eb56a45be7e8e4a908db97568d1e", "after": "0x0000000000000000000000001841cb3c2ce6870d0417844c817849da64e6e937", "description": "Sets the head of the owners linked list." } ] } ] } ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-10-28-increase-gas-and-elasticity-limit make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif SCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript RPC_URL = $(L1_RPC_URL) .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: FROM_GAS_LIMIT=$(FROM_GAS_LIMIT) \ TO_GAS_LIMIT=$(TO_GAS_LIMIT) \ FROM_ELASTICITY=$(FROM_ELASTICITY) \ TO_ELASTICITY=$(TO_ELASTICITY) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(TO_GAS_LIMIT) \ TO_GAS_LIMIT=$(FROM_GAS_LIMIT) \ FROM_ELASTICITY=$(TO_ELASTICITY) \ TO_ELASTICITY=$(FROM_ELASTICITY) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" [] --sender $(SENDER) .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(TO_GAS_LIMIT) \ TO_GAS_LIMIT=$(FROM_GAS_LIMIT) \ FROM_ELASTICITY=$(TO_ELASTICITY) \ TO_ELASTICITY=$(FROM_ELASTICITY) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/README.md ================================================ # Update Gas Limit & Elasticity in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad) (See the [artifact here](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1761755774673.json)) ## Description We are updating the gas limit and elasticity to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of 200M gas and 4 elasticity if invoked as part of the "upgrade" process, or revert to the old limit of 150M gas and 3 elasticity if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign (**not** the "rollback" user). ### 4. Send signature to facilitator ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell cd mainnet/2025-10-28-increase-gas-and-elasticity-limit make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation and that it completed successfully. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 2. Validate integrity of the simulation and that it completed successfully. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account or a valid signer address (from the Safe multi-sig). 4. "Success" with a green check mark #### 3. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000005d After: 0x000000000000000000000000000000000000000000000000000000000000005e ``` 2. Verify that **NO** gas limit value or elasticity value is updated and thus no changes are shown for a "Proxy" address at `0x73a79fab69143498ed3712e519a88a918e1f4072`. This is because the values would change back to the exact same values that are currently set, therefore no state changes should be displayed for this. #### 4. Validate and extract domain hash and message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Also, ensure that it matches the following: ``` Domain hash: 0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289 Message hash: 0x5d50efea16ce96c189a49bcb87e208506bb4c612a5ef66c81dd5790f01ef7089 ``` ### 5. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. On your Ledger screen. 2. In the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 6. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1761755774673.json ================================================ { "transactions": [ { "hash": "0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf9772f5957636bc03604a20bf61033ebfc94cec45f35bc93ac9b0d6f6a3884b36fefa89fb180a436027db86cdd0faba358b4b24a445b512e8641bbb2bdd60dd21c59005d045ece16fd7d370710023d8ea187630da0e5ebdb5d92db633b6e6033cf573c16cd80a479330dc769d07b32c45ba0ca47986507534eb489093b5571825f1cceb9364f54fc62b38d92218d0b31330ab49a3a3715ae31e2d45e1cfec5ca4ae258047d51509abb7a2e842f65041739e8b8ccddd3526e83cedbb1e92fdf26c05a1b" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2296f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f9772f5957636bc03604a20bf61033ebfc94cec45f35bc93ac9b0d6f6a3884b36fefa89fb180a436027db86cdd0faba358b4b24a445b512e8641bbb2bdd60dd21c59005d045ece16fd7d370710023d8ea187630da0e5ebdb5d92db633b6e6033cf573c16cd80a479330dc769d07b32c45ba0ca47986507534eb489093b5571825f1cceb9364f54fc62b38d92218d0b31330ab49a3a3715ae31e2d45e1cfec5ca4ae258047d51509abb7a2e842f65041739e8b8ccddd3526e83cedbb1e92fdf26c05a1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x22be2ff", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000004", "blockHash": "0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25", "blockNumber": "0x16964b9", "blockTimestamp": "0x6902427b", "transactionHash": "0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad", "transactionIndex": "0x189", "logIndex": "0x364", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bebc200", "blockHash": "0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25", "blockNumber": "0x16964b9", "blockTimestamp": "0x6902427b", "transactionHash": "0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad", "transactionIndex": "0x189", "logIndex": "0x365", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x7fa5368e189d160163bf708fd22cd73e1968995f242aa5434742fda12c7dfaf10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25", "blockNumber": "0x16964b9", "blockTimestamp": "0x6902427b", "transactionHash": "0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad", "transactionIndex": "0x189", "logIndex": "0x366", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x29b2b633ebc1da25d1a90f52b812e13b3469c12cc851b0609ab7a671b38a8cad", "transactionIndex": "0x189", "blockHash": "0x5e65ac96e1de198137239130608a61f1ced19ea710b4d2f6c65c37d623a57b25", "blockNumber": "0x16964b9", "gasUsed": "0x190ae", "effectiveGasPrice": "0x2dde21d4", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761755774673, "chain": 1, "commit": "daf0b8f" } ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal constant DENOMINATOR = 50; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("FROM_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("TO_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("FROM_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("TO_ELASTICITY")); } function setUp() external view { // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); // vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), GAS_LIMIT, "Gas Limit mismatch"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-10-28-increase-gas-and-elasticity-limit/validations/base-signer.json ================================================ { "taskName": "Increase EIP-1559 Elasticity and Gas Limit", "scriptName": "IncreaseEip1559ElasticityAndIncreaseGasLimitScript", "signature": "sign(address[])", "sender": "0x1841CB3C2ce6870D0417844C817849da64E6e937", "args": "[]", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x0cb6e713a2269e0a8511ad20124a20098af5f6386c910b1d9abc8f44b85493ae" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0xeb8f6f520dafe4d80435058e29df30db0a9746fcf085933f338bf88dacc608b2", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005c", "after": "0x000000000000000000000000000000000000000000000000000000000000005d", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd0000000008f0d180", "after": "0x0000000000000000000000000000000000101c12000008dd000000000bebc200", "description": "Updates gas limit from 150M to 200M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000300000032", "after": "0x0000000000000000000000000000000000000000000000000000000400000032", "description": "Updates elasticity from 3 to 4 for the chain", "allowDifference": false } ] } ] } ================================================ FILE: mainnet/2025-11-05-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif SCRIPT_NAME = lib/base-contracts/script/deploy/l1/SetGasLimit.sol RPC_URL = $(L1_RPC_URL) .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute-upgrade execute-upgrade: FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign(address[])" [] .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $$(cast call $(SYSTEM_CONFIG_OWNER) "nonce()" --rpc-url $(L1_RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-11-05-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0xfbf7dad2372bd9596cccf28f89eb4811c1d4f613638acf2c08e0399379db0e6b) ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/2025-11-05-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from TODO to TODO: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: TODO After: TODO ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: TODO After: TODO ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x000000000000000000000000000000000000000000000000000000000000005e After: 0x000000000000000000000000000000000000000000000000000000000000005f ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x000000000000000000000000000000000000000000000000000000000ee6b280 After: 0x000000000000000000000000000000000000000000000000000000000bebc200 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901f3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea243362891827d16bf147890f005c6ff8a313d9fdba85f0e7c87817862872c975f45090e1`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: mainnet/2025-11-05-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-05-increase-gas-limit/validations/base-signer.json ================================================ { "taskName": "Increase Gas Limit", "scriptName": "lib/base-contracts/script/deploy/l1/SetGasLimit.sol", "signature": "sign(address[])", "sender": "0x24c3ae1aedb8142d32bb6d3b988f5910f272d53b", "args": "[]", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xfb94f308a4ac398c3ddbdd648074fdf098464b70588fc6eca141c1e3dda07b9e" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0xa79683f562763c2b664597d6c434c7dc2af6f3b8bb5ba54a6e349b4b88a1ce4e", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] }, { "name": "L1 System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "value": "0x000000000000000000000000000000000000000000000000000000000bebc200", "description": "Old gas limit" } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005d", "after": "0x000000000000000000000000000000000000000000000000000000000000005e", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x000000000000000000000000000000000000000000000000000000000bebc200", "after": "0x000000000000000000000000000000000000000000000000000000000ee6b280", "description": "Updates gas limit from 200M to 250M for the chain", "allowDifference": false } ] } ] } ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-11-10-increase-gas-and-elasticity-limit make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif SCRIPT_NAME = UpdateGasParams RPC_URL = $(L1_RPC_URL) .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: gen-validation-rollback gen-validation-rollback: checkout-signer-tool run-script-rollback .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'FROM_GAS_LIMIT=$(TO_GAS_LIMIT) \ TO_GAS_LIMIT=$(FROM_GAS_LIMIT) FROM_ELASTICITY=$(TO_ELASTICITY) TO_ELASTICITY=$(FROM_ELASTICITY) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute execute: FROM_GAS_LIMIT=$(FROM_GAS_LIMIT) \ TO_GAS_LIMIT=$(TO_GAS_LIMIT) \ FROM_ELASTICITY=$(FROM_ELASTICITY) \ TO_ELASTICITY=$(TO_ELASTICITY) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: execute-rollback execute-rollback: FROM_GAS_LIMIT=$(TO_GAS_LIMIT) \ TO_GAS_LIMIT=$(FROM_GAS_LIMIT) \ FROM_ELASTICITY=$(TO_ELASTICITY) \ TO_ELASTICITY=$(FROM_ELASTICITY) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/README.md ================================================ # Update Mainnet Gas Params Status: [EXECUTED](https://etherscan.io/tx/0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2) ## Description We are updating the gas limit to **300 MGas / block** and elasticity to **5** improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig: `UpdateGasParams` -- This script will update the gas limit to our new limit of 300M gas and 5 elasticity if invoked as part of the "upgrade" process, or revert to the old limit of 250M gas and 4 elasticity if invoked as part of the "rollback" process. ## Setup ### 1. Update foundry ``` foundryup ``` ### 2. Install Node.js if needed Check if you have node installed ```bash node --version ``` If you do not see a version above or if it is older than v18.18, install ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) > [!IMPORTANT] > > Please run through the signing process twice. Once for "Base Signer" and once for "Base Signer Rollback" ### 4. After signing, you can end the signer tool process with Ctrl + C ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/records/UpdateGasParams.s.sol/1/run-1762965805898.json ================================================ { "transactions": [ { "hash": "0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xd556657e17d0daf896f0b60a15efc04db9028f7990528e0555bb1dde20fe88aa18bc7ac76fafce8b5f0c9582a9daa6ef324655f6804b0e1d124a1ff43d2eea181c39b0766a12c1cf875e205459d3b569363922a89ed4cc4202495b3a5cda4588217fb12672ed958b6c4edefbad291d34744ca62750b4a256792bd7f621fdb92f8a1b7982f8be468ddf9f7c5ea2c45b81c419c6dafa0bcf7563793873e62343f763a9596ad167193fdddfb520cfb584e51645255276ca175b148bea5e83aa6e551e981c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x24a0f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000011e1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d556657e17d0daf896f0b60a15efc04db9028f7990528e0555bb1dde20fe88aa18bc7ac76fafce8b5f0c9582a9daa6ef324655f6804b0e1d124a1ff43d2eea181c39b0766a12c1cf875e205459d3b569363922a89ed4cc4202495b3a5cda4588217fb12672ed958b6c4edefbad291d34744ca62750b4a256792bd7f621fdb92f8a1b7982f8be468ddf9f7c5ea2c45b81c419c6dafa0bcf7563793873e62343f763a9596ad167193fdddfb520cfb584e51645255276ca175b148bea5e83aa6e551e981c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x38", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xe63578", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000005", "blockHash": "0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d", "blockNumber": "0x16aebdb", "blockTimestamp": "0x6914b92b", "transactionHash": "0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2", "transactionIndex": "0x94", "logIndex": "0x189", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000011e1a300", "blockHash": "0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d", "blockNumber": "0x16aebdb", "blockTimestamp": "0x6914b92b", "transactionHash": "0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2", "transactionIndex": "0x94", "logIndex": "0x18a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb3e553ce93e1a40e286be50a7d1c8df58acd36369a7eba6b1ccbf0f84bfd7f200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d", "blockNumber": "0x16aebdb", "blockTimestamp": "0x6914b92b", "transactionHash": "0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2", "transactionIndex": "0x94", "logIndex": "0x18b", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xf4015a79142f5655775c4a3dac133ec820403c91443ca050227f658e8a094cd2", "transactionIndex": "0x94", "blockHash": "0xadada7afa09e3bab5140ccf2563f799601a236edaa29487f61d64ede72dd9e1d", "blockNumber": "0x16aebdb", "gasUsed": "0x190ba", "effectiveGasPrice": "0x62c67725", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1762965805898, "chain": 1, "commit": "f39053f" } ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/script/UpdateGasParams.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; } contract UpdateGasParams is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable DENOMINATOR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("FROM_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("TO_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("FROM_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("TO_ELASTICITY")); DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory stateOverrides) { if ( GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit() || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity() ) { // Override SystemConfig state to the expected "from" values so simulation succeeds even // if the chain already reflects the post-change values (e.g. during rollback simulation). stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT bytes32 gasConfigSlotKey = bytes32(uint256(0x68)); uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey)); uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT); storageOverrides[0] = Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)}); // Deterministically set EIP-1559 params (slot 0x6a) to [ ... | elasticity (uint32) | denominator (uint32) ] // Compose the full 256-bit word with only these two fields set to avoid unused high bits which can // cause mismatches during validation. bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 composedEip1559Word = (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR); storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } } ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json ================================================ { "cmd": "FROM_GAS_LIMIT=300000000 TO_GAS_LIMIT=250000000 FROM_ELASTICITY=5 TO_ELASTICITY=4 SAFE_NONCE=95 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateGasParams --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x06173131ba6094cb8b439a9b3ae7a39725d1f8255a4031a54b38180bd72fbb74" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000005f", "description": "Override the nonce to be our expected value after initial execution." }, { "key": "0x9f69b29f17688c4aa856cfc9038ef2e22ecb7c26eca1ab65ffc86fb6322a5089", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "value": "0x0000000000000000000000000000000000101c12000008dd0000000011e1a300", "description": "Overrides gas limit 300M for the chain" }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x0000000000000000000000000000000000000000000000000000000500000032", "description": "Overrides elasticity to 5 for the chain" } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005f", "after": "0x0000000000000000000000000000000000000000000000000000000000000060", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd0000000011e1a300", "after": "0x0000000000000000000000000000000000101c12000008dd000000000ee6b280", "description": "Updates gas limit from 300M to 250M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000500000032", "after": "0x0000000000000000000000000000000000000000000000000000000400000032", "description": "Updates elasticity from 5 to 4 for the chain", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-11-10-increase-gas-and-elasticity-limit/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateGasParams --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x0cc943446dd78916a0761d753d26ca3c5094d7325df41ab0ce1c9944e0698883" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x4c1646206b9d78deea8313bde5cbc953183113763f05936429c6e860d37b6fb1", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005e", "after": "0x000000000000000000000000000000000000000000000000000000000000005f", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd000000000ee6b280", "after": "0x0000000000000000000000000000000000101c12000008dd0000000011e1a300", "description": "Updates gas limit from 250M to 300M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000400000032", "after": "0x0000000000000000000000000000000000000000000000000000000500000032", "description": "Updates elasticity from 4 to 5 for the chain", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif deploy: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \ --rpc-url ${L2_RPC_URL} \ --broadcast \ --verify \ --verifier-api-key ${VERIFIER_API_KEY} \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/README.md ================================================ # Deploy CBMulticall Status: [EXECUTED](https://basescan.org/tx/0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb) ## Description This task deploys the CBMulticall contract. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-11-15-deploy-cb-multicall make deps ``` ### 2. Run the script: ```bash make deploy ``` ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/addresses.json ================================================ { "cbMulticall": "0xf113DA645C65f786c08a48d540Ee5f7A59189ffF" } ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763160551942.json ================================================ { "transactions": [ { "hash": "0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xf113da645c65f786c08a48d540ee5f7a59189fff", "function": null, "arguments": null, "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x12fb9f", "value": "0x0", "input": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610e6f806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a14565b6102ba565b6040516101119190610b4d565b61014d610148366004610a14565b610479565b604051610111929190610b67565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610bef565b61061f565b60405161011193929190610c49565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610c71565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a14565b61063a565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610bef565b6107e9565b6101b7610296366004610a14565b6109a9565b3480156102a757600080fd5b506101076102b6366004610ca7565b4090565b6060818067ffffffffffffffff8111156102d6576102d6610cc0565b60405190808252806020026020018201604052801561031c57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f45790505b5091503660005b8281101561047057600084828151811061033f5761033f610cef565b6020026020010151905086868381811061035b5761035b610cef565b905060200281019061036d9190610d1e565b925060408301356103816020850185610c71565b73ffffffffffffffffffffffffffffffffffffffff16816103a56060870187610d5c565b6040516103b3929190610dc1565b60006040518083038185875af1925050503d80600081146103f0576040519150601f19603f3d011682016040523d82523d6000602084013e6103f5565b606091505b506020808501919091529015158084529085013517610466577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b5050600101610323565b50505092915050565b436060828067ffffffffffffffff81111561049657610496610cc0565b6040519080825280602002602001820160405280156104c957816020015b60608152602001906001900390816104b45790505b5091503660005b828110156106155760008787838181106104ec576104ec610cef565b90506020028101906104fe9190610dd1565b925061050d6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166105306020850185610d5c565b60405161053e929190610dc1565b6000604051808303816000865af19150503d806000811461057b576040519150601f19603f3d011682016040523d82523d6000602084013e610580565b606091505b5086848151811061059357610593610cef565b602090810291909101015290508061060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b506001016104d0565b5050509250929050565b438040606061062f8686866107e9565b905093509350939050565b6060818067ffffffffffffffff81111561065657610656610cc0565b60405190808252806020026020018201604052801561069c57816020015b6040805180820190915260008152606060208201528152602001906001900390816106745790505b5091503660005b828110156104705760008482815181106106bf576106bf610cef565b602002602001015190508686838181106106db576106db610cef565b90506020028101906106ed9190610e05565b92506106fc6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff1661071f6040850185610d5c565b60405161072d929190610dc1565b6000604051808303816000865af19150503d806000811461076a576040519150601f19603f3d011682016040523d82523d6000602084013e61076f565b606091505b5060208084019190915290151580835290840135176107e0577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b506001016106a3565b6060818067ffffffffffffffff81111561080557610805610cc0565b60405190808252806020026020018201604052801561084b57816020015b6040805180820190915260008152606060208201528152602001906001900390816108235790505b5091503660005b8281101561099f57600084828151811061086e5761086e610cef565b6020026020010151905086868381811061088a5761088a610cef565b905060200281019061089c9190610dd1565b92506108ab6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166108ce6020850185610d5c565b6040516108dc929190610dc1565b6000604051808303816000865af19150503d8060008114610919576040519150601f19603f3d011682016040523d82523d6000602084013e61091e565b606091505b506020830152151581528715610996578051610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610603565b50600101610852565b5050509392505050565b60008060606109ba6001868661061f565b919790965090945092505050565b60008083601f8401126109da57600080fd5b50813567ffffffffffffffff8111156109f257600080fd5b6020830191508360208260051b8501011115610a0d57600080fd5b9250929050565b60008060208385031215610a2757600080fd5b823567ffffffffffffffff811115610a3e57600080fd5b610a4a858286016109c8565b90969095509350505050565b6000815180845260005b81811015610a7c57602081850181015186830182015201610a60565b81811115610a8e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610b40578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b2c81860183610a56565b9a86019a9450505090830190600101610ade565b5090979650505050505050565b602081526000610b606020830184610ac1565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610be1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610bcf868351610a56565b95509284019290840190600101610b95565b509398975050505050505050565b600080600060408486031215610c0457600080fd5b83358015158114610c1457600080fd5b9250602084013567ffffffffffffffff811115610c3057600080fd5b610c3c868287016109c8565b9497909650939450505050565b838152826020820152606060408201526000610c686060830184610ac1565b95945050505050565b600060208284031215610c8357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b6057600080fd5b600060208284031215610cb957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610d5257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610d9157600080fd5b83018035915067ffffffffffffffff821115610dac57600080fd5b602001915036819003821315610a0d57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610d5257600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610d5257600080fdfea2646970667358221220ea6edd4fcede4352efea43af3870fb98e2bdc62d25eefa782607d4bea202e6b264736f6c634300080f0033", "nonce": "0x0", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1e3cecf", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd4d5787e62ee6a6bb8988a43fd8cbbc7f44861df4e66108e396491286cebdafb", "transactionIndex": "0xec", "blockHash": "0xa69325a19a25ca497fe81ca5eaa003e5d1c4ffb467fd167e1fcfa786481aec7f", "blockNumber": "0x246aa77", "gasUsed": "0xcfad2", "effectiveGasPrice": "0x2809fe", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xf113da645c65f786c08a48d540ee5f7a59189fff", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x17786592", "l1GasPrice": "0x67705dd", "l1GasUsed": "0x7181" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763160551942, "chain": 8453, "commit": "42f1b37" } ================================================ FILE: mainnet/2025-11-15-deploy-cb-multicall/script/DeployCBMulticall.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; contract DeployCBMulticallScript is Script { bytes32 constant SALT = bytes32(uint256(0)); CBMulticall cbMulticall; function run() public { vm.startBroadcast(); cbMulticall = new CBMulticall{salt: SALT}(); console.log("CBMulticall deployed at: ", address(cbMulticall)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "cbMulticall", address(cbMulticall)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { vm.assertEq( address(cbMulticall), vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}), "The cbMulticall address does not match the one computed by `vm.computeCreate2Address`" ); } function _initCode() private view returns (bytes memory) { bytes memory args = ""; return abi.encodePacked(vm.getCode("CBMulticall.sol:CBMulticall"), args); } function _initCodeHash() private view returns (bytes32) { return keccak256(_initCode()); } } ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif RPC_URL = $(L2_RPC_URL) deploy: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \ --rpc-url ${RPC_URL} \ --broadcast \ --verify \ --verifier-api-key ${VERIFIER_API_KEY} \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/README.md ================================================ # Deploy CBMulticall to Mainnet and Base Status: [EXECUTED](https://etherscan.io/tx/0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339) Status: [EXECUTED](https://basescan.org/tx/0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe) ## Description This task deploys an updated version of the `CBMulticall` contract. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-11-20-deploy-cb-multicall make deps ``` ### 2. Run the script: ```bash make deploy ``` ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/addresses.json ================================================ { "cbMulticall": "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303" } ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json ================================================ { "transactions": [ { "hash": "0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "function": null, "arguments": null, "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x14f784", "value": "0x0", "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", "nonce": "0x39", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x75ebfb", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339", "transactionIndex": "0x4f", "blockHash": "0xcc65b34737daff6fa783e62cf3f8f7bbef1d726f08f924253cecef2a87e46188", "blockNumber": "0x16bc87c", "gasUsed": "0xf2dfd", "effectiveGasPrice": "0x2e0db9dc", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763649491942, "chain": 1, "commit": "8c49b9d" } ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json ================================================ { "transactions": [ { "hash": "0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "function": null, "arguments": null, "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x14f784", "value": "0x0", "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", "nonce": "0x5", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x155a275", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe", "transactionIndex": "0x59", "blockHash": "0xd4ce43423d7c645a34987ee8a9df2e77c571e73e87a2146ec067ca01dc9d4b84", "blockNumber": "0x24a6582", "gasUsed": "0xf2dfd", "effectiveGasPrice": "0x9920a6", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x10", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0xaebcbe09", "l1GasPrice": "0x3021b464", "l1GasUsed": "0x7c1e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763649543610, "chain": 8453, "commit": "8c49b9d" } ================================================ FILE: mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; contract DeployCBMulticallScript is Script { bytes32 public constant SALT = bytes32(uint256(1)); CBMulticall cbMulticall; function run() public { vm.startBroadcast(); cbMulticall = new CBMulticall{salt: SALT}(); console.log("CBMulticall deployed at: ", address(cbMulticall)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "cbMulticall", address(cbMulticall)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { vm.assertEq( address(cbMulticall), vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}), "The cbMulticall address does not match the one computed by `vm.computeCreate2Address`" ); } function _initCode() private view returns (bytes memory) { bytes memory args = ""; return abi.encodePacked(vm.getCode("CBMulticall.sol:CBMulticall"), args); } function _initCodeHash() private view returns (bytes32) { return keccak256(_initCode()); } } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/FACILITATORS.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-11-21-u17-jovian-upgrade make deps ``` 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif # Sepolia Commands # OWNER_SAFE/ # ├── CB_SIGNER_SAFE_ADDR/ # │ ├── CB_NESTED_SAFE_ADDR/ # │ │ └── Signers # │ └── CB_SC_SAFE_ADDR/ # │ └── Signers # └── OP_SIGNER_SAFE_ADDR/ # └── Signers RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpgradeWithOpSmartContractManager .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50' --out ../validations/coinbase-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6' --out ../validations/base-security-council-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64' --out ../validations/optimism-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/README.md ================================================ # U17 Jovian Upgrade Status: [EXECUTED](https://etherscan.io/tx/0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993) ## Description The Jovian hardfork is a proposed network upgrade for OP Stack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. [More Details](https://docs.optimism.io/notices/upgrade-17). This script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', "interfaces/=lib/optimism/packages/contracts-bedrock/interfaces", "src/dispute/=lib/optimism/packages/contracts-bedrock/src/dispute", "src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries", "src/cannon/=lib/optimism/packages/contracts-bedrock/src/cannon", "src/L1/=lib/optimism/packages/contracts-bedrock/src/L1", "scripts/=lib/optimism/packages/contracts-bedrock/scripts", ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b10300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x109916a", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b103", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "blockTimestamp": "0x692dba6b", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "logIndex": "0x18c", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "blockTimestamp": "0x692dba6b", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "logIndex": "0x18d", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000040000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "gasUsed": "0x165f5", "effectiveGasPrice": "0x875647be", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764604526281, "chain": 1, "commit": "eda0e83" } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604369938.json ================================================ { "transactions": [ { "hash": "0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xecdc43f5f20cc2f53722edf7add25ede0b8f25b84c15ac2db09948a3c0d85d7d7e2049ef8d38b4cecd79ae4d34ee433ab3808665cd4d9cdef433d21337b456c11c3381694f9f82224ced31ea80bbf60104e25fa311e32f5dead9f69a95823be64d0b1ef9142684f17848e5616dabed56b2bec939b4657a3d722a5ed9113ea8ac421c1af6afab9d47f53ae24e334e5180f98c8de45ff3f31619490073219f046e67a9137d51ceeb6eb304cf2e1952319368dc9e43c94272233c24bd40a2cc28d478dd1b" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x25413", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ecdc43f5f20cc2f53722edf7add25ede0b8f25b84c15ac2db09948a3c0d85d7d7e2049ef8d38b4cecd79ae4d34ee433ab3808665cd4d9cdef433d21337b456c11c3381694f9f82224ced31ea80bbf60104e25fa311e32f5dead9f69a95823be64d0b1ef9142684f17848e5616dabed56b2bec939b4657a3d722a5ed9113ea8ac421c1af6afab9d47f53ae24e334e5180f98c8de45ff3f31619490073219f046e67a9137d51ceeb6eb304cf2e1952319368dc9e43c94272233c24bd40a2cc28d478dd1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xa", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1c4bede", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e", "blockNumber": "0x16cfc1e", "blockTimestamp": "0x692db9cf", "transactionHash": "0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344", "transactionIndex": "0x149", "logIndex": "0x2f2", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x50c7ffbdc0cd05a86287ac35290305bb529ea541eb5082515d126c594dec6b8f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e", "blockNumber": "0x16cfc1e", "blockTimestamp": "0x692db9cf", "transactionHash": "0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344", "transactionIndex": "0x149", "logIndex": "0x2f3", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000100000000000000000000000008000008000000100000000000000000000000000000000000000000000000000000000008000400800000000000040000000000400000000000000000000000000000000010000000000000000000000000000000000000000000000000001000010000000000000000000010000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000001000", "type": "0x2", "transactionHash": "0x02e8c66a286c525e9204060d39f27640e8e522520d133b5987c2d80836d73344", "transactionIndex": "0x149", "blockHash": "0x2b7f450be603d6ed6ac6447ab031414d797b5d133981522212f4e0ac68978f2e", "blockNumber": "0x16cfc1e", "gasUsed": "0x19793", "effectiveGasPrice": "0x9684cfd7", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764604369938, "chain": 1, "commit": "eda0e83" } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604491152.json ================================================ { "transactions": [ { "hash": "0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xba50740f9448fba5c711cf4c328aac1e8c3acf0f6ec560cbda52844c39f6c7d359cce207872fa98267983d20eb3b9e1a19915b69ba71914a51d5a65740e2c1921b35a08deaa52288a873594189163700dc269e57b2a4d2f568a0721d3eed40137777cebcb3b2e897e9a49b98f5609c0304574f06950308bdfd17a3bee2216cf6201c2ce52e4a3fdc87756f8f90289c436a551e9a7ea1a0b8f69a2a5e92603f7be3623d3dd6f5de23eedd676f84134eb4fde6c2a801c18eb6b2ade55b4152be20129f1b51eb6cee567dd16bbcb29b4c99cdc3cc512363cba2b6426ac5bb3a77c42d951b3739566e131214a05479e6e27dbaa6945c39edea90c3fae10fffdf8a7683cf251bd3025ce4a5dcebb6de856209d66cfae7ba6f9318711d0ced5d54155d5bef7e4c75aaed9efa950ebb5dbec3a4961e56b851fc3f0c51fce2075010cfda31b355671cb87754848aec8342218b3b6797339753419ae309681f263aba37b1933ae1b92c6f9a2f0efa9ac42132600b9d8ed67aef36eda30a0f4ad800cf9a30d513cb99361c59dd2de71d20911fa653418f83aa97a422fad4fc6058b4e8e1d24be0caea2e453489e38b3d191ab830478aacab14332e972dffb6723ffd26154633ec3e8684b01c" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2cb78", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7ba50740f9448fba5c711cf4c328aac1e8c3acf0f6ec560cbda52844c39f6c7d359cce207872fa98267983d20eb3b9e1a19915b69ba71914a51d5a65740e2c1921b35a08deaa52288a873594189163700dc269e57b2a4d2f568a0721d3eed40137777cebcb3b2e897e9a49b98f5609c0304574f06950308bdfd17a3bee2216cf6201c2ce52e4a3fdc87756f8f90289c436a551e9a7ea1a0b8f69a2a5e92603f7be3623d3dd6f5de23eedd676f84134eb4fde6c2a801c18eb6b2ade55b4152be20129f1b51eb6cee567dd16bbcb29b4c99cdc3cc512363cba2b6426ac5bb3a77c42d951b3739566e131214a05479e6e27dbaa6945c39edea90c3fae10fffdf8a7683cf251bd3025ce4a5dcebb6de856209d66cfae7ba6f9318711d0ced5d54155d5bef7e4c75aaed9efa950ebb5dbec3a4961e56b851fc3f0c51fce2075010cfda31b355671cb87754848aec8342218b3b6797339753419ae309681f263aba37b1933ae1b92c6f9a2f0efa9ac42132600b9d8ed67aef36eda30a0f4ad800cf9a30d513cb99361c59dd2de71d20911fa653418f83aa97a422fad4fc6058b4e8e1d24be0caea2e453489e38b3d191ab830478aacab14332e972dffb6723ffd26154633ec3e8684b01c00000000000000000000000000000000000000000000000000", "nonce": "0xb", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1a572ea", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e", "blockNumber": "0x16cfc28", "blockTimestamp": "0x692dba47", "transactionHash": "0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74", "transactionIndex": "0x183", "logIndex": "0x291", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x231171646032a4c481054593e9c1c0d53a359346b0b147cec8fa5e063e76c5d5" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e", "blockNumber": "0x16cfc28", "blockTimestamp": "0x692dba47", "transactionHash": "0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74", "transactionIndex": "0x183", "logIndex": "0x292", "removed": false } ], "logsBloom": "0x00000000404000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000008000000100000000000000000000000000000000000000000000000000000000008000400000000400000000000000000400000000000000000400000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000040000", "type": "0x2", "transactionHash": "0x7e6225f3aa6cf09870329d68936e4f5e45939ecd2f657983f5c9db8c6bb65e74", "transactionIndex": "0x183", "blockHash": "0x50c4000be2707be78bf26163bf307e16b9a7554dc85df1376a6c75501b5c5b1e", "blockNumber": "0x16cfc28", "gasUsed": "0x205fe", "effectiveGasPrice": "0x84bc8311", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764604491152, "chain": 1, "commit": "eda0e83" } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604526281.json ================================================ { "transactions": [ { "hash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b10300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1ee6d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x109916a", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b103", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "blockTimestamp": "0x692dba6b", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "logIndex": "0x18c", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8c10543b5d79af68189d6cc2c7eb7cc41c83164ae4309bb302e1741c6818d35e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "blockTimestamp": "0x692dba6b", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "logIndex": "0x18d", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000040000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xf2e792a3b476ed8fd2a00fce3746d6b93ac0ccdd319a8d25f65532f7608e9029", "transactionIndex": "0xc9", "blockHash": "0xa77663b679ff1bbdf46b8cd1632988f2069c327d66cbe2a530aee52c42835592", "blockNumber": "0x16cfc2b", "gasUsed": "0x165f5", "effectiveGasPrice": "0x875647be", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764604526281, "chain": 1, "commit": "eda0e83" } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/records/UpgradeWithOpSmartContractManager.sol/1/run-1764604704970.json ================================================ { "transactions": [ { "hash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x93dc480940585D9961bfcEab58124fFD3d60f76a", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab55194490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0xd52b1b", "value": "0x0", "input": "0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fa1ef97fb02b0da2ee2346b8e310907ab55194490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xd", "chainId": "0x1" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x6f8c1ea88cb410571739d36eb00811b250574cb2", "initCode": "0x6102006040523480156200001257600080fd5b50604051620065483803806200654883398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c85620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613aad0152600081816105a90152818161182601528181611922015281816134f401526139b4015260008181610948015281816127fe0152613a840152600081816105460152818161247e01528181613006015261431b015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee50152818161312901528181614192015281816145bf0152818161469e0152818161475101528181614f7f0152615170015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda015281816140aa01526141b301526000818161083a01526142360152615c856000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154f5565b610c46565b005b34801561038857600080fd5b5061037a610397366004615550565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de91906155a9565b34801561042157600080fd5b506104456104303660046155d1565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be366004615550565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ee565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155d1565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615685565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615698565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155d1565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa3660046156bf565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ee565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615698565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615698565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155d1565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc366004615700565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615698565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155d1565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615729565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615698565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ee565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de939291906157b5565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615698565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c65615572565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157f0565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615864565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615874565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f24615572565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615874565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff1661114091906158a0565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615874565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615874565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b906158b8565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae615572565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615874565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b83600281111561162457611624615572565b02179055600281111561163957611639615572565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158d2565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff16600281111561171857611718615572565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff16600281111561175557611755615572565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd615572565b1480611aef57506001600d5460ff166002811115611aed57611aed615572565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f615572565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158e9565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158e9565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158e9565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff909116906155a9565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d615572565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615874565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615874565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158d2565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f91906158a0565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd838361591c565b9050670de0b6b3a76400006000612214827f0000000000000000000000000000000000000000000000000000000000000000615930565b9050600061223261222d670de0b6b3a764000086615930565b613b40565b905060006122408484613d92565b9050600061224e8383613de1565b9050600061225b82613e0f565b9050600061227a82612275670de0b6b3a76400008f615930565b613ff7565b905060006122888b83613de1565b9050612294818d615930565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561233657612336615572565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614028565b60008054600160801b900460ff16600281111561243557612435615572565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614584565b93509350935093506000612478858585856148dd565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061594f565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c5919061596c565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000000061497c565b60095461265391906158a0565b61265e9060016158a0565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612737919061596c565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061293285614a11565b91945092509050600181600181111561294d5761294d615572565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845161299083856158a0565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158d2565b8152602001858c60200151612a4a91906158a0565b9052614a11565b509150915060405180604001604052808383612a6d91906158a0565b8152602001848b60200151612a8291906158a0565b815250888581518110612a9757612a97615874565b6020908102919091010152612aad6001856158a0565b9350612ab981836158a0565b612ac390846158a0565b92505050612a0b565b50845250919392505050565b60606000806000612ae885614a11565b919450925090506000816001811115612b0357612b03615572565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b4482846158a0565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614eaf565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc59084906158a0565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c21615572565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615874565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000000060026158a0565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8103612f1d57612f1d86888588614f44565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061594f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e7919061596c565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615985565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159b1565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158d2565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136799190615a0a565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a361461370c576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c9003605401351161376a576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b9091529182208054919290916139ab9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a0d57600080fd5b505af1158015613a21573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b249190615a2e565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b9657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dcf57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dff5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e3d57919050565b680755bf798b4a1bf1e58212613e5b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a76400008361400f86613b40565b6140199190615a54565b6140239190615b10565b613e0f565b60008054600160801b900460ff16600281111561404757614047615572565b146140655760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061407a5761407a615874565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140d07f000000000000000000000000000000000000000000000000000000000000000060016158a0565b61414a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614184576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915614260576141d77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158d2565b6001901b6141ed846001600160801b03166150d3565b6001600160801b03166142009190615b5a565b156142345761422b61421c60016001600160801b038716615b6e565b865463ffffffff166000615159565b60030154614256565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050614281565b6003850154915061427e61421c6001600160801b0386166001615b8e565b90505b600882901b60088a8a604051614298929190615864565b6040518091039020901b146142d9576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142e48c615222565b905060006142f3836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290614360908f908f908f908f908a90600401615bf9565b6020604051808303816000875af115801561437f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a3919061596c565b60048501549114915060009060029061442c906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144a6896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144b09190615c33565b6144ba9190615c56565b60ff1615905081151581036144fb576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614545576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008060008060008590506000600282815481106145a4576145a4615874565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614659906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614693576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614738906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1692508211156147ad57825463ffffffff166147777f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8303614781578391505b6002818154811061479457614794615874565b9060005260206000209060050201935080945050614697565b600481810154908401546001600160801b0391821691166000816001600160801b03166147f26147e6856001600160801b031660011c90565b6001600160801b031690565b6001600160801b0316149050801561488b576000614818836001600160801b03166150d3565b6001600160801b0316111561486857600061484861484060016001600160801b038616615b6e565b896001615159565b6003810154600490910154909c506001600160801b03169a5061486e9050565b6008549a505b600386015460048701549099506001600160801b031697506148cf565b60006148a46148406001600160801b0385166001615b8e565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149385760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b828260405160200161495d9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149f0847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a54576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a79576000600160009450945094505050614ea8565b60b78111614b8f576000614a8e6080836158d2565b905080876000015111614acd576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b4557507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b7c576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614ea8915050565b60bf8111614ced576000614ba460b7836158d2565b905080876000015111614be3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c45576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c8d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c9781846158a0565b895111614cd0576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cdb8360016158a0565b9750955060009450614ea89350505050565b60f78111614d52576000614d0260c0836158d2565b905080876000015111614d41576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614ea8915050565b6000614d5f60f7836158d2565b905080876000015111614d9e576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614e00576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e48576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e5281846158a0565b895111614e8b576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e968360016158a0565b9750955060019450614ea89350505050565b9193909250565b60608167ffffffffffffffff811115614eca57614eca6157da565b6040519080825280601f01601f191660200182016040528015614ef4576020820181803683370190505b5090508115614f3d576000614f0984866158a0565b90506020820160005b84811015614f2a578281015182820152602001614f12565b84811115614f39576000858301525b5050505b9392505050565b6000614f5a6001600160801b0384166001615b8e565b90506000614f6a82866001615159565b9050600086901a83806150345750614fa360027f0000000000000000000000000000000000000000000000000000000000000000615b5a565b6004830154600290615025906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61502f9190615c56565b60ff16145b1561508c5760ff81166001148061504e575060ff81166002145b615087576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b6150ca565b60ff8116156150ca576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b50505050505050565b600080615147837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615199576151946001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000615251565b6151ab565b6151ab856001600160801b0316615390565b9050600284815481106151c0576151c0615874565b906000526020600020906005020191505b60048201546001600160801b0382811691161461521a57815460028054909163ffffffff1690811061520557615205615874565b906000526020600020906005020191506151d1565b509392505050565b600080600080600061523386614584565b9350935093509350615247848484846148dd565b9695505050505050565b6000816152ce846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152e45763b34b5c226000526004601cfd5b6152ed83615390565b90508161536a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612853576128506153808360016158a0565b6001600160801b0383169061541c565b6000811960018301168161540b827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b600080615490847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154be57600080fd5b50813567ffffffffffffffff8111156154d657600080fd5b6020830191508360208285010111156154ee57600080fd5b9250929050565b600080600083850360a081121561550b57600080fd5b608081121561551957600080fd5b50839250608084013567ffffffffffffffff81111561553757600080fd5b615543868287016154ac565b9497909650939450505050565b6000806040838503121561556357600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600381106155a657634e487b7160e01b600052602160045260246000fd5b50565b602081016155b683615588565b91905290565b6001600160a01b03811681146155a657600080fd5b6000602082840312156155e357600080fd5b8135614f3d816155bc565b60008060006060848603121561560357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561564057602081850181015186830182015201615624565b81811115615652576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612850602083018461561a565b6000602082840312156156aa57600080fd5b5035919050565b80151581146155a657600080fd5b600080600080608085870312156156d557600080fd5b84359350602085013592506040850135915060608501356156f5816156b1565b939692955090935050565b60006020828403121561571257600080fd5b81356001600160801b0381168114614f3d57600080fd5b6000806000806000806080878903121561574257600080fd5b863595506020870135615754816156b1565b9450604087013567ffffffffffffffff8082111561577157600080fd5b61577d8a838b016154ac565b9096509450606089013591508082111561579657600080fd5b506157a389828a016154ac565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de606083018461561a565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561580257600080fd5b6040516080810181811067ffffffffffffffff8211171561583357634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156158b3576158b361588a565b500190565b600060001982036158cb576158cb61588a565b5060010190565b6000828210156158e4576158e461588a565b500390565b6000602082840312156158fb57600080fd5b8151614f3d816156b1565b634e487b7160e01b600052601260045260246000fd5b60008261592b5761592b615906565b500490565b600081600019048311821515161561594a5761594a61588a565b500290565b60006020828403121561596157600080fd5b8151614f3d816155bc565b60006020828403121561597e57600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159a8576159a861588a565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159d8576159d861588a565b02949350505050565b600067ffffffffffffffff83811690831681811015615a0257615a0261588a565b039392505050565b60008060408385031215615a1d57600080fd5b505080516020909101519092909150565b600060208284031215615a4057600080fd5b815163ffffffff81168114614f3d57600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a9557615a9561588a565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ad057615ad061588a565b60008712925087820587128484161615615aec57615aec61588a565b87850587128184161615615b0257615b0261588a565b505050929093029392505050565b600082615b1f57615b1f615906565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b5557615b5561588a565b500590565b600082615b6957615b69615906565b500690565b60006001600160801b0383811690831681811015615a0257615a0261588a565b60006001600160801b038083168185168083038211156159a8576159a861588a565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615c0d606083018789615bb0565b8281036020840152615c20818688615bb0565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c4d57615c4d61588a565b90039392505050565b600060ff831680615c6957615c69615906565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb90800000000000000000000000064ae5250958cdeb83f6b61f913b5ac6ebe8efd4d000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c50000000000000000000000008ca1e12404d16373aef756179b185f27b2994f3a" }, { "transactionType": "CREATE2", "contractName": null, "address": "0x979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "initCode": "0x6101c06040523480156200001257600080fd5b50604051620062933803806200629383398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003aa61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a53620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139e40152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c68015260008181610593015281816117aa015281816118a6015281816122830152612b6f0152600081816108cc01528181612c3f0152613a6601526000818161053001528181611d950152818161341501526136e6015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e2b0152612e6d015260008181610acf01528181611b4e01528181611c7401528181611eb80152818161328c0152818161388a01528181613ea50152818161457e0152818161469a01528181614779015261482c015260008181610b7601528181611c1701528181611d6901528181612f1901528181612f9f015281816131a401526132ad0152600081816107f101526133300152615a536000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f3660046152c3565b610bca565b005b34801561037257600080fd5b5061036461038136600461531e565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615377565b34801561040b57600080fd5b5061042f61041a36600461539f565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a836600461531e565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c53660046153bc565b61161f565b3480156105d657600080fd5b5061046a6105e536600461539f565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c89190615453565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615466565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461539f565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b61036461076136600461548d565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e3660046153bc565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615466565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615466565b612cfb565b34801561094457600080fd5b5061046a61095336600461539f565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154ce565b612e95565b34801561099157600080fd5b506109a56109a0366004615466565b613056565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461539f565b6130ca565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154f7565b613122565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615466565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e3660046153bc565b61367e565b348015610b4f57600080fd5b50610b58613a64565b6040516103c893929190615583565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615466565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be9615340565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c85368690038601866155be565b613ac1565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd6929190615632565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b1d92505050565b613b8a565b90506000610d8582600881518110610d7857610d78615642565b6020026020010151613d40565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea8615340565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb615642565b906000526020600020906005020190506000610ef684612cfb565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613df4565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061566e565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f757600086828154811061110257611102615642565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f615642565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615686565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613df4565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613df4565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561143257611432615340565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d3615642565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a8615340565b0217905560028111156115bd576115bd615340565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff16826156a0565b95945050505050565b606061161a60546020613e36565b611681612332565b60006002600d5460ff16600281111561169c5761169c615340565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d9615340565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b0615340565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e3615642565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261566e565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b8103611cac57611cac86888588613e6a565b34611cb683612e95565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cfb565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1591906156b7565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156d4565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156ed565b9050611f44565b611edc60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615719565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c8152602001908152602001600020600160028054905061224691906156a0565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b615340565b148061236d57506001600d5460ff16600281111561236b5761236b615340565b145b1561237457565b6000600d5460ff16600281111561238d5761238d615340565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190615772565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d9190615772565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615772565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615377565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061578f565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a36146128c7576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c90036054013511612925576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b6690849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612bc857600080fd5b505af1158015612bdc573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdf91906157b3565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612d1c57612d1c615340565b14612d3a5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d4f57612d4f615642565b600091825260208220600590910201805490925063ffffffff90811614612db557815460028054909163ffffffff16908110612d8d57612d8d615642565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612de090600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612df49067ffffffffffffffff16426156a0565b612e0a612dd3846001600160801b031660401c90565b67ffffffffffffffff16612e1e919061566e565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e6b5780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612f12836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f71576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f8c83836157ef565b9050670de0b6b3a76400006000612fc3827f0000000000000000000000000000000000000000000000000000000000000000615803565b90506000612fe1612fdc670de0b6b3a764000086615803565b613ff9565b90506000612fef848461424b565b90506000612ffd838361429a565b9050600061300a826142c8565b9050600061302982613024670de0b6b3a76400008f615803565b6144b0565b905060006130378b8361429a565b9050613043818d615803565b9f9e505050505050505050505050505050565b6002818154811061306657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130e5576130e5615340565b0361310657506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561314157613141615340565b1461315f5760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061317457613174615642565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131ca7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b613244826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461327e576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561335a576132d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006156a0565b6001901b6132e7846001600160801b03166144e1565b6001600160801b03166132fa9190615822565b1561332e5761332561331660016001600160801b038716615836565b865463ffffffff166000614567565b60030154613350565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061337b565b600385015491506133786133166001600160801b0386166001615856565b90505b600882901b60088a8a604051613392929190615632565b6040518091039020901b146133d3576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133de8c614630565b905060006133ed836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061345a908f908f908f908f908a906004016158c1565b6020604051808303816000875af1158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349d91906156d4565b600485015491149150600090600290613526906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135a0896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135aa91906158fb565b6135b4919061591e565b60ff1615905081151581036135f5576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561363f576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff16600281111561369d5761369d615340565b146136bb5760405163067fe19560e41b815260040160405180910390fd5b6000806000806136ca8661465f565b935093509350935060006136e0858585856149b8565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376691906156b7565b905060018903613833576001600160a01b0381166352f0f3ad8a846137973660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015613809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382d91906156d4565b50611406565b60028903613852576001600160a01b0381166352f0f3ad8a8489613797565b60038903613871576001600160a01b0381166352f0f3ad8a8487613797565b600489036139a65760006138ae6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a57565b6009546138bb919061566e565b6138c690600161566e565b90503660011981013560f01c90036054013581106138f3573660011981013560f01c9003605401356138f5565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561397b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399f91906156d4565b5050611406565b60058903613a32576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137ea565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a9f61166b565b9050909192565b600081831015613ab65781613ab8565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613b00949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b6c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b9a85614aec565b919450925090506001816001811115613bb557613bb5615340565b14613bec576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bf8838561566e565b14613c2f576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c465790505093506000835b8651811015613d3457600080613cb96040518060400160405280858c60000151613c9d91906156a0565b8152602001858c60200151613cb2919061566e565b9052614aec565b509150915060405180604001604052808383613cd5919061566e565b8152602001848b60200151613cea919061566e565b815250888581518110613cff57613cff615642565b6020908102919091010152613d1560018561566e565b9350613d21818361566e565b613d2b908461566e565b92505050613c73565b50845250919392505050565b60606000806000613d5085614aec565b919450925090506000816001811115613d6b57613d6b615340565b14613da2576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613dac828461566e565b855114613de5576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f8a565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e2d90849061566e565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e806001600160801b0384166001615856565b90506000613e9082866001614567565b9050600086901a8380613f5a5750613ec960027f0000000000000000000000000000000000000000000000000000000000000000615822565b6004830154600290613f4b906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f55919061591e565b60ff16145b15613fb25760ff811660011480613f74575060ff81166002145b613fad576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b613ff0565b60ff811615613ff0576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361404f57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261428857637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142b85763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142f657919050565b680755bf798b4a1bf1e582126143145763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613ab8670de0b6b3a7640000836144c886613ff9565b6144d29190615940565b6144dc91906159fc565b6142c8565b600080614555837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145a7576145a26001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061501f565b6145b9565b6145b9856001600160801b031661515e565b9050600284815481106145ce576145ce615642565b906000526020600020906005020191505b60048201546001600160801b0382811691161461462857815460028054909163ffffffff1690811061461357614613615642565b906000526020600020906005020191506145df565b509392505050565b60008060008060006146418661465f565b9350935093509350614655848484846149b8565b9695505050505050565b600080600080600085905060006002828154811061467f5761467f615642565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614734906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161476e576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614813906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561488857825463ffffffff166148527f0000000000000000000000000000000000000000000000000000000000000000600161566e565b830361485c578391505b6002818154811061486f5761486f615642565b9060005260206000209060050201935080945050614772565b600481810154908401546001600160801b0391821691166000816001600160801b03166148cd6148c1856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149665760006148f3836001600160801b03166144e1565b6001600160801b0316111561494357600061492361491b60016001600160801b038616615836565b896001614567565b6003810154600490910154909c506001600160801b03169a506149499050565b6008549a505b600386015460048701549099506001600160801b031697506149aa565b600061497f61491b6001600160801b0385166001615856565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615614a135760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a389291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614acb847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b2f576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b54576000600160009450945094505050614f83565b60b78111614c6a576000614b696080836156a0565b905080876000015111614ba8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614c2057507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c57576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f83915050565b60bf8111614dc8576000614c7f60b7836156a0565b905080876000015111614cbe576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614d20576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d68576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d72818461566e565b895111614dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614db683600161566e565b9750955060009450614f839350505050565b60f78111614e2d576000614ddd60c0836156a0565b905080876000015111614e1c576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f83915050565b6000614e3a60f7836156a0565b905080876000015111614e79576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614edb576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f23576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f2d818461566e565b895111614f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f7183600161566e565b9750955060019450614f839350505050565b9193909250565b60608167ffffffffffffffff811115614fa557614fa56155a8565b6040519080825280601f01601f191660200182016040528015614fcf576020820181803683370190505b5090508115615018576000614fe4848661566e565b90506020820160005b84811015615005578281015182820152602001614fed565b84811115615014576000858301525b5050505b9392505050565b60008161509c846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116150b25763b34b5c226000526004601cfd5b6150bb8361515e565b905081615138826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613abb57613ab861514e83600161566e565b6001600160801b038316906151ea565b600081196001830116816151d9827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061525e847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261528c57600080fd5b50813567ffffffffffffffff8111156152a457600080fd5b6020830191508360208285010111156152bc57600080fd5b9250929050565b600080600083850360a08112156152d957600080fd5b60808112156152e757600080fd5b50839250608084013567ffffffffffffffff81111561530557600080fd5b6153118682870161527a565b9497909650939450505050565b6000806040838503121561533157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061537457634e487b7160e01b600052602160045260246000fd5b50565b6020810161538483615356565b91905290565b6001600160a01b038116811461537457600080fd5b6000602082840312156153b157600080fd5b81356150188161538a565b6000806000606084860312156153d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561540e576020818501810151868301820152016153f2565b81811115615420576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613ab860208301846153e8565b60006020828403121561547857600080fd5b5035919050565b801515811461537457600080fd5b600080600080608085870312156154a357600080fd5b84359350602085013592506040850135915060608501356154c38161547f565b939692955090935050565b6000602082840312156154e057600080fd5b81356001600160801b038116811461501857600080fd5b6000806000806000806080878903121561551057600080fd5b8635955060208701356155228161547f565b9450604087013567ffffffffffffffff8082111561553f57600080fd5b61554b8a838b0161527a565b9096509450606089013591508082111561556457600080fd5b5061557189828a0161527a565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155d057600080fd5b6040516080810181811067ffffffffffffffff8211171561560157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561568157615681615658565b500190565b6000600019820361569957615699615658565b5060010190565b6000828210156156b2576156b2615658565b500390565b6000602082840312156156c957600080fd5b81516150188161538a565b6000602082840312156156e657600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561571057615710615658565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561574057615740615658565b02949350505050565b600067ffffffffffffffff8381169083168181101561576a5761576a615658565b039392505050565b60006020828403121561578457600080fd5b81516150188161547f565b600080604083850312156157a257600080fd5b505080516020909101519092909150565b6000602082840312156157c557600080fd5b815163ffffffff8116811461501857600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157fe576157fe6157d9565b500490565b600081600019048311821515161561581d5761581d615658565b500290565b600082615831576158316157d9565b500690565b60006001600160801b038381169083168181101561576a5761576a615658565b60006001600160801b0380831681851680830382111561571057615710615658565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158d5606083018789615878565b82810360208401526158e8818688615878565b9150508260408301529695505050505050565b600060ff821660ff84168082101561591557615915615658565b90039392505050565b600060ff831680615931576159316157d9565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561598157615981615658565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156159bc576159bc615658565b600087129250878205871284841616156159d8576159d8615658565b878505871281841616156159ee576159ee615658565b505050929093029392505050565b600082615a0b57615a0b6157d9565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a4157615a41615658565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb9080000000000000000000000002453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000909f6cf47ed12f010a796527f562bfc26c7f4e720000000000000000000000000000000000000000000000000000000000002105" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xfa804c", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc0", "removed": false }, { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc1", "removed": false }, { "address": "0x05cc379ebd9b30bba19c6fa282ab29218ec61d84", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc2", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc3", "removed": false }, { "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc4", "removed": false }, { "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc5", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc6", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc7", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000002105", "0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072", "0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c" ], "data": "0x", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc8", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x37de49f5310901e1988c484d7919375551b77fd388f5e2737410752f5504b1030000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "blockTimestamp": "0x692dbb1f", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "logIndex": "0xc9", "removed": false } ], "logsBloom": "0x000000004004000004000008000800004008000000000000000000a0040000000000008000000000040000040004000000000000000000000001000000040110001080000c00000088000000000002001041000000040040000000001000000008010000020000000001000020000800000000400000040000000000000000200020080000000000000000000000000000010000002000000000000020000000000000008020000004000000080004000040000000000080040200000000000000000020000000000000000000000480000010104000200001000000000060000080002000001040000000000000200002000004020000000000000000000100", "type": "0x2", "transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993", "transactionIndex": "0x47", "blockHash": "0xaf7e76f4bcb85e685fcf753f6971723010246ba9ef6fa6358846ff896393822c", "blockNumber": "0x16cfc3a", "gasUsed": "0x9a547f", "effectiveGasPrice": "0x61e32f70", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764604704970, "chain": 1, "commit": "eda0e83" } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/script/MultisigScript.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; // solhint-disable no-console import {console} from "lib/forge-std/src/console.sol"; import {IMulticall3} from "lib/forge-std/src/interfaces/IMulticall3.sol"; import {Script} from "lib/forge-std/src/Script.sol"; import {Vm} from "lib/forge-std/src/Vm.sol"; import {IGnosisSafe, Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {Signatures} from "@base-contracts/script/universal/Signatures.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {StateDiff} from "@base-contracts/script/universal/StateDiff.sol"; import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; /// @title MultisigScript /// @notice Script builder for Forge scripts that require signatures from Safes. Supports both non-nested /// Safes, as well as nested Safes of arbitrary depth (Safes where the signers are other Safes). /// /// 1. Non-nested example: /// /// Setup: /// ┌───────┐┌───────┐ /// │Signer1││Signer2│ /// └┬──────┘└┬──────┘ /// ┌▽────────▽┐ /// │Multisig │ /// └┬─────────┘ /// ┌▽─────────┐ /// │ProxyAdmin│ /// └──────────┘ /// /// Sequence: /// ┌───────┐┌───────┐┌───────────┐┌──────────────┐ /// │Signer1││Signer2││Facilitator││MultisigScript│ /// └───┬───┘└───┬───┘└─────┬─────┘└───────┬──────┘ /// │ │ sign() │ /// │─────────────────────────────────>│ /// │ │ │ /// │──────────────────>│ │ /// │ │ sign() │ /// │ │────────────────────────>│ /// │ │ │ │ /// │ │─────────>│ │ /// │ │ │run(sig1,sig2)│ /// │ │ │─────────────>│ /// /// /// 2. Single-layer nested example: /// /// Setup: /// ┌───────┐┌───────┐┌───────┐┌───────┐ /// │Signer1││Signer2││Signer3││Signer4│ /// └┬──────┘└┬──────┘└┬──────┘└┬──────┘ /// ┌▽────────▽┐┌──────▽────────▽┐ /// │Safe1 ││Safe2 │ /// └┬─────────┘└┬───────────────┘ /// ┌▽───────────▽┐ /// │Safe3 │ /// └┬────────────┘ /// ┌▽─────────┐ /// │ProxyAdmin│ /// └──────────┘ /// /// Sequence: /// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────────┐ ┌──────────────┐ /// │Signer1││Signer2││Signer3││Signer4││Facilitator│ │MultisigScript│ /// └───┬───┘└───┬───┘└───┬───┘└───┬───┘└─────┬─────┘ └───────┬──────┘ /// │ │ │ sign(Safe1) │ │ /// │─────────────────────────────────────────────────────────────>│ /// │ │ │ │ │ /// │────────────────────────────────────>│ │ /// │ │ │ │ sign(Safe1) │ /// │ │────────────────────────────────────────────────────>│ /// │ │ │ │ │ │ /// │ │───────────────────────────>│ │ /// │ │ │ │ │approve(Safe1,sig1|sig2)│ /// │ │ │ │ │───────────────────────>│ /// │ │ │ │ sign(Safe2) │ /// │ │ │───────────────────────────────────────────>│ /// │ │ │ │ │ /// │ │ │──────────────────>│ │ /// │ │ │ │ │ sign(Safe2) │ /// │ │ │ │──────────────────────────────────>│ /// │ │ │ │ │ │ /// │ │ │ │─────────>│ │ /// │ │ │ │ │approve(Safe2,sig3|sig4)│ /// │ │ │ │ │───────────────────────>│ /// │ │ │ │ │ run() │ /// │ │ │ │ │───────────────────────>│ /// /// /// 3. Multi-layer nested example: /// /// Setup: /// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐ /// │Signer1││Signer2││Signer3││Signer4││Signer5││Signer6│ /// └┬──────┘└┬──────┘└┬──────┘└┬──────┘└┬──────┘└┬──────┘ /// ┌▽────────▽┐┌──────▽────────▽┐┌──────▽────────▽┐ /// │Safe1 ││Safe2 ││Safe3 │ /// └┬─────────┘└┬───────────────┘└┬───────────────┘ /// ┌▽───────────▽┐ │ /// │Safe4 │ │ /// └┬────────────┘ │ /// ┌▽─────────────────────────────▽┐ /// │Safe5 │ /// └┬──────────────────────────────┘ /// ┌▽─────────┐ /// │ProxyAdmin│ /// └──────────┘ /// /// Sequence: /// ┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────┐┌───────────┐ ┌──────────────┐ /// │Signer1││Signer2││Signer3││Signer4││Signer5││Signer6││Facilitator│ │MultisigScript│ /// └───┬───┘└───┬───┘└───┬───┘└───┬───┘└───┬───┘└───┬───┘└─────┬─────┘ └───────┬──────┘ /// │ │ │ │ sign(Safe1,Safe4) │ │ /// │─────────────────────────────────────────────────────────────────────────────────────>│ /// │ │ │ │ │ │ │ /// │──────────────────────────────────────────────────────>│ │ /// │ │ │ │ │ sign(Safe1,Safe4) │ /// │ │────────────────────────────────────────────────────────────────────────────>│ /// │ │ │ │ │ │ │ │ /// │ │─────────────────────────────────────────────>│ │ /// │ │ │ │ │ │ │approve(Safe1,Safe4,sig1|sig2)│ /// │ │ │ │ │ │ │─────────────────────────────>│ /// │ │ │ │ │ sign(Safe2,Safe4) │ /// │ │ │───────────────────────────────────────────────────────────────────>│ /// │ │ │ │ │ │ │ /// │ │ │────────────────────────────────────>│ │ /// │ │ │ │ │ │ sign(Safe2,Safe4) │ /// │ │ │ │──────────────────────────────────────────────────────────>│ /// │ │ │ │ │ │ │ │ /// │ │ │ │───────────────────────────>│ │ /// │ │ │ │ │ │ │approve(Safe2,Safe4,sig3|sig4)│ /// │ │ │ │ │ │ │─────────────────────────────>│ /// │ │ │ │ │ │ │ approve(Safe4) │ /// │ │ │ │ │ │ │─────────────────────────────>│ /// │ │ │ │ │ │ sign(Safe3) │ /// │ │ │ │ │─────────────────────────────────────────────────>│ /// │ │ │ │ │ │ │ /// │ │ │ │ │──────────────────>│ │ /// │ │ │ │ │ │ │ sign(Safe3) │ /// │ │ │ │ │ │────────────────────────────────────────>│ /// │ │ │ │ │ │ │ │ /// │ │ │ │ │ │─────────>│ │ /// │ │ │ │ │ │ │ approve(Safe3,sig5|sig6) │ /// │ │ │ │ │ │ │─────────────────────────────>│ /// │ │ │ │ │ │ │ run() │ /// │ │ │ │ │ │ │─────────────────────────────>│ abstract contract MultisigScript is Script { struct SafeTx { address safe; address to; bytes data; uint256 value; } bytes32 internal constant SAFE_NONCE_SLOT = bytes32(uint256(5)); address internal constant MULTICALL3_DELEGATECALL_ADDRESS = 0x93dc480940585D9961bfcEab58124fFD3d60f76a; address internal multicallAddress; /// @dev Event emitted from a `sign()` call containing the data to sign. Used in testing. event DataToSign(bytes data); ////////////////////////////////////////////////////////////////////////////////////// /// Virtual Functions /// ////////////////////////////////////////////////////////////////////////////////////// /// @notice Returns the safe address to execute the final transaction from function _ownerSafe() internal view virtual returns (address); /// @notice Creates the calldata for signatures (`sign`), approvals (`approve`), and execution (`run`) function _buildCalls() internal view virtual returns (IMulticall3.Call3Value[] memory); /// @notice Follow up assertions to ensure that the script ran to completion. /// @dev Called after `sign` and `run`, but not `approve`. function _postCheck(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual; /// @notice Follow up assertions on state and simulation after a `sign` call. function _postSign(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {} /// @notice Follow up assertions on state and simulation after a `approve` call. function _postApprove(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {} /// @notice Follow up assertions on state and simulation after a `run` call. function _postRun(Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) internal virtual {} // Tenderly simulations can accept generic state overrides. This hook enables this functionality. // By default, an empty (no-op) override is returned. function _simulationOverrides() internal view virtual returns (Simulation.StateOverride[] memory overrides_) {} /// @notice If set to true, the executed aggregate call runs through the custom `CBMulticall` contract /// as a `DELEGATECALL` for each individual call. /// @dev In delegatecall mode: /// - The multisig inherits the multicall logic and executes each target in its own context /// (e.g. for Optimism's OPCM-style flows). /// - The `value` field of each `IMulticall3.Call3Value` returned by `_buildCalls` MUST be zero. /// Per-call value routing is not supported; any ETH attached to the Safe transaction is shared /// across all calls according to the delegatee's logic. function _useDelegateCall() internal view virtual returns (bool) { return false; } constructor() { bool useCbMulticall; try vm.envBool("USE_MULTICALL3_DELEGATECALL_ADDRESS") { useCbMulticall = vm.envBool("USE_MULTICALL3_DELEGATECALL_ADDRESS"); } catch {} multicallAddress = (useCbMulticall || _useDelegateCall()) ? MULTICALL3_DELEGATECALL_ADDRESS : MULTICALL3_ADDRESS; } ////////////////////////////////////////////////////////////////////////////////////// /// Public Functions /// ////////////////////////////////////////////////////////////////////////////////////// /// Step 1 /// ====== /// Generate a transaction approval data to sign. This method should be called by a threshold of /// multisig owners. /// /// For non-nested multisigs, the signatures can then be used to execute the transaction (see step 3). /// /// For nested multisigs, the signatures can be used to execute an approval transaction for each /// multisig (see step 2). /// /// @param safes A list of nested safes (excluding the executing safe returned by `_ownerSafe`). function sign(address[] memory safes) public { safes = _appendOwnerSafe({safes: safes}); // Snapshot and restore Safe nonce after simulation, otherwise the data logged to sign // would not match the actual data we need to sign, because the simulation // would increment the nonce. uint256[] memory originalNonces = new uint256[](safes.length); for (uint256 i; i < safes.length; i++) { originalNonces[i] = _getNonce({safe: safes[i]}); } (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes}); vm.startMappingRecording(); (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _simulateForSigner({safes: safes, datas: datas, value: value}); (StateDiff.MappingParent[] memory parents, string memory json) = StateDiff.collectStateDiff(StateDiff.CollectStateDiffOpts({accesses: accesses, simPayload: simPayload})); vm.stopMappingRecording(); _postSign({accesses: accesses, simPayload: simPayload}); _postCheck({accesses: accesses, simPayload: simPayload}); // Restore the original nonce. for (uint256 i; i < safes.length; i++) { vm.store({target: safes[i], slot: SAFE_NONCE_SLOT, value: bytes32(originalNonces[i])}); } address to = _getTarget(datas); bytes memory txData = _encodeTransactionData(SafeTx({safe: safes[0], to: to, data: datas[0], value: value})); StateDiff.recordStateDiff({json: json, parents: parents, txData: txData, targetSafe: _ownerSafe()}); _printDataToSign({safe: safes[0], to: to, data: datas[0], value: value, txData: txData}); } /// Step 1.1 (optional) /// ====== /// Verify the signatures generated from step 1 are valid. /// This allows transactions to be pre-signed and stored safely before execution. /// /// @param safes A list of nested safes (excluding the executing safe returned by `_ownerSafe`). /// @param signatures The signatures to verify (concatenated, 65-bytes per sig). function verify(address[] memory safes, bytes memory signatures) public view { safes = _appendOwnerSafe({safes: safes}); (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes}); address to = _getTarget(datas); _checkSignatures({safe: safes[0], to: to, data: datas[0], value: value, signatures: signatures}); } /// Step 2 (optional for non-nested setups) /// ====== /// Execute an approval transaction. This method should be called by a facilitator /// (non-signer), once for each of the multisigs involved in the nested multisig, /// after collecting a threshold of signatures for each multisig (see step 1). /// /// For multiple layers of nesting, this should be called for each layer of nesting (once /// the inner multisigs have registered their approval). The array of safes passed to /// `safes` should get smaller by one for each layer of nesting. /// /// @param safes A list of nested safes (excluding the executing safe returned by `_ownerSafe`). /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig) function approve(address[] memory safes, bytes memory signatures) public { safes = _appendOwnerSafe({safes: safes}); (bytes[] memory datas, uint256 value) = _transactionDatas({safes: safes}); (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _executeTransaction({safe: safes[0], to: MULTICALL3_ADDRESS, data: datas[0], value: value, signatures: signatures, broadcast: true}); _postApprove({accesses: accesses, simPayload: simPayload}); } /// Step 2.1 (optional) /// ====== /// Simulate the transaction. This method should be called by a facilitator (non-signer), after all of the /// signatures have been collected (non-nested case, see step 1), or the approval transactions have been /// submitted onchain (nested case, see step 2, in which case `signatures` can be empty). /// /// Differs from `run` in that you can override the safe nonce for simulation purposes. /// /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig) function simulate(bytes memory signatures) public { address ownerSafe = _ownerSafe(); (bytes[] memory datas, uint256 value) = _transactionDatas({safes: _toArray(ownerSafe)}); address to = _getTarget(datas); vm.store({target: ownerSafe, slot: SAFE_NONCE_SLOT, value: bytes32(_getNonce({safe: ownerSafe}))}); (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _executeTransaction({ safe: ownerSafe, to: to, data: datas[0], value: value, signatures: signatures, broadcast: false }); _postRun({accesses: accesses, simPayload: simPayload}); _postCheck({accesses: accesses, simPayload: simPayload}); } /// Step 3 /// ====== /// Execute the transaction. This method should be called by a facilitator (non-signer), after all of the /// signatures have been collected (non-nested case, see step 1), or the approval transactions have been /// submitted onchain (nested case, see step 2, in which case `signatures` can be empty). /// /// @param signatures The signatures from step 1 (concatenated, 65-bytes per sig) function run(bytes memory signatures) public { address ownerSafe = _ownerSafe(); (bytes[] memory datas, uint256 value) = _transactionDatas({safes: _toArray(ownerSafe)}); address to = _getTarget(datas); (Vm.AccountAccess[] memory accesses, Simulation.Payload memory simPayload) = _executeTransaction({ safe: ownerSafe, to: to, data: datas[0], value: value, signatures: signatures, broadcast: true }); _postRun({accesses: accesses, simPayload: simPayload}); _postCheck({accesses: accesses, simPayload: simPayload}); } ////////////////////////////////////////////////////////////////////////////////////// /// Internal Functions /// ////////////////////////////////////////////////////////////////////////////////////// function _appendOwnerSafe(address[] memory safes) internal view returns (address[] memory) { address[] memory extendedSafes = new address[](safes.length + 1); for (uint256 i; i < safes.length; i++) { extendedSafes[i] = safes[i]; } extendedSafes[extendedSafes.length - 1] = _ownerSafe(); return extendedSafes; } function _transactionDatas(address[] memory safes) private view returns (bytes[] memory datas, uint256 value) { // Build the calls and sum the values IMulticall3.Call3Value[] memory calls = _buildCalls(); for (uint256 i; i < calls.length; i++) { value += calls[i].value; } // The very last call is the actual (aggregated) call to execute datas = new bytes[](safes.length); datas[datas.length - 1] = abi.encodeCall(IMulticall3.aggregate3Value, (calls)); if (_useDelegateCall()) { datas[datas.length - 1] = abi.encodeCall(IMulticall3.aggregate3, (_toCall3Array(calls))); } address to = multicallAddress; // The first n-1 calls are the nested approval calls uint256 valueForCallToApprove = value; for (uint256 i = safes.length - 1; i > 0; i--) { address targetSafe = safes[i]; bytes memory callToApprove = datas[i]; IMulticall3.Call3[] memory approvalCall = new IMulticall3.Call3[](1); approvalCall[0] = _generateApproveCall({safe: targetSafe, to: to, data: callToApprove, value: valueForCallToApprove}); datas[i - 1] = abi.encodeCall(IMulticall3.aggregate3, (approvalCall)); to = MULTICALL3_ADDRESS; valueForCallToApprove = 0; } } /// @dev Converts `IMulticall3.Call3Value` calls into `CBMulticall.Call3` calls for delegatecall mode. /// All `value` fields must be zero; delegatecall mode does not support per-call value routing. function _toCall3Array(IMulticall3.Call3Value[] memory calls) private pure returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory dCalls = new IMulticall3.Call3[](calls.length); for (uint256 i; i < calls.length; i++) { // Delegatecall mode relies on the Safe's `msg.value` handling rather than per-call value routing. // Enforce that no per-call value is specified when using delegatecall mode. require(calls[i].value == 0, "MultisigScript: delegatecall mode does not support call value"); dCalls[i] = IMulticall3.Call3({ target: calls[i].target, allowFailure: calls[i].allowFailure, callData: calls[i].callData }); } return dCalls; } function _generateApproveCall(address safe, address to, bytes memory data, uint256 value) internal view returns (IMulticall3.Call3 memory) { bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value}); console.log("---\nNested hash for safe %s:", safe); console.logBytes32(hash); return IMulticall3.Call3({ target: safe, allowFailure: false, callData: abi.encodeCall(IGnosisSafe(safe).approveHash, (hash)) }); } function _printDataToSign(address safe, address to, bytes memory data, uint256 value, bytes memory txData) internal { bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value}); emit DataToSign({data: txData}); console.log("---\nIf submitting onchain, call Safe.approveHash on %s with the following hash:", safe); console.logBytes32(hash); console.log("---\nData to sign:"); console.log("vvvvvvvv"); console.logBytes(txData); console.log("^^^^^^^^\n"); console.log("########## IMPORTANT ##########"); console.log( // solhint-disable-next-line max-line-length "Please make sure that the 'Data to sign' displayed above matches what you see in the simulation and on your hardware wallet." ); console.log("This is a critical step that must not be skipped."); console.log("###############################"); } function _executeTransaction( address safe, address to, bytes memory data, uint256 value, bytes memory signatures, bool broadcast ) internal returns (Vm.AccountAccess[] memory, Simulation.Payload memory) { bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value}); signatures = Signatures.prepareSignatures({safe: safe, hash: hash, signatures: signatures}); bytes memory simData = _execTransactionCalldata({safe: safe, to: to, data: data, value: value, signatures: signatures}); Simulation.logSimulationLink({to: safe, data: simData, from: msg.sender}); vm.startStateDiffRecording(); bool success = _execTransaction({safe: safe, to: to, data: data, value: value, signatures: signatures, broadcast: broadcast}); Vm.AccountAccess[] memory accesses = vm.stopAndReturnStateDiff(); require(success, "MultisigBase::_executeTransaction: Transaction failed"); require(accesses.length > 0, "MultisigBase::_executeTransaction: No state changes"); // This can be used to e.g. call out to the Tenderly API and get additional // data about the state diff before broadcasting the transaction. Simulation.Payload memory simPayload = Simulation.Payload({ from: msg.sender, to: safe, data: simData, stateOverrides: new Simulation.StateOverride[](0) }); return (accesses, simPayload); } function _simulateForSigner(address[] memory safes, bytes[] memory datas, uint256 value) internal returns (Vm.AccountAccess[] memory, Simulation.Payload memory) { IMulticall3.Call3[] memory calls = _simulateForSignerCalls({safes: safes, datas: datas, value: value}); address to = _getTarget(datas); bytes32 firstCallDataHash = _getTransactionHash({safe: safes[0], to: to, data: datas[0], value: value}); // Now define the state overrides for the simulation. Simulation.StateOverride[] memory overrides = _overrides({safes: safes, firstCallDataHash: firstCallDataHash}); bytes memory txData = abi.encodeCall(IMulticall3.aggregate3, (calls)); console.log("---\nSimulation link:"); // solhint-disable max-line-length Simulation.logSimulationLink({to: MULTICALL3_ADDRESS, data: txData, from: msg.sender, overrides: overrides}); // Forge simulation of the data logged in the link. If the simulation fails // we revert to make it explicit that the simulation failed. Simulation.Payload memory simPayload = Simulation.Payload({to: MULTICALL3_ADDRESS, data: txData, from: msg.sender, stateOverrides: overrides}); Vm.AccountAccess[] memory accesses = Simulation.simulateFromSimPayload({simPayload: simPayload}); return (accesses, simPayload); } function _getTarget(bytes[] memory datas) private view returns (address) { return datas.length > 1 ? MULTICALL3_ADDRESS : multicallAddress; } function _simulateForSignerCalls(address[] memory safes, bytes[] memory datas, uint256 value) private view returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](safes.length); for (uint256 i; i < safes.length; i++) { address signer = i == 0 ? msg.sender : safes[i - 1]; calls[i] = IMulticall3.Call3({ target: safes[i], allowFailure: false, callData: _execTransactionCalldata({ safe: safes[i], to: i < safes.length - 1 ? MULTICALL3_ADDRESS : multicallAddress, data: datas[i], value: value, signatures: Signatures.genPrevalidatedSignature(signer) }) }); } return calls; } // The state change simulation can set the threshold, owner address and/or nonce. // This allows simulation of the final transaction by overriding the threshold to 1. // State changes reflected in the simulation as a result of these overrides will // not be reflected in the prod execution. function _overrides(address[] memory safes, bytes32 firstCallDataHash) internal view returns (Simulation.StateOverride[] memory) { Simulation.StateOverride[] memory simOverrides = _simulationOverrides(); Simulation.StateOverride[] memory overrides = new Simulation.StateOverride[](safes.length + simOverrides.length); uint256 nonce = _getNonce({safe: safes[0]}); overrides[0] = Simulation.overrideSafeThresholdApprovalAndNonce({ safe: safes[0], nonce: nonce, owner: msg.sender, dataHash: firstCallDataHash }); for (uint256 i = 1; i < safes.length; i++) { overrides[i] = Simulation.overrideSafeThresholdAndNonce({safe: safes[i], nonce: _getNonce({safe: safes[i]})}); } for (uint256 i; i < simOverrides.length; i++) { overrides[i + safes.length] = simOverrides[i]; } return overrides; } // Get the nonce to use for the given safe, for signing and simulations. // // If you override it, ensure that the behavior is correct for all contexts. // As an example, if you are pre-signing a message that needs safe.nonce+1 (before // safe.nonce is executed), you should explicitly set the nonce value with an env var. // Overriding this method with safe.nonce+1 will cause issues upon execution because // the transaction hash will differ from the one signed. // // The process for determining a nonce override is as follows: // 1. We look for an env var of the name SAFE_NONCE_{UPPERCASE_SAFE_ADDRESS}. For example, // SAFE_NONCE_0X6DF4742A3C28790E63FE933F7D108FE9FCE51EA4. // 2. If it exists, we use it as the nonce override for the safe. // 3. If it does not exist, we do the same for the SAFE_NONCE env var. // 4. Otherwise we fallback to the safe's current nonce (no override). function _getNonce(address safe) internal view virtual returns (uint256 nonce) { uint256 safeNonce = IGnosisSafe(safe).nonce(); nonce = safeNonce; // first try SAFE_NONCE try vm.envUint({name: "SAFE_NONCE"}) { nonce = vm.envUint({name: "SAFE_NONCE"}); } catch {} // then try SAFE_NONCE_{UPPERCASE_SAFE_ADDRESS} string memory envVarName = string.concat("SAFE_NONCE_", vm.toUppercase({input: vm.toString({value: safe})})); try vm.envUint({name: envVarName}) { nonce = vm.envUint({name: envVarName}); } catch {} // print if any override if (nonce != safeNonce) { console.log("Overriding nonce for safe %s: %d -> %d", safe, safeNonce, nonce); } } function _checkSignatures(address safe, address to, bytes memory data, uint256 value, bytes memory signatures) internal view { bytes32 hash = _getTransactionHash({safe: safe, to: to, data: data, value: value}); signatures = Signatures.prepareSignatures({safe: safe, hash: hash, signatures: signatures}); IGnosisSafe(safe).checkSignatures({dataHash: hash, data: data, signatures: signatures}); } function _getTransactionHash(address safe, address to, bytes memory data, uint256 value) internal view returns (bytes32) { return keccak256(_encodeTransactionData(SafeTx({safe: safe, to: to, data: data, value: value}))); } function _encodeTransactionData(SafeTx memory t) internal view returns (bytes memory) { return IGnosisSafe(t.safe) .encodeTransactionData({ to: t.to, value: t.value, data: t.data, operation: _getOperation(t.value), safeTxGas: 0, baseGas: 0, gasPrice: 0, gasToken: address(0), refundReceiver: address(0), _nonce: _getNonce(t.safe) }); } function _execTransactionCalldata(address safe, address to, bytes memory data, uint256 value, bytes memory signatures) internal view returns (bytes memory) { return abi.encodeCall( IGnosisSafe(safe).execTransaction, (to, value, data, _getOperation(value), 0, 0, 0, address(0), payable(address(0)), signatures) ); } function _execTransaction(address safe, address to, bytes memory data, uint256 value, bytes memory signatures, bool broadcast) internal returns (bool) { if (broadcast) { vm.broadcast(); } return IGnosisSafe(safe) .execTransaction({ to: to, value: value, data: data, operation: _getOperation(value), safeTxGas: 0, baseGas: 0, gasPrice: 0, gasToken: address(0), refundReceiver: payable(address(0)), signatures: signatures }); } function _toArray(address addr) internal pure returns (address[] memory) { address[] memory array = new address[](1); array[0] = addr; return array; } function _toArray(address address1, address address2) internal pure returns (address[] memory) { address[] memory array = new address[](2); array[0] = address1; array[1] = address2; return array; } function _getOperation(uint256 value) private view returns (Enum.Operation) { if (multicallAddress == MULTICALL3_DELEGATECALL_ADDRESS || value == 0) { return Enum.Operation.DelegateCall; } return Enum.Operation.Call; } } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/script/UpgradeWithOpSmartContractManager.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {Constants} from "@eth-optimism-bedrock/src/libraries/Constants.sol"; import { IOPContractsManager, IOPContractsManagerStandardValidator, ISystemConfig, IProxyAdmin, ISuperchainConfig } from "@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "./MultisigScript.sol"; /// @notice This script deploys new versions of OP contracts using the OP Contract Manager. contract UpgradeWithOpSmartContractManager is MultisigScript { ISystemConfig internal immutable SYSTEM_CONFIG; IOPContractsManager internal immutable OP_CONTRACT_MANAGER; address public immutable OWNER_SAFE; IProxyAdmin public immutable PROXY_ADMIN; Claim immutable CANNON_ABSOLUTE_PRESTATE; address internal immutable CHALLENGER; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); PROXY_ADMIN = IProxyAdmin(vm.envAddress("PROXY_ADMIN")); SYSTEM_CONFIG = ISystemConfig(vm.envAddress("SYSTEM_CONFIG")); OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress("OP_CONTRACT_MANAGER")); CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); CHALLENGER = vm.envAddress("CHALLENGER"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IOPContractsManagerStandardValidator.ValidationInput memory input = IOPContractsManagerStandardValidator.ValidationInput( PROXY_ADMIN, SYSTEM_CONFIG, Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), SYSTEM_CONFIG.l2ChainId() ); IOPContractsManagerStandardValidator.ValidationOverrides memory overrides = IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER); OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig(SYSTEM_CONFIG, PROXY_ADMIN, CANNON_ABSOLUTE_PRESTATE); IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1); opChainConfigs[0] = baseConfig; IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: address(OP_CONTRACT_MANAGER), allowFailure: false, callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)), value: 0 }); return calls; } function _simulationOverrides() internal view virtual override returns (Simulation.StateOverride[] memory overrides_) { // Get the superchain config address from the SystemConfig ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig()); IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations(); // Mock the implementation slot of the superchain config if the version has not been upgraded yet. bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version())); bytes32 h2 = keccak256(abi.encode(superchainConfig.version())); if (h1 != h2) { Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); storageOverrides[0] = Simulation.StorageOverride( Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl)))) ); overrides_ = new Simulation.StateOverride[](1); overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides); } } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } function _useDelegateCall() internal pure override returns (bool) { return true; } } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/validations/base-security-council-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0x11287518955af2b1c1d2fb8f46973a0a648ac8ed9ba6a9a55bcf11fcca022d6a" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x806a47f0204113e9d747e5ebe5904a862f2ca1ccc48015282fa4914fa98931fa", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismMintableERC20Factory - Mainnet", "address": "0x05cc379ebd9b30bba19c6fa282ab29218ec61d84", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "Security Council Safe - Mainnet", "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "L1StandardBridge - Mainnet", "address": "0x3154cf16ccdb4c6d922629664174b904d80f2c35", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] }, { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec", "after": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "description": "Updates the PermissionedDisputeGame implementation address.", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c", "after": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "description": "Updates the FaultDisputeGame implementation address.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "L1ERC721Bridge - Mainnet", "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update the address of L1ERC721Bridge to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update the address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xaddfb37918a8ba8697fb01fce50d1a88fff5d77d0c03eaced924c8399ca2d81c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets the approval hash for this U17 upgrade transaction.", "allowDifference": false } ] }, { "name": "AddressManager - Mainnet", "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000018", "after": "0x0000000000000000000000000000000000000000000000000000000000000019", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x4673344234672dcdcebb1612b36c79b7463189328a00c32ed177609495c4c16f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets the approval hash for this U17 upgrade transaction.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/validations/coinbase-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0xcd83528c7763918cd8350544a4172f5d0fc97e579b38e9182913a9ee31882efe" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x956f0b7b97716c3ae73ece58ee0bdd1334ca30481111f3e5a428de727da5d7a2", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismMintableERC20Factory - Mainnet", "address": "0x05cc379ebd9b30bba19c6fa282ab29218ec61d84", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "L1StandardBridge - Mainnet", "address": "0x3154cf16ccdb4c6d922629664174b904d80f2c35", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] }, { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec", "after": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "description": "Updates the PermissionedDisputeGame implementation address.", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c", "after": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "description": "Updates the FaultDisputeGame implementation address.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "L1ERC721Bridge - Mainnet", "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update the address of L1ERC721Bridge to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update the address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xaddfb37918a8ba8697fb01fce50d1a88fff5d77d0c03eaced924c8399ca2d81c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets the approval hash for this U17 upgrade transaction.", "allowDifference": false } ] }, { "name": "AddressManager - Mainnet", "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000018", "after": "0x0000000000000000000000000000000000000000000000000000000000000019", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x01642271b9978916cc059c2188b11d6da93e6a7b4f6eee43ab5bd2848320c4f1", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets the approval hash for this U17 upgrade transaction.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-11-21-u17-jovian-upgrade/validations/optimism-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeWithOpSmartContractManager --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x4e6a6554de0308f5ece8ff736beed8a1b876d16f5c27cac8e466d7de0c703890", "messageHash": "0x65a7521f4ef88256da2eb5df52bd20bcdf3c16b74e282812aede8133231f0778" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0c3a0d2f6b87b30ec81565f13e420b1a13506a18c0f35bdf7dedb7457048668d", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismMintableERC20Factory - Mainnet", "address": "0x05cc379ebd9b30bba19c6fa282ab29218ec61d84", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "L1StandardBridge - Mainnet", "address": "0x3154cf16ccdb4c6d922629664174b904d80f2c35", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] }, { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000e3803582fd5bcdc62720d2b80f35e8ddea94e2ec", "after": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "description": "Updates the PermissionedDisputeGame implementation address.", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000e4066890367bf8a51d58377431808083a01b1e0c", "after": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "description": "Updates the FaultDisputeGame implementation address.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "L1ERC721Bridge - Mainnet", "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update the address of L1ERC721Bridge to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update the address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x088936d204307ac91dc1c10a430dacfad7ffd437ee4092c6acd934ce7cc5e2a2", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets the approval hash for this U17 upgrade transaction.", "allowDifference": false } ] }, { "name": "AddressManager - Mainnet", "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000006f", "after": "0x0000000000000000000000000000000000000000000000000000000000000070", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x0c3a0d2f6b87b30ec81565f13e420b1a13506a18c0f35bdf7dedb7457048668d", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Sets an approval for this transaction", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deps deps: forge install --no-git github.com/base/bridge@042f653868a85f6a25ed6b08494f3fa558d18976 .PHONY: deploy deploy: forge script DeployBridge --rpc-url $(L2_RPC_URL) --sender $(SENDER) -vvvv ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/README.md ================================================ # Base Bridge Deployment Deploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`. ## Deployment Steps 1. Install dependencies ```bash cd mainnet/2025-11-25-base-bridge-deployment make deps ``` 2. Deploy bridge ```bash make deploy ``` ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/addresses.json ================================================ { "Bridge": "0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188", "BridgeValidator": "0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B", "CrossChainERC20Factory": "0xDD56781d0509650f8C2981231B6C917f2d5d7dF2", "Twin": "0xb326c02150bb0De265Bb0eCeDA53531ab0163bf6", "RelayerOrchestrator": "0x8Cfa6F29930E6310B6074baB0052c14a709B4741", "WrappedSol": "0x311935Cd80B76769bF2ecC9D8Ab7635b2139cf82" } ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/config.json ================================================ { "salt": "0x928e88ac3b7e376abdda9d42289e3e39d878c78869402e3dc1fb002aaa0cc852", "initialOwner": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "partnerValidators": "0x50Ea62F44f44C17d48390cc9fd235dac8E5e127a", "baseValidators": [ "0xa0f80e237be74a580ccaed06236075c17f1fec69", "0xe018748703F74b806399dd1ECe608453578DDE79" ], "baseSignatureThreshold": 2, "partnerValidatorThreshold": 3, "remoteBridge": "0xf32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36", "guardians": ["0x14536667Cd30e52C0b458BaACcB9faDA7046E056"] } ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/records/DeployBridge.s.sol/8453/run-1764164771386.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CREATE", "contractName": "Twin", "contractAddress": "0xb0887e4793d944cf7ba674b3b3fa5c15900ddaa7", "function": null, "arguments": [ "0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x8c894", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188", "nonce": "0x0", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0xb326c02150bb0de265bb0eceda53531ab0163bf6", "function": null, "arguments": [ "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221", "0xb0887e4793d944Cf7bA674B3b3FA5C15900ddaA7" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x4c1bf", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c0033000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000b0887e4793d944cf7ba674b3b3fa5c15900ddaa7", "nonce": "0x1", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "CrossChainERC20", "contractAddress": "0x0c39c78dc31082187d8d7de9937ba46ddba3c043", "function": null, "arguments": [ "0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x1461c7", "value": "0x0", "input": "0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188", "nonce": "0x2", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0xddc41fda4b758728d07f4686dbe7d1c75c6b2552", "function": null, "arguments": [ "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221", "0x0c39C78Dc31082187D8D7de9937bA46Ddba3c043" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x4c1bf", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c0033000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000c39c78dc31082187d8d7de9937ba46ddba3c043", "nonce": "0x3", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "CrossChainERC20Factory", "contractAddress": "0x92fc5119dc6a68ed161affbe59792aa04d8c375c", "function": null, "arguments": [ "0xdDc41fdA4B758728d07F4686DbE7D1C75C6b2552" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x86c84", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220dcc5880b059d73eb3e4cc850a3a4926df6c02bf823af00be698b4e8dd28eceef64736f6c634300081c0033000000000000000000000000ddc41fda4b758728d07f4686dbe7d1c75c6b2552", "nonce": "0x4", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0x92Fc5119dC6a68eD161AFfBe59792AA04d8C375c", "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c6100000000000000000000000092fc5119dc6a68ed161affbe59792aa04d8c375c000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221", "nonce": "0x5", "chainId": "0x2105" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0xdd56781d0509650f8c2981231b6c917f2d5d7df2", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "BridgeValidator", "contractAddress": "0x8bb6c703e6928fc1a15132459c1ed3ade9214b8a", "function": null, "arguments": [ "0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188", "0x50Ea62F44f44C17d48390cc9fd235dac8E5e127a" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x18317c", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220b30cdd705bb72b440a45f3a057d9cda32db0d13f5be5164d96e51c1ca680276a64736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d518800000000000000000000000050ea62f44f44c17d48390cc9fd235dac8e5e127a", "nonce": "0x6", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployAndCall(address,address,bytes)", "arguments": [ "0x8bb6C703e6928fc1A15132459C1eD3AdE9214b8a", "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221", "0x567942cf0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0f80e237be74a580ccaed06236075c17f1fec69000000000000000000000000e018748703f74b806399dd1ece608453578dde79" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x526a3", "value": "0x0", "input": "0x4314f1200000000000000000000000008bb6c703e6928fc1a15132459c1ed3ade9214b8a000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0f80e237be74a580ccaed06236075c17f1fec69000000000000000000000000e018748703f74b806399dd1ece608453578dde7900000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x2105" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0xaf24c1c24ff3bf1e6d882518120fc25442d6794b", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "Bridge", "contractAddress": "0x9b937e776cb00ce79036e58ff1de777df8ebde48", "function": null, "arguments": [ "0xf32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36", "0xb326c02150bb0De265Bb0eCeDA53531ab0163bf6", "0xDD56781d0509650f8C2981231B6C917f2d5d7dF2", "0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x537b92", "value": "0x0", "input": "0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122088ad600394cf9d7c9837047571f38f80f5359ad35d1be505d5a2f867c029c9d564736f6c634300081c0033f32983e871bc87d15a994f95f5f5054d98498c80cf09b3bafa91cb9507143b36000000000000000000000000b326c02150bb0de265bb0eceda53531ab0163bf6000000000000000000000000dd56781d0509650f8c2981231b6c917f2d5d7df2000000000000000000000000af24c1c24ff3bf1e6d882518120fc25442d6794b", "nonce": "0x8", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployDeterministicAndCall(address,address,bytes32,bytes)", "arguments": [ "0x9b937e776cb00cE79036e58ff1dE777df8Ebde48", "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221", "0xfb42764d7038afa33c19f362b7b6d13226891e605f52f9d10b3ac16cf834219d", "0x946d9204000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4829d", "value": "0x0", "input": "0xa97b90d50000000000000000000000009b937e776cb00ce79036e58ff1de777df8ebde48000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221fb42764d7038afa33c19f362b7b6d13226891e605f52f9d10b3ac16cf834219d00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d9204000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b2210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000025646667cd30e52c0b458baaccb9fada7046f16700000000000000000000000000000000000000000000000000000000", "nonce": "0x9", "chainId": "0x2105" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x3eff766c76a1be2ce1acf2b69c78bcae257d5188", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CREATE", "contractName": "RelayerOrchestrator", "contractAddress": "0x38964d1b7cdd2795d0c2a5c2028e985a0be8f730", "function": null, "arguments": [ "0x3eff766C76a1be2Ce1aCF2B69c78bCae257D5188", "0xAF24c1c24Ff3BF1e6D882518120fC25442d6794B" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "gas": "0x7af17", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea2646970667358221220ccfc29e8ff1c25bde6b5d812b17e2141a7319f8fe21733681f33c59c27f7733564736f6c634300081c00330000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000af24c1c24ff3bf1e6d882518120fc25442d6794b", "nonce": "0xa", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0x38964d1B7CdD2795D0C2A5c2028e985a0BE8f730", "0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221" ], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c6100000000000000000000000038964d1b7cdd2795d0c2a5c2028e985a0be8f730000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221", "nonce": "0xb", "chainId": "0x2105" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x8cfa6f29930e6310b6074bab0052c14a709b4741", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0xdd56781d0509650f8c2981231b6c917f2d5d7df2", "function": "deploySolWrapper()", "arguments": [], "transaction": { "from": "0xfb42764d7038afa33c19f362b7b6d13226891e60", "to": "0xdd56781d0509650f8c2981231b6c917f2d5d7df2", "gas": "0x52327", "value": "0x0", "input": "0xad831c1a", "nonce": "0xc", "chainId": "0x2105" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x311935cd80b76769bf2ecc9d8ab7635b2139cf82", "initCode": "0x60523d8160223d3973ddc41fda4b758728d07f4686dbe7d1c75c6b255260195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764164771386, "chain": 8453, "commit": "497fe01" } ================================================ FILE: mainnet/2025-11-25-base-bridge-deployment/script/DeployBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {LibString} from "solady/utils/LibString.sol"; import {UpgradeableBeacon} from "@solady/utils/UpgradeableBeacon.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Pubkey} from "bridge/libraries/SVMLib.sol"; import {RelayerOrchestrator} from "bridge/periphery/RelayerOrchestrator.sol"; import {Bridge} from "bridge/Bridge.sol"; import {BridgeValidator} from "bridge/BridgeValidator.sol"; import {CrossChainERC20} from "bridge/CrossChainERC20.sol"; import {CrossChainERC20Factory} from "bridge/CrossChainERC20Factory.sol"; import {TokenLib} from "bridge/libraries/TokenLib.sol"; import {Twin} from "bridge/Twin.sol"; struct Cfg { bytes32 salt; address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint128 baseSignatureThreshold; uint256 partnerValidatorThreshold; Pubkey remoteBridge; address[] guardians; } contract DeployBridge is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.salt = _readBytes32FromConfig("salt"); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); cfg.partnerValidators = _readAddressFromConfig("partnerValidators"); cfg.baseValidators = _readAddressArrayFromConfig("baseValidators"); cfg.baseSignatureThreshold = uint128(_readUintFromConfig("baseSignatureThreshold")); cfg.partnerValidatorThreshold = _readUintFromConfig("partnerValidatorThreshold"); cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig("remoteBridge")); cfg.guardians = _readAddressArrayFromConfig("guardians"); require(cfg.guardians.length == 1, "invalid guardians length"); cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias(); } function run() public { address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt()); vm.startBroadcast(); address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress}); address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress}); address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress}); address bridge = _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator}); address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}); address sol = CrossChainERC20Factory(factory).deploySolWrapper(); vm.stopBroadcast(); require(address(bridge) == precomputedBridgeAddress, "Bridge address mismatch"); _serializeAddress({key: "Bridge", value: bridge}); _serializeAddress({key: "BridgeValidator", value: bridgeValidator}); _serializeAddress({key: "CrossChainERC20Factory", value: factory}); _serializeAddress({key: "Twin", value: twinBeacon}); _serializeAddress({key: "RelayerOrchestrator", value: relayerOrchestrator}); _serializeAddress({key: "WrappedSol", value: sol}); _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol); } function _postCheck( address twinBeacon, address factory, address bridgeValidator, address bridge, address relayerOrchestrator, address sol ) private view { // Twin Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation())); require(twinImpl.BRIDGE() == bridge, "PC01: incorrect bridge address in twin impl"); // Factory UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON()); CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation()); require(tokenImpl.bridge() == bridge, "PC02: incorrect bridge address in token impl"); // BridgeValidator require( BridgeValidator(bridgeValidator).BRIDGE() == bridge, "PC03: incorrect bridge address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators, "PC04: incorrect partnerValidators address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold, "PC05: incorrect partner validator threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold, "PC06: incorrect Base threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length, "PC07: incorrect registered base validator count" ); for (uint256 i; i < cfg.baseValidators.length; i++) { require( BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]), "PC08: base validator not registered" ); } // Bridge require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, "PC09: incorrect remote bridge in Bridge contract"); require(Bridge(bridge).TWIN_BEACON() == twinBeacon, "PC10: incorrect twin beacon in Bridge contract"); require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, "PC11: incorrect factory in Bridge contract"); require( Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, "PC12: incorrect bridge validator in Bridge contract" ); require(Bridge(bridge).owner() == cfg.initialOwner, "PC13: incorrect Bridge owner"); for (uint256 i; i < cfg.guardians.length; i++) { require( Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(), "PC14: guardian missing perms" ); } // RelayerOrchestrator require( RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, "PC15: incorrect bridge in RelayerOrchestrator" ); require( RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator, "PC16: incorrect bridge validator in RelayerOrchestrator" ); // SOL require(CrossChainERC20(sol).bridge() == bridge, "PC17: incorrect bridge in SOL contract"); require(LibString.eq(CrossChainERC20(sol).name(), "Solana"), "PC18: incorrect SOL name"); require(LibString.eq(CrossChainERC20(sol).symbol(), "SOL"), "PC19: incorrect SOL symbol"); require( CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY), "PC20: incorrect SOL remote token" ); require(CrossChainERC20(sol).decimals() == 9, "PC21: incorrect SOL decimals"); } function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) { address twinImpl = address(new Twin(precomputedBridgeAddress)); return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl})); } function _deployFactory(address precomputedBridgeAddress) private returns (address) { address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress)); address erc20Beacon = address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl})); address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon)); return ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner}); } function _deployBridgeValidator(address bridge) private returns (address) { address bridgeValidatorImpl = address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators})); return ERC1967Factory(cfg.erc1967Factory) .deployAndCall({ implementation: bridgeValidatorImpl, admin: cfg.initialOwner, data: abi.encodeCall( BridgeValidator.initialize, (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold) ) }); } function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator) private returns (address) { Bridge bridgeImpl = new Bridge({ remoteBridge: cfg.remoteBridge, twinBeacon: twinBeacon, crossChainErc20Factory: crossChainErc20Factory, bridgeValidator: bridgeValidator }); return ERC1967Factory(cfg.erc1967Factory) .deployDeterministicAndCall({ implementation: address(bridgeImpl), admin: cfg.initialOwner, salt: _salt(), data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians)) }); } function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) { address relayerOrchestratorImpl = address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator})); return ERC1967Factory(cfg.erc1967Factory) .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "addresses.json", valueKey: string.concat(".", key) }); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) { return vm.parseJsonAddressArray({json: cfgData, key: string.concat(".", key)}); } function _readUintFromConfig(string memory key) private view returns (uint256) { return vm.parseJsonUint({json: cfgData, key: string.concat(".", key)}); } function _readBytes32FromConfig(string memory key) private view returns (bytes32) { return vm.parseJsonBytes32({json: cfgData, key: string.concat(".", key)}); } function _salt() private view returns (bytes32) { bytes12 s = bytes12(keccak256(abi.encode(cfg.salt))); return bytes32(abi.encodePacked(msg.sender, s)); } } ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/FACILITATORS.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-12-01-pause-bridge-base make deps ``` ### 2. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ### 3. (When ready) Execute un-pause ```bash SIGNATURES=AAABBBCCC make execute-unpause ``` ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif SAFE_NONCE=95 SENDER=0x1841CB3C2ce6870D0417844C817849da64E6e937 SCRIPT_NAME=PauseBridge .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'IS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: sign-pause sign-pause: @for i in $$(seq 0 19); do \ nonce=$$(($(SAFE_NONCE) + $$i)); \ echo "Signing with nonce $$nonce"; \ IS_PAUSED=true SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER); \ done .PHONY: sign-unpause sign-unpause: @for i in $$(seq 0 19); do \ nonce=$$(($(SAFE_NONCE) + $$i)); \ echo "Signing with nonce $$nonce"; \ IS_PAUSED=false SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER); \ done # Execute .PHONY: execute-pause execute-pause: IS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute-unpause execute-unpause: IS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: check-status check-status: cast call $(L2_BRIDGE) "paused()" --rpc-url $(L2_RPC_URL) ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/README.md ================================================ # Pause Base Bridge Status: STANDBY ## Description Pauses the Base side of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-12-01-pause-bridge-base make deps ``` ### 2. Sign pause transactions ```bash make sign-pause ``` ### 3. Sign unpause transactions ```bash make sign-unpause ``` ### 4. Send all signatures to facilitator ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/records/PauseBridge.s.sol/1/run-1764695666667.json ================================================ { "transactions": [ { "hash": "0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb91b785179332ced31d3ee4ad61c77281b8f4c4c375de97c78f3b4515c851afa31739cb0aa6d3471506d2e289cb5112486cfae8397a785232cda144c5b9e41d61c7e0b4c728440a8a10fe44a6ad12dcac247783bfd278dc08f4312d24e17914c0c6e4eca6e20ea1fbfbbd3cc4053d6821a5eac1accf981580a83ca87de210117e11bc6addcd6d928912a98cb988d06193310b1ce53892e33c6f3a2645ba8b43ade716755501f4666bb45fe9d1b9166b28072ebee2197830af1522ba9343246da98691b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x3cf76", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b91b785179332ced31d3ee4ad61c77281b8f4c4c375de97c78f3b4515c851afa31739cb0aa6d3471506d2e289cb5112486cfae8397a785232cda144c5b9e41d61c7e0b4c728440a8a10fe44a6ad12dcac247783bfd278dc08f4312d24e17914c0c6e4eca6e20ea1fbfbbd3cc4053d6821a5eac1accf981580a83ca87de210117e11bc6addcd6d928912a98cb988d06193310b1ce53892e33c6f3a2645ba8b43ade716755501f4666bb45fe9d1b9166b28072ebee2197830af1522ba9343246da98691b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3a", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x22f4d2d", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x0000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", "blockHash": "0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5", "blockNumber": "0x16d199e", "blockTimestamp": "0x692f1e6f", "transactionHash": "0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff", "transactionIndex": "0x125", "logIndex": "0x2ea", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9a10c9b7caf09776eecb7d70a3b8b231881bf708a256f80f8983f37244b0673e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5", "blockNumber": "0x16d199e", "blockTimestamp": "0x692f1e6f", "transactionHash": "0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff", "transactionIndex": "0x125", "logIndex": "0x2eb", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000042000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000c0000000000000000000000000000000c00000000040000000000000004000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0xae59027253a2e98e1c1914f1da442ea5ba3e2b9ce99d2da16d5ae294f65e19ff", "transactionIndex": "0x125", "blockHash": "0x5a4bcd1d3c8402a86df5b0038ae565f040f7ad1d009184902711f6bcaa3201a5", "blockNumber": "0x16d199e", "gasUsed": "0x2c238", "effectiveGasPrice": "0x68cd70b", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764695666667, "chain": 1, "commit": "d46b786" } ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/records/PauseBridge.s.sol/1/run-1764696374577.json ================================================ { "transactions": [ { "hash": "0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3b4da0f4c7c9baebbdc253d61f198bb3e71652ce51579e3b17cfa2bb3af2506e45025fcf3ed2661f32d06851ae52c9cfe06e286cf79ddaff31f0855c68694ea41cdac3521ca04f238c9992a951986e9143ae3b84e1f75a9844d3f31ab2d811b3370d8b7e9ded0fdb6175fd45d0dfe3b36cb5f5fce48088e90a19d3ba8fe59484731ceb69fbe1ece6d55599186f0dad18d5fd042260fbab94c0cb3f6a5a42688a05d848892e7476f0097470e0698ca8414bacf42731303e7c5772ca7652f27d37b8731c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x3cf65", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c420000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33b4da0f4c7c9baebbdc253d61f198bb3e71652ce51579e3b17cfa2bb3af2506e45025fcf3ed2661f32d06851ae52c9cfe06e286cf79ddaff31f0855c68694ea41cdac3521ca04f238c9992a951986e9143ae3b84e1f75a9844d3f31ab2d811b3370d8b7e9ded0fdb6175fd45d0dfe3b36cb5f5fce48088e90a19d3ba8fe59484731ceb69fbe1ece6d55599186f0dad18d5fd042260fbab94c0cb3f6a5a42688a05d848892e7476f0097470e0698ca8414bacf42731303e7c5772ca7652f27d37b8731c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3b", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x166820d", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x00000000000000000000000025646667cd30e52c0b458baaccb9fada7046f167", "0x0000000000000000000000003eff766c76a1be2ce1acf2b69c78bcae257d5188", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8", "blockNumber": "0x16d19d6", "blockTimestamp": "0x692f2133", "transactionHash": "0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518", "transactionIndex": "0x71", "logIndex": "0x24e", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x65ca344d52d4af93f24cb71a0ce9bce68cf94963c26abb4fc4f8f39d596004ad0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8", "blockNumber": "0x16d19d6", "blockTimestamp": "0x692f2133", "transactionHash": "0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518", "transactionIndex": "0x71", "logIndex": "0x24f", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000042000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000c0000000000000000000000000000000c00000000040000000000000004000200000000000000000000000000020000000000020000a0000000000000000000000", "type": "0x2", "transactionHash": "0x1a2e045e7be8cb58345a03ca7671cb9529cf5d49e179c5598eb23c80aef59518", "transactionIndex": "0x71", "blockHash": "0x37785ecc1bf2ddeb8a3846de23f54d7353ff9e71c536ec9f5d85e63dab4525f8", "blockNumber": "0x16d19d6", "gasUsed": "0x2c22c", "effectiveGasPrice": "0x9afbeb2", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764696374577, "chain": 1, "commit": "d46b786" } ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/script/PauseBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IBridge { function setPaused(bool) external; } contract PauseBridge is MultisigScript { address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE = vm.envAddress("L2_BRIDGE"); bool public immutable IS_PAUSED = vm.envBool("IS_PAUSED"); function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = L2_BRIDGE; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED)); calls[0] = IMulticall3.Call3Value({ target: L1_PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-12-01-pause-bridge-base/validations/base-signer.json ================================================ { "cmd": "IS_PAUSED=true forge script --rpc-url https://eth-mainnet.public.blastapi.io PauseBridge --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xcb147d76ed14786f3a82b4f52f3329bf9bc23ded4430c399bcbad6857a3a8a1c" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x2989d9b0c1284938ecda89fca15f6181653692d96841174191b7f49db5642815", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000005f", "after": "0x0000000000000000000000000000000000000000000000000000000000000060", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x00000000016cfd24000000000000ea600000000000000000000000003b9aca00", "after": "0x00000000016cfd2c00000000000186a00000000000000000000000003b9aca00", "description": "Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).", "allowDifference": true } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/FACILITATORS.md ================================================ #### Execute the transaction ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-12-04-set-jovian-parameters make deps ``` ### 2. Execute 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Execute the transaction: ```bash SIGNATURES=AAAABBBBCCCC make execute ``` ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif SCRIPT_NAME = SetJovianParametersScript RPC_URL = $(L1_RPC_URL) .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/README.md ================================================ # Set Jovian Parameters on Base Mainnet Status: [EXECUTED](https://etherscan.io/tx/0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1) ## Description This task sets the Jovian hardfork parameters on Base Mainnet's SystemConfig contract. The parameters being set are: - `setDAFootprintGasScalar(312)` - Sets the data availability footprint gas scalar - `setMinBaseFee(200000)` - Sets the minimum base fee These parameters activate with the Jovian hardfork and affect data availability fee calculations and base fee management on the L2. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/records/SetJovianParameters.s.sol/1/run-1764871622342.json ================================================ { "transactions": [ { "hash": "0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xe0155f2268f42c924646b4a036c1b59ea4d7fea136cb58de8105a2c45420e90808708c79fdca71ae9dd6dfa4f052a8c4dbb8e8cc0df88f92251beed33e1276d51b2c1bcf6cdeccc05ec80da958596b3f8339673bcb4cfd9b4c9d85e15dabf0064210852325f87b7381049416e3e192ee02499628d79e858bc3ffd031f3bafc04dd1c2307202a5e55b69d347fdf8215ceef68f5d7cc3cdec6b8500b9033029ecdbe9a003cad498703498a0b8cd0a11293dcc7615e83468898bfc6289df5ec690263481c" ], "transaction": { "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x21aa3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e0155f2268f42c924646b4a036c1b59ea4d7fea136cb58de8105a2c45420e90808708c79fdca71ae9dd6dfa4f052a8c4dbb8e8cc0df88f92251beed33e1276d51b2c1bcf6cdeccc05ec80da958596b3f8339673bcb4cfd9b4c9d85e15dabf0064210852325f87b7381049416e3e192ee02499628d79e858bc3ffd031f3bafc04dd1c2307202a5e55b69d347fdf8215ceef68f5d7cc3cdec6b8500b9033029ecdbe9a003cad498703498a0b8cd0a11293dcc7615e83468898bfc6289df5ec690263481c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x132087c", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000138", "blockHash": "0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889", "blockNumber": "0x16d50d8", "blockTimestamp": "0x6931cdc3", "transactionHash": "0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1", "transactionIndex": "0xb4", "logIndex": "0x23b", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000030d40", "blockHash": "0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889", "blockNumber": "0x16d50d8", "blockTimestamp": "0x6931cdc3", "transactionHash": "0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1", "transactionIndex": "0xb4", "logIndex": "0x23c", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb62abcc8ecd6d693a7cabe02dc3e0ff3e6e44ea6320b30d951b7f38082e48dd10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889", "blockNumber": "0x16d50d8", "blockTimestamp": "0x6931cdc3", "transactionHash": "0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1", "transactionIndex": "0xb4", "logIndex": "0x23d", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000100000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x664cd26ba172aa2613704beeec6f8333b09bceecd8aa4fa24e48d8f3b14bcff1", "transactionIndex": "0xb4", "blockHash": "0x145195cbb145e962a9ec4143f50d237e5164243911dc7f2f50574b7bd6a89889", "blockNumber": "0x16d50d8", "gasUsed": "0x185f7", "effectiveGasPrice": "0x32f94e5", "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764871622342, "chain": 1, "commit": "eca2f14" } ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/script/SetJovianParameters.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {console} from "forge-std/console.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function daFootprintGasScalar() external view returns (uint16); function minBaseFee() external view returns (uint64); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; function setMinBaseFee(uint64 _minBaseFee) external; } contract SetJovianParametersScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint64 internal immutable MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("DA_FOOTPRINT_GAS_SCALAR")); MIN_BASE_FEE = uint64(vm.envUint("MIN_BASE_FEE")); } function setUp() external view { // Log current values for reference console.log("Current DA Footprint Gas Scalar:", ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()); console.log("Current Min Base Fee:", ISystemConfig(SYSTEM_CONFIG).minBaseFee()); console.log("New DA Footprint Gas Scalar:", DA_FOOTPRINT_GAS_SCALAR); console.log("New Min Base Fee:", MIN_BASE_FEE); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, "Min Base Fee mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-12-04-set-jovian-parameters/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io SetJovianParametersScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xabbc13082dc0c978a0d67092bf4da43670451de5604d69434dc7f7ab594785b5" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xc3011018e301845703e8f147902e20fa435a206bf02aa8a392467aa139cf4049", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000061", "after": "0x0000000000000000000000000000000000000000000000000000000000000062", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000500000032", "after": "0x0000000000000000000001380000000000000000000000000000000500000032", "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x00000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x000000000000000000030d4095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Sets the Min Base Fee to 200000 (0x030d40)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-12-08-increase-gas-and-elasticity-limit make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: mkdir validations; \ cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \ OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \ OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \ NEW_ELASTICITY=$(TO_ELASTICITY) \ OLD_ELASTICITY=$(FROM_ELASTICITY) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \ NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \ NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \ OLD_ELASTICITY=$(TO_ELASTICITY) \ NEW_ELASTICITY=$(FROM_ELASTICITY) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/README.md ================================================ # Update Gas Limit, Elasticity & DA Footprint Gas Scalar in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232) ## Executed Transactions - [Elasticity and Gas Limit Increase](https://etherscan.io/tx/0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1766084929.json)) ## Description We are updating the gas limit, elasticity, and DA footprint gas scalar to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of 187.5 Mgas/s, 6 elasticity, and 325 DA footprint gas scalar if invoked as part of the "upgrade" process, or revert to the old limit of 150 Mgas/s, 5 elasticity, and 312 DA footprint gas scalar if invoked as part of the "rollback" process. ### DA Footprint Gas Scalar Formula We typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula: ``` da_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio) ``` Where: - `gas_limit` = L2 gas limit per block - `elasticity` = EIP-1559 elasticity multiplier - `l2_block_time` = 2 seconds - `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block` - `target_blob_count` = target number of blobs per L1 block - `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage This simplifies to: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) ``` Example with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6: ``` da_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312 ``` The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] > > We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signatures to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1766084929.json ================================================ { "transactions": [ { "hash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000024000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc00000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000014500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xbb43f7096ed7d920a55d425721414ba0be82f66407c863f07d857d52e32acaca771b11cc536c3bbbd44f2c16fe77ba145ebb902a9da58e2be4223d9546c65cbc1c3882f877b0a468689dfddfb9aa6b68695d1ed48ab799047969ea3679fd6f98d4077b883e21b11b687aa1ae76295783fa5c11b66ec67284c8f17276d81944d1981cc92e0e82294b84905975e19435cff46b64342985a44f3924a363ea63852cc5ed7f93936e637979932c93053ae319f072cfc1f407419f69732b60cc8b3bbcf12b1b" ], "transaction": { "from": "0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x24e9b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000364174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000024000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc00000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000145000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bb43f7096ed7d920a55d425721414ba0be82f66407c863f07d857d52e32acaca771b11cc536c3bbbd44f2c16fe77ba145ebb902a9da58e2be4223d9546c65cbc1c3882f877b0a468689dfddfb9aa6b68695d1ed48ab799047969ea3679fd6f98d4077b883e21b11b687aa1ae76295783fa5c11b66ec67284c8f17276d81944d1981cc92e0e82294b84905975e19435cff46b64342985a44f3924a363ea63852cc5ed7f93936e637979932c93053ae319f072cfc1f407419f69732b60cc8b3bbcf12b1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x17bb93c", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000006", "blockHash": "0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60", "blockNumber": "0x16ed807", "blockTimestamp": "0x6944513f", "transactionHash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionIndex": "0xf7", "logIndex": "0x2d7", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0", "blockHash": "0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60", "blockNumber": "0x16ed807", "blockTimestamp": "0x6944513f", "transactionHash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionIndex": "0xf7", "logIndex": "0x2d8", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000145", "blockHash": "0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60", "blockNumber": "0x16ed807", "blockTimestamp": "0x6944513f", "transactionHash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionIndex": "0xf7", "logIndex": "0x2d9", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xdcc82c4b66a94c6576fc1224c4425aacdf1bdafd61c82888642d79ecb7a362480000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60", "blockNumber": "0x16ed807", "blockTimestamp": "0x6944513f", "transactionHash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionIndex": "0xf7", "logIndex": "0x2da", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000100000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x1fd203ec603c389111e1b1f567265f770f551fc911fc991b833c8313509bd232", "transactionIndex": "0xf7", "blockHash": "0x717177280efc2a704314533fb3008244e0fa009e0a21952de36178da498e4a60", "blockNumber": "0x16ed807", "gasUsed": "0x1ab97", "effectiveGasPrice": "0x2fbfd2f", "from": "0xb37b2d42cb0c10ebf96279cceca2cbfc47c6f236", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1766084929, "chain": 1, "commit": "f3b7c65" } ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable DENOMINATOR; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("OLD_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("OLD_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("OLD_DA_FOOTPRINT_GAS_SCALAR")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if ( GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit() || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity() || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar() ) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). // Prepare two storage overrides for SystemConfig Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT bytes32 gasConfigSlotKey = bytes32(uint256(0x68)); uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey)); uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT); storageOverrides[0] = Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)}); // Deterministically set EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a) bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR); storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](3); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); calls[2] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_GAS_LIMIT=375000000 NEW_GAS_LIMIT=300000000 OLD_ELASTICITY=6 NEW_ELASTICITY=5 OLD_DA_FOOTPRINT_GAS_SCALAR=325 NEW_DA_FOOTPRINT_GAS_SCALAR=312 SAFE_NONCE=99 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xfa00f69616f87d19da0a81f1fd29e23bfc16e3fc3571e34792257efa5a6c462d" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000063", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xebccac397e1530b5d281cfc92a0c3b0accd4a8cba14d0b71168a56045516b8ad", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "value": "0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0", "description": "Overrides gas limit to 375M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x0000000000000000000001450000000000000000000000000000000600000032", "description": "Overrides elasticity to 6 and DA Footprint Gas Scalar to 312 for the chain", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000063", "after": "0x0000000000000000000000000000000000000000000000000000000000000064", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0", "after": "0x0000000000000000000000000000000000101c12000008dd0000000011e1a300", "description": "Updates gas limit from 375M to 300M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000001450000000000000000000000000000000600000032", "after": "0x0000000000000000000001380000000000000000000000000000000500000032", "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138) and elasticity to 5", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-12-08-increase-gas-and-elasticity-limit/validations/base-signer.json ================================================ { "cmd": "NEW_GAS_LIMIT=375000000 OLD_GAS_LIMIT=300000000 NEW_ELASTICITY=6 OLD_ELASTICITY=5 NEW_DA_FOOTPRINT_GAS_SCALAR=325 OLD_DA_FOOTPRINT_GAS_SCALAR=312 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x078904e595c692904bcd7d168bc2e3af2ab6b46fd1b04de80a0cbe229b556546" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x8eeabbb23f3bfdfab569e1cc3dd5173b8c9cd64a5281121a09af7528f936f603", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000062", "after": "0x0000000000000000000000000000000000000000000000000000000000000063", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd0000000011e1a300", "after": "0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0", "description": "Updates gas limit from 300M to 375M for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000001380000000000000000000000000000000500000032", "after": "0x0000000000000000000001450000000000000000000000000000000600000032", "description": "Sets the DA Footprint Gas Scalar to 325 (0x0145) and elasticity to 6", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ## Execution Order This task is configured to execute after the gas/elasticity task (nonce 99). The gas/elasticity task must be executed first (nonce 98). ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2025-12-15-increase-min-base-fee make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif # Gas/elasticity task executes first at nonce 98, so this task uses nonce 99. SAFE_NONCE=99 RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseMinBaseFeeScript .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd '$(if $(SAFE_NONCE),SAFE_NONCE=$(SAFE_NONCE) )forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/README.md ================================================ # Increase Min Base Fee in `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7) ## Description This task increases the `minBaseFee` parameter in SystemConfig from 200,000 wei to 500,000 wei (a 2.5x increase). ## Parameters | Parameter | From | To | |-----------|------|-----| | minBaseFee | 200,000 wei | 500,000 wei | ## Signing Instructions ### 1. Update repo ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool From the project root (not the task directory): ```bash make sign-task ``` ### 3. Open the UI Open [http://localhost:3000](http://localhost:3000) and select this task from the list. ### 4. Send signature to facilitator Copy the resulting signature and send it to the facilitator. You may kill the Signer Tool process with `Ctrl + C`. ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/records/IncreaseMinBaseFee.s.sol/1/run-1766085218628.json ================================================ { "transactions": [ { "hash": "0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e8000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0b7159505a444ac9a6b98cc7787f13875f3a9d715e10ba54d31d935af8afcdec12aad99997bacaebda732b9f306ec8f218a4c2381cfe5abf3a12f5831d1d868d1b4fe7f59aae6aff07b17316f5c269fe7b0e6cf8e1bc83207a8135418e855bbc0b2b7a759dd1baf2bf7f7e295a36c3ad983e6074d08c24247508772becce6d1ac91b795dd361911d309c333b24521bd8cfcea52c6d70025e957d2cd311caebcfd2d6101b9b60e7a29f0c6fa05af0aa5ba9d33abff5894e57b49c92e9aa08a42a931c1c" ], "transaction": { "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1f7e1", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e8000000000000000000000000000000000000000000000000000000000007a120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30b7159505a444ac9a6b98cc7787f13875f3a9d715e10ba54d31d935af8afcdec12aad99997bacaebda732b9f306ec8f218a4c2381cfe5abf3a12f5831d1d868d1b4fe7f59aae6aff07b17316f5c269fe7b0e6cf8e1bc83207a8135418e855bbc0b2b7a759dd1baf2bf7f7e295a36c3ad983e6074d08c24247508772becce6d1ac91b795dd361911d309c333b24521bd8cfcea52c6d70025e957d2cd311caebcfd2d6101b9b60e7a29f0c6fa05af0aa5ba9d33abff5894e57b49c92e9aa08a42a931c1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1da9496", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000007a120", "blockHash": "0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd", "blockNumber": "0x16ed81f", "blockTimestamp": "0x6944525f", "transactionHash": "0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7", "transactionIndex": "0x17b", "logIndex": "0x2ec", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1477313eb3722236d8a960c1fdc96f05cbb5ee81ac32b708c4433a729880183b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd", "blockNumber": "0x16ed81f", "blockTimestamp": "0x6944525f", "transactionHash": "0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7", "transactionIndex": "0x17b", "logIndex": "0x2ed", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x6193607cb37034263927a9d2f55937b9a43588ef7757ba00bb4d43813ee4f1b7", "transactionIndex": "0x17b", "blockHash": "0xace94682146b25f083fa64bb3a840fd8ea99967609a05b8ee16689b985d4aadd", "blockNumber": "0x16ed81f", "gasUsed": "0x15889", "effectiveGasPrice": "0x248c1f6", "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1766085218628, "chain": 1, "commit": "f3b7c65" } ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/script/IncreaseMinBaseFee.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; } contract IncreaseMinBaseFeeScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); MIN_BASE_FEE = uint64(vm.envUint("MIN_BASE_FEE")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, "Min Base Fee mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2025-12-15-increase-min-base-fee/validations/base-signer.json ================================================ { "cmd": "SAFE_NONCE=99 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x69169e24dce98a2f6ea6f76236a0f24cbe5b07c25a53d07980f5292ac6858cf9" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000063", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x0b081d4ccb3a4a82db3bad6da2cd99be08a28338996e16517b9a4a1e01578e9c", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000063", "after": "0x0000000000000000000000000000000000000000000000000000000000000064", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x000000000000000000030d4095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates minBaseFee from 200000 wei (0x030d40) to 500000 wei (0x07a120)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/FACILITATORS.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-01-09-op-stack-upgrade-18 make deps ``` 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = ExecuteOPCMScript .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/coinbase-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" \ --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/README.md ================================================ # OP Stack Upgrade 18 Status: [EXECUTED](https://etherscan.io/tx/0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b) ## Transactions - Base-Nested Council Approval: [`0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9`](https://etherscan.io/tx/0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9) (artefacts: [run-1770741422696.json](./records/ExecuteOPCM.s.sol/1/run-1770741422696.json)) - Base-Nested Operations Approval: [`0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3`](https://etherscan.io/tx/0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3) (artefacts: [run-1770741733158.json](./records/ExecuteOPCM.s.sol/1/run-1770741733158.json)) - Base-Nested Approval: [`0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0`](https://etherscan.io/tx/0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0) (artefacts: [run-1770742081453.json](./records/ExecuteOPCM.s.sol/1/run-1770742081453.json)) - Unnested Optimism Foundation Operations Approval: [`0xe1be61b9fa98f63672847b0c86a988665b6a33ffaadfece6e7becf435a556a26`](https://etherscan.io/tx/0xe1be61b9fa98f63672847b0c86a988665b6a33ffaadfece6e7becf435a556a26) - Execution Transaction: [`0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b`](https://etherscan.io/tx/0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b) (artefacts: [run-1770742201070.json](./records/ExecuteOPCM.s.sol/1/run-1770742201070.json)) ## Description Upgrade 18 is a proposed network upgrade for OP Stack chains, which introduces **cannon+kona fault proof support** (including an optional switch to Kona proofs as the respected game type) and introduces **Custom Gas Token v2 (CGT v2)** for chains that want to use a non-ETH native fee currency. Upgrade 18 is purely a smart contract upgrade. There are no hardforks activating during this upgrade. This script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770741422696.json ================================================ { "transactions": [ { "hash": "0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c91800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xd7d9a3b00c5b27c34e943dd5d2fc82ec027415dd717eac223b85f41030104fb860265aacd224c2ed61e7fa4e909058941ec4727e36d9e336a9d5cc8eeec471ae1c504b32833eadf362a5a7c8cd33efe9e2b0fad7bcc868100688166b1e1208fb63551bbdbf318a3d28bd45600631e7bff93fe3750c64e2912f8c6423cc24f7ba3e1b26acdfc5573eadd8022bf5515d1661865d047f6ecf03f4351b9c4e87c27dd1720f6f9b5eb0cacbca4eb2898edbc06cf04c8ff13fe85e02807cf37783451f6fb71b" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x2335e", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d7d9a3b00c5b27c34e943dd5d2fc82ec027415dd717eac223b85f41030104fb860265aacd224c2ed61e7fa4e909058941ec4727e36d9e336a9d5cc8eeec471ae1c504b32833eadf362a5a7c8cd33efe9e2b0fad7bcc868100688166b1e1208fb63551bbdbf318a3d28bd45600631e7bff93fe3750c64e2912f8c6423cc24f7ba3e1b26acdfc5573eadd8022bf5515d1661865d047f6ecf03f4351b9c4e87c27dd1720f6f9b5eb0cacbca4eb2898edbc06cf04c8ff13fe85e02807cf37783451f6fb71b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1289d00", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b", "blockNumber": "0x174bc5b", "blockTimestamp": "0x698b5eab", "transactionHash": "0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9", "transactionIndex": "0xb7", "logIndex": "0x1c1", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xc7ecd32b4d2d0327841037f5006c9cfa70e6fc4544a7a6dfd6ef619f37d00212" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b", "blockNumber": "0x174bc5b", "blockTimestamp": "0x698b5eab", "transactionHash": "0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9", "transactionIndex": "0xb7", "logIndex": "0x1c2", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000004000000008800000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000040800000000000040000000000400000000000000000000000000000000000000000000000000000000000000000400000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000001000", "type": "0x2", "transactionHash": "0xc4aaa6ca4d55dca8225a176d1e0f728e0e8ff4dfd6505923bbe8a92b8745ded9", "transactionIndex": "0xb7", "blockHash": "0x52c3dbe8148c75322ba20927624212b7147a80f86f05e3298fa5d504a26f510b", "blockNumber": "0x174bc5b", "gasUsed": "0x197df", "effectiveGasPrice": "0xaa55700", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770741422696, "chain": 1, "commit": "398945c" } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770741733158.json ================================================ { "transactions": [ { "hash": "0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c91800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x51ac4448847a74ebeb9a8b572f6a08ea9a25589015e7e547082d19c858d790bb780cb4a6ef52df4e6019fe0658713e30667e7fd5b5144e2de51cf93ceaf142b21c2cef3a037f5ca3b3f80ae4c371000bce87ba0e5dc4997c03e8986866884aaee06c5b2b77dd1c6d56f0e1fc622dddb64f9ac5602afe4ba7af657a38ca7244bbfc1b8fe636b902c0d4c5b6f6d8af312e1cc0909471eb4bcf798feeaa2cddf42fa045054a4f4f758a37e2ff691dc4dfe04c939f78e81f2042f00f0a000b3bb7cf4d2d1c339b7b0838e74661344c607cee0e3a4ac58af48ae665ea6463a0d30eed0561385a174a303c45f9beb0770898020c73cf8fa921a8eec9bd77d097eb876c0fac101ccf0c6e89e496b6474b9689087932160e257c2b4f3c7f4a5585bddccd1ecdb21a32b3da6dabeb23385d0a41f58211e49e1462d3cfdbbf326432a12155187191371bd9a8a107c082dffbd914c2688cf114f620058c322464509f2fa87152be73a58a48023aee53f62b6bca6861bfa07027800a6e2df3c13242586e9532d422d2d2a11c754fa5ce1205d8dacc29075680b8e950f81340080c0d69f196a9f679cee3e8b51809d83e93839c3c921871fa773509a399df64cc04827d4533f37236aa2c09351c7b4c790a60a09aeaaabdbe201314bfd9969ed42c2c33cc26542127950c8ccf224d523248bb568f08fcd70e17fb26d694b5f4084e38dcee6a5649e48b3b1add781be58eb13320101482d246fcdaf25d6ef238180db31521a061b24ba93b31a100721903ba7d9de830550b27c9b3e519f4c8e3222fe04bc600194de320d0c374dc5a1c2e72e988ace0095ba6b95cfac096272bca9f068d5e079d77cbcf374d2c0d9f5e51c0798f88df9ec91ea096a91a8018b826cd91ef9c340dd772e5fb0ecb3934c91b" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2dcdd", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c9180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028a51ac4448847a74ebeb9a8b572f6a08ea9a25589015e7e547082d19c858d790bb780cb4a6ef52df4e6019fe0658713e30667e7fd5b5144e2de51cf93ceaf142b21c2cef3a037f5ca3b3f80ae4c371000bce87ba0e5dc4997c03e8986866884aaee06c5b2b77dd1c6d56f0e1fc622dddb64f9ac5602afe4ba7af657a38ca7244bbfc1b8fe636b902c0d4c5b6f6d8af312e1cc0909471eb4bcf798feeaa2cddf42fa045054a4f4f758a37e2ff691dc4dfe04c939f78e81f2042f00f0a000b3bb7cf4d2d1c339b7b0838e74661344c607cee0e3a4ac58af48ae665ea6463a0d30eed0561385a174a303c45f9beb0770898020c73cf8fa921a8eec9bd77d097eb876c0fac101ccf0c6e89e496b6474b9689087932160e257c2b4f3c7f4a5585bddccd1ecdb21a32b3da6dabeb23385d0a41f58211e49e1462d3cfdbbf326432a12155187191371bd9a8a107c082dffbd914c2688cf114f620058c322464509f2fa87152be73a58a48023aee53f62b6bca6861bfa07027800a6e2df3c13242586e9532d422d2d2a11c754fa5ce1205d8dacc29075680b8e950f81340080c0d69f196a9f679cee3e8b51809d83e93839c3c921871fa773509a399df64cc04827d4533f37236aa2c09351c7b4c790a60a09aeaaabdbe201314bfd9969ed42c2c33cc26542127950c8ccf224d523248bb568f08fcd70e17fb26d694b5f4084e38dcee6a5649e48b3b1add781be58eb13320101482d246fcdaf25d6ef238180db31521a061b24ba93b31a100721903ba7d9de830550b27c9b3e519f4c8e3222fe04bc600194de320d0c374dc5a1c2e72e988ace0095ba6b95cfac096272bca9f068d5e079d77cbcf374d2c0d9f5e51c0798f88df9ec91ea096a91a8018b826cd91ef9c340dd772e5fb0ecb3934c91b00000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2621fcd", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c918", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898", "blockNumber": "0x174bc75", "blockTimestamp": "0x698b5fe3", "transactionHash": "0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3", "transactionIndex": "0x11b", "logIndex": "0x3c5", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xcce46479f0f60a45c4a5dc154aa89fd7d2cf12710ddf63780ef76c18f15fb547" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898", "blockNumber": "0x174bc75", "blockTimestamp": "0x698b5fe3", "transactionHash": "0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3", "transactionIndex": "0x11b", "logIndex": "0x3c6", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000004000000008000000000008040000000000000000000000800000000000000000000000800000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000010004000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000100000000000000000", "type": "0x2", "transactionHash": "0xfad454b046dd6b7734c6da8e3f1db10a29c03223c20a1fe784f6d038fbc1f6e3", "transactionIndex": "0x11b", "blockHash": "0xa003620f2ee02605d38567d203f5cfb9b6dff66f54d1d2e3c93eff2e8e60a898", "blockNumber": "0x174bc75", "gasUsed": "0x21295", "effectiveGasPrice": "0x946abb0", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770741733158, "chain": 1, "commit": "398945c" } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770742081453.json ================================================ { "transactions": [ { "hash": "0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x20bcf", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1cbde3a", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422", "blockNumber": "0x174bc92", "blockTimestamp": "0x698b613f", "transactionHash": "0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0", "transactionIndex": "0x155", "logIndex": "0x381", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5ca76567e75eb7fb262aad0543181b97a72ad165dc7c8144704602aa13a7c9180000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422", "blockNumber": "0x174bc92", "blockTimestamp": "0x698b613f", "transactionHash": "0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0", "transactionIndex": "0x155", "logIndex": "0x382", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000204000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x4f4a7e602287115f35b5a2820a511f27d5492145d03ce337a58e89b3b122edb0", "transactionIndex": "0x155", "blockHash": "0xf9461eedf087548b240f4a8aa39e189f397db454d890b44ea66db1741d123422", "blockNumber": "0x174bc92", "gasUsed": "0x16629", "effectiveGasPrice": "0x8ea6b82", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770742081453, "chain": 1, "commit": "398945c" } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/1/run-1770742201070.json ================================================ { "transactions": [ { "hash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000050f47b43c24f40b92c873fa0704d4207586d0c9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x118324", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000050f47b43c24f40b92c873fa0704d4207586d0c9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1310ad6", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x214", "removed": false }, { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x215", "removed": false }, { "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x216", "removed": false }, { "address": "0x05cc379ebd9b30bba19c6fa282ab29218ec61d84", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x217", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x218", "removed": false }, { "address": "0x8efb6b5c4767b09dc9aa6af4eaa89f749522bae2", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x219", "removed": false }, { "address": "0x608d94945a64503e642e6370ec598e519a2c1e53", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21a", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21b", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a4033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d0000000000000000000000000000000000000000000000000000000000002105642229f238fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27b2994f3a00000000000000000000000000000000000000000000000000000000", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21c", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21d", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000000000000000000000000000000000000000210500000000", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21e", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "0x0000000000000000000000000000000000000000000000000000000000000008" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x21f", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000008" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527f562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec000000000000000000000000000000000000000000000000000000000000210500000000", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x220", "removed": false }, { "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "topics": [ "0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca", "0x0000000000000000000000000000000000000000000000000000000000000008", "0x000000000000000000000000000000000000000000000000011c37937e080000" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x221", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000002105", "0x00000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072", "0x0000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c" ], "data": "0x", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x222", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4859a30eee4ccd65083d3aebe31673d91262f3ec78305d2dbe1c00a8c4d76e0b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "blockTimestamp": "0x698b61b7", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "logIndex": "0x223", "removed": false } ], "logsBloom": "0x000000004004000004000000080800004008000000000000000000a0040000000000089000000000000000040204000000000000000088000001000000040190201080000400000080040000000002025041000000040040000000001300000008010000020000000000000020000800000030400000040000000000000000200080000000000000000000000000000000010000000000000000000220000000000020008020008204000000000004000040000000000000040000084000000040040220000000000000000000000080000000104040200201008000200060000080202000001040000000000000200002000000020000000000000000040900", "type": "0x2", "transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b", "transactionIndex": "0x77", "blockHash": "0xe0f25fba4f194c3ff2acc53a774167070fa861ae6c58459ce0445150d18020ae", "blockNumber": "0x174bc9c", "gasUsed": "0xcadb7", "effectiveGasPrice": "0x824e58f", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770742201070, "chain": 1, "commit": "398945c" } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/script/ExecuteOPCM.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {Constants} from "@eth-optimism-bedrock/src/libraries/Constants.sol"; import { IOPContractsManager, IOPContractsManagerStandardValidator, ISystemConfig, ISuperchainConfig } from "@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; /// @notice This script deploys new versions of OP contracts using the OP Contract Manager. contract ExecuteOPCMScript is MultisigScript { ISystemConfig internal immutable SYSTEM_CONFIG; IOPContractsManager internal immutable OP_CONTRACT_MANAGER; address public immutable OWNER_SAFE; Claim immutable CANNON_ABSOLUTE_PRESTATE; Claim immutable CANNON_KONA_ABSOLUTE_PRESTATE; address internal immutable PROPOSER; address internal immutable CHALLENGER; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = ISystemConfig(vm.envAddress("SYSTEM_CONFIG")); OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress("OP_CONTRACT_MANAGER")); CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("CANNON_ABSOLUTE_PRESTATE")); CANNON_KONA_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("CANNON_KONA_ABSOLUTE_PRESTATE")); PROPOSER = vm.envAddress("PROPOSER"); CHALLENGER = vm.envAddress("CHALLENGER"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IOPContractsManagerStandardValidator.ValidationInputDev memory input = IOPContractsManagerStandardValidator.ValidationInputDev({ sysCfg: SYSTEM_CONFIG, cannonPrestate: Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), cannonKonaPrestate: Claim.unwrap(CANNON_KONA_ABSOLUTE_PRESTATE), l2ChainID: SYSTEM_CONFIG.l2ChainId(), proposer: PROPOSER }); IOPContractsManagerStandardValidator.ValidationOverrides memory overrides = IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER); OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig({ systemConfigProxy: SYSTEM_CONFIG, cannonPrestate: CANNON_ABSOLUTE_PRESTATE, cannonKonaPrestate: CANNON_KONA_ABSOLUTE_PRESTATE }); IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1); opChainConfigs[0] = baseConfig; IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: address(OP_CONTRACT_MANAGER), allowFailure: false, callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)), value: 0 }); return calls; } function _simulationOverrides() internal view virtual override returns (Simulation.StateOverride[] memory overrides_) { // Get the superchain config address from the SystemConfig ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig()); IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations(); // Mock the implementation slot of the superchain config if the version has not been upgraded yet. bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version())); bytes32 h2 = keccak256(abi.encode(superchainConfig.version())); if (h1 != h2) { Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); storageOverrides[0] = Simulation.StorageOverride( Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl)))) ); overrides_ = new Simulation.StateOverride[](1); overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides); } } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } function _useDelegateCall() internal pure override returns (bool) { return true; } } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/validations/coinbase-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0xebb8072280c4b3f0f306b5e23f3a19da66738ea028f5288ec86f847e63ca5f1a" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xa28b4d2f7efd0249e97869390a32b759e4209ce5e2abd07523101d4126aef287", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000002105642229f2", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xb2994f3a00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xe42d105bdf05b82daaf3dad8f3923990d6ffcbf25ef0c2e6f3978357813c2553", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB coordinator safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Mainnet", "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xa71d5374e7819703442a4ed3096da659d542e70569d6239bef8697119a21e9f7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB multisig", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000005", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/validations/optimism-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76", "messageHash": "0x3508520ea5a487e98fbd50c3070774d163a62c02bdb39f2649188b1f915776c4" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xd93dc6d09a277b8f48e23455857e83289fddec897e14aafa3053bbe138e380e7", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000002105642229f2", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xb2994f3a00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x9f0c14c1e04d7f14bac601f7a65b9b89d4130d99821554b7e6ea41a9e38ece1f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of OP safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Mainnet", "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000072", "after": "0x0000000000000000000000000000000000000000000000000000000000000073", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-09-op-stack-upgrade-18/validations/security-council-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io ExecuteOPCMScript --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0x2e3991446036380b9514e2025217e45e3d002a2f6485c3bab72f32a5b93df4d8" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xb811b325d45d18dd5e8593c25b0764afeb685dea98a5238999d9c24e8466f19b", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Security Council Safe - Mainnet", "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "Dispute Game Factory Proxy - Mainnet", "address": "0x43edb88c4b80fdd2adff2412a7bebf9df42cb40e", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e722453c1216e49704d84ea98a4dacd95738f2fc8ec00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000210500000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=8453) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000006f8c1ea88cb410571739d36eb00811b250574cb2", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb908909f6cf47ed12f010a796527", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xf562bfc26c7f4e7264ae5250958cdeb83f6b61f913b5ac6ebe8efd4d00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000002105642229f2", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=8453 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x38fb9de03374be34b0ed8d9de80752c58ca1e12404d16373aef756179b185f27", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0xb2994f3a00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000979cb7e329ba213fb9d6c5f7771ec6a3109bdc93", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Mainnet", "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xe42d105bdf05b82daaf3dad8f3923990d6ffcbf25ef0c2e6f3978357813c2553", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB coordinator safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Mainnet", "address": "0x909f6cf47ed12f010a796527f562bfc26c7f4e72", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x1f9c184079e5bd8197b9c7f572f21c9720d1b5b966a6366f3fdfabd06cd07276", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of SC multisig", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-01-20-update-basefee-da-footprint make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetMinBaseFeeAndDAFootprintScript # Calculate the DA footprint gas scalar based on the formula: # da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) # Requires GAS_LIMIT, ELASTICITY, and TARGET_BLOB_COUNT to be set. .PHONY: da-scalar da-scalar: ifndef TARGET_BLOB_COUNT $(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar GAS_LIMIT= ELASTICITY= TARGET_BLOB_COUNT=) endif ifndef GAS_LIMIT $(error GAS_LIMIT is not set. Usage: make da-scalar GAS_LIMIT= ELASTICITY= TARGET_BLOB_COUNT=) endif ifndef ELASTICITY $(error ELASTICITY is not set. Usage: make da-scalar GAS_LIMIT= ELASTICITY= TARGET_BLOB_COUNT=) endif @echo "$(GAS_LIMIT) / ($(ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =" @echo "NEW_DA_FOOTPRINT_GAS_SCALAR=$$(( $(GAS_LIMIT) / ($(ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))" .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: mkdir -p validations; \ cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(OLD_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/README.md ================================================ # Update Min Base Fee & DA Footprint Gas Scalar in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35) ## Description We are updating the min base fee and DA footprint gas scalar on Base mainnet. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base/contracts](https://github.com/base/contracts) repository: `SetMinBaseFeeAndDAFootprintScript` -- This script will update the min base fee from 500,000 wei to 1,000,000 wei (2x increase) and the DA footprint gas scalar from 325 to 139 (targeting 14 blobs) if invoked as part of the "upgrade" process, or revert to the old values if invoked as part of the "rollback" process. ## Parameters | Parameter | From | To | |-----------|------|----| | minBaseFee | 500,000 wei | 1,000,000 wei | | daFootprintGasScalar | 325 | 139 | ### DA Footprint Gas Scalar Formula We typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula: ``` da_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio) ``` Where: - `gas_limit` = L2 gas limit per block - `elasticity` = EIP-1559 elasticity multiplier - `l2_block_time` = 2 seconds - `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block` - `target_blob_count` = target number of blobs per L1 block - `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage This simplifies to: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) ``` With current gas_limit = 375,000,000, elasticity = 6, and target_blob_count = 14: ``` da_footprint_gas_scalar = 375,000,000 / (6 * 14 * 32,000) = 139.51 ≈ 139 (floored) ``` You can verify with `make da-scalar GAS_LIMIT=375000000 ELASTICITY=6 TARGET_BLOB_COUNT=14`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ## Prep (maintainers) ```bash cd contract-deployments git pull cd mainnet/2026-01-20-update-basefee-da-footprint make deps make gen-validation make gen-validation-rollback ``` ## Execute 1. Collect signatures from all signers and export: `export SIGNATURES="0x[sig1][sig2]..."`. 2. Upgrade: `make execute` 3. Rollback (only if needed): `make execute-rollback` ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/records/SetMinBaseFeeAndDAFootprint.s.sol/1/run-1769112998506.json ================================================ { "transactions": [ { "hash": "0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b0000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x49341fa2a623bae70e172ac3b66b6adf8f1c861ecfb2d27cb141d586ae6314926f7176c0de89fe9f8c794578e744bac5057b9d980ae2f70fbf5d77778e5a43701c27b8b71766424d0ac4854ca98bf1c390ddf54f596759401d97a00f59ade1eb6d0219995b68c10fd92302fc42cae5d085a93ddcbfb559e66799cb1d75e7f5df911b848d65a5f8d1eb1f393318223b9ae228de2d282f50ec9842476847952d23e0480964a3c8b1e8028827963e0ff32dceb41c658f46108e975a59f9eb454d73629d1c" ], "transaction": { "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x21aa3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b0000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c349341fa2a623bae70e172ac3b66b6adf8f1c861ecfb2d27cb141d586ae6314926f7176c0de89fe9f8c794578e744bac5057b9d980ae2f70fbf5d77778e5a43701c27b8b71766424d0ac4854ca98bf1c390ddf54f596759401d97a00f59ade1eb6d0219995b68c10fd92302fc42cae5d085a93ddcbfb559e66799cb1d75e7f5df911b848d65a5f8d1eb1f393318223b9ae228de2d282f50ec9842476847952d23e0480964a3c8b1e8028827963e0ff32dceb41c658f46108e975a59f9eb454d73629d1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1f24169", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008b", "blockHash": "0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100", "blockNumber": "0x172ad30", "blockTimestamp": "0x697285a3", "transactionHash": "0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35", "transactionIndex": "0x148", "logIndex": "0x301", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000f4240", "blockHash": "0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100", "blockNumber": "0x172ad30", "blockTimestamp": "0x697285a3", "transactionHash": "0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35", "transactionIndex": "0x148", "logIndex": "0x302", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x426a902262e3327ea6e93ad0a4104de1cbc33ea39b584be0712d209b1c24633d0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100", "blockNumber": "0x172ad30", "blockTimestamp": "0x697285a3", "transactionHash": "0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35", "transactionIndex": "0x148", "logIndex": "0x303", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000100000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x3be4d20dad2aa0b98938e806619a2948f7f6ac74d63181f74aa169c8ea4afc35", "transactionIndex": "0x148", "blockHash": "0x20fc18a39f658e97fc016a67d59fd5cd847f8cfd6e3602754d10ee896094d100", "blockNumber": "0x172ad30", "gasUsed": "0x185f7", "effectiveGasPrice": "0x4560f0b", "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769112998506, "chain": 1, "commit": "686062f" } ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/script/SetMinBaseFeeAndDAFootprint.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract SetMinBaseFeeAndDAFootprintScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable MIN_BASE_FEE; uint64 internal immutable NEW_MIN_BASE_FEE; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); MIN_BASE_FEE = uint64(vm.envUint("OLD_MIN_BASE_FEE")); NEW_MIN_BASE_FEE = uint64(vm.envUint("NEW_MIN_BASE_FEE")); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("OLD_DA_FOOTPRINT_GAS_SCALAR")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, "Min base fee mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if ( MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee() || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar() ) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Update DA Footprint Gas Scalar (slot 0x6a) // Storage layout (low to high bits): // - eip1559Denominator (uint32): bits 0-31 // - eip1559Elasticity (uint32): bits 32-63 // - operatorFeeScalar (uint32): bits 64-95 // - operatorFeeConstant (uint64): bits 96-159 // - daFootprintGasScalar (uint16): bits 160-175 // Load existing slot to preserve other fields, then update daFootprintGasScalar. bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey)); // Mask to preserve bits 0-159 (everything except daFootprintGasScalar) uint256 preserveMask = (1 << 160) - 1; uint256 preservedFields = existingEip1559Word & preserveMask; uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedFields; storageOverrides[0] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); // Update minBaseFee (slot 0x6c) // Storage layout (low to high bits): // - superchainConfig (address): bits 0-159 // - minBaseFee (uint64): bits 160-223 // Load existing slot to preserve superchainConfig, then update minBaseFee. bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c)); uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey)); uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160); storageOverrides[1] = Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_MIN_BASE_FEE=1000000 NEW_MIN_BASE_FEE=500000 OLD_DA_FOOTPRINT_GAS_SCALAR=139 NEW_DA_FOOTPRINT_GAS_SCALAR=325 SAFE_NONCE=101 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeAndDAFootprintScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xe6a4877f8bfe62c2fb0c1cddea889b965505d503d8007c523fc5db7fc68cad6c" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000065", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x7bc8740e5864df47e4bc6f78c0d254bd65dad26e2ceabbb8364f7bbdb5c0b428", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x00000000000000000000008b0000000000000000000000000000000600000032", "description": "", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "value": "0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c", "description": "", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000065", "after": "0x0000000000000000000000000000000000000000000000000000000000000066", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000008b0000000000000000000000000000000600000032", "after": "0x0000000000000000000001450000000000000000000000000000000600000032", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates Min Base Fee and Superchain Config address", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-20-update-basefee-da-footprint/validations/base-signer.json ================================================ { "cmd": "NEW_MIN_BASE_FEE=1000000 OLD_MIN_BASE_FEE=500000 NEW_DA_FOOTPRINT_GAS_SCALAR=139 OLD_DA_FOOTPRINT_GAS_SCALAR=325 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeAndDAFootprintScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xf53ef2944a8862c1c8406b4fc70209708e2faa988537738270481b9db24385e9" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xb313ef0b69503cef50fadef425c37dccfb7a47e686768587c9ee18fe57a2d37b", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000064", "after": "0x0000000000000000000000000000000000000000000000000000000000000065", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000001450000000000000000000000000000000600000032", "after": "0x00000000000000000000008b0000000000000000000000000000000600000032", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x00000000000000000007a12095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates Min Base Fee and Superchain Config address", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-01-28-update-min-base-fee make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetMinBaseFeeScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(OP_COMMIT)" -a "$(OP_COMMIT)" != "TODO" || (echo "OP_COMMIT required" && exit 1) @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(OLD_MIN_BASE_FEE)" -a "$(OLD_MIN_BASE_FEE)" != "TODO" || (echo "OLD_MIN_BASE_FEE required" && exit 1) @test -n "$(NEW_MIN_BASE_FEE)" -a "$(NEW_MIN_BASE_FEE)" != "TODO" || (echo "NEW_MIN_BASE_FEE required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config checkout-signer-tool run-script .PHONY: run-script run-script: mkdir -p validations; \ cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: validate-config NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: validate-config checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: validate-config OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/README.md ================================================ # Update Min Base Fee in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d) ## Description We are updating the minimum base fee from 1,000,000 wei to 2,000,000 wei (2x increase). This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `SetMinBaseFeeScript` -- This script will update the min base fee to 2,000,000 wei if invoked as part of the "upgrade" process, or revert to the old value of 1,000,000 wei if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/records/SetMinBaseFee.s.sol/1/run-1770084530335.json ================================================ { "transactions": [ { "hash": "0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x1fa1fa1fa4d02ef80a84adb3271e26ddcc4893f49cbb9259d2e8bcdfe7f9584f17b1fd7e85495513cbcc5728962185c200c9ed9038c6126c6149e785893d361c1b2888704866e7396805eff91709011e1f4a419866c950eaf4f19e5a188d2507291edd15eb448c69d2301b7e554c4b7fda40dd5b0885868dbd7222bb268d27392a1b1e2baac3a43fd903480620f112db161edc1b5b317a1b504dbf8b22de78bbab2b036abe6bcf61190ab691adfc5f6a9da8757642c56be6fbc1f47fafd855c9d6fa1b" ], "transaction": { "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1dbd2", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c31fa1fa1fa4d02ef80a84adb3271e26ddcc4893f49cbb9259d2e8bcdfe7f9584f17b1fd7e85495513cbcc5728962185c200c9ed9038c6126c6149e785893d361c1b2888704866e7396805eff91709011e1f4a419866c950eaf4f19e5a188d2507291edd15eb448c69d2301b7e554c4b7fda40dd5b0885868dbd7222bb268d27392a1b1e2baac3a43fd903480620f112db161edc1b5b317a1b504dbf8b22de78bbab2b036abe6bcf61190ab691adfc5f6a9da8757642c56be6fbc1f47fafd855c9d6fa1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2057b3d", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001e8480", "blockHash": "0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3", "blockNumber": "0x173e803", "blockTimestamp": "0x698158af", "transactionHash": "0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d", "transactionIndex": "0x2bb", "logIndex": "0x21a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x3771a302376f8ca7e356a89627eaa8b52508149a8b332a98fb4ed2a4e400b4670000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3", "blockNumber": "0x173e803", "blockTimestamp": "0x698158af", "transactionHash": "0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d", "transactionIndex": "0x2bb", "logIndex": "0x21b", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x1d4e49864eea071c2cdd880aa6d217a27ac766cab65eb5ac9211ebed4e88b80d", "transactionIndex": "0x2bb", "blockHash": "0xc8e81ad7b167dfdc7c67a419c2ed9c97131e3092fdae686f42110ff011b3aff3", "blockNumber": "0x173e803", "gasUsed": "0x1587d", "effectiveGasPrice": "0x54d3435", "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770084530335, "chain": 1, "commit": "bf470aa" } ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/script/SetMinBaseFee.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; } contract SetMinBaseFeeScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable MIN_BASE_FEE; uint64 internal immutable NEW_MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); MIN_BASE_FEE = uint64(vm.envUint("OLD_MIN_BASE_FEE")); NEW_MIN_BASE_FEE = uint64(vm.envUint("NEW_MIN_BASE_FEE")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, "Min base fee mismatch"); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); // Update minBaseFee (slot 0x6c) // Storage layout (low to high bits): // - superchainConfig (address): bits 0-159 // - minBaseFee (uint64): bits 160-223 // Load existing slot to preserve superchainConfig, then update minBaseFee. bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c)); uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey)); uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160); storageOverrides[0] = Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_MIN_BASE_FEE=2000000 NEW_MIN_BASE_FEE=1000000 SAFE_NONCE=102 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x958bc6d2c75aefd6c5af7ce5825bef61506377550e0f7dd5275b04f46e45b788" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000066", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xd96e337c9f34562a0a042ee37c857df4ed36d1833e9378b47607537ecc3cc7e5", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "value": "0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Overrides min base fee to 2M wei (0x1E8480) so rollback simulation succeeds.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000066", "after": "0x0000000000000000000000000000000000000000000000000000000000000067", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates min base fee from 2M wei (0x1E8480) to 1M wei (0xF4240).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-01-28-update-min-base-fee/validations/base-signer.json ================================================ { "cmd": "NEW_MIN_BASE_FEE=2000000 OLD_MIN_BASE_FEE=1000000 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x82d8245851a2f2423bf94988a880bd38f27376462f845ce05483f75e80d93018" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xf81fc2071b1687dd1159dd28e26ae77fee04a1b8d388330c8780bcbad62f1140", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000065", "after": "0x0000000000000000000000000000000000000000000000000000000000000066", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000000f424095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates min base fee from 1M wei (0xF4240) to 2M wei (0x1E8480).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/FACILITATORS.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-02-03-eip1559-denominator-increase make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseEip1559DenominatorScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(OP_COMMIT)" -a "$(OP_COMMIT)" != "TODO" || (echo "OP_COMMIT required" && exit 1) @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(FROM_DENOMINATOR)" -a "$(FROM_DENOMINATOR)" != "TODO" || (echo "FROM_DENOMINATOR required" && exit 1) @test -n "$(TO_DENOMINATOR)" -a "$(TO_DENOMINATOR)" != "TODO" || (echo "TO_DENOMINATOR required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config checkout-signer-tool run-script .PHONY: run-script run-script: mkdir -p validations; \ cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_DENOMINATOR=$(TO_DENOMINATOR) \ OLD_DENOMINATOR=$(FROM_DENOMINATOR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: validate-config NEW_DENOMINATOR=$(TO_DENOMINATOR) \ OLD_DENOMINATOR=$(FROM_DENOMINATOR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: validate-config checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'OLD_DENOMINATOR=$(TO_DENOMINATOR) \ NEW_DENOMINATOR=$(FROM_DENOMINATOR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: validate-config OLD_DENOMINATOR=$(TO_DENOMINATOR) \ NEW_DENOMINATOR=$(FROM_DENOMINATOR) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/README.md ================================================ # Increase EIP-1559 Denominator in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5) ## Description We are increaseing the EIP-1559 Denominator to reduce the maximum rate of change for the base fee, and thus limit overall fee volatility. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559Denominator` -- This script will update the EIP-1559 denominator to 125 if invoked as part of the "upgrade" process, or revert to the old denominator of 50 if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] > > We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signatures to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/records/IncreaseEip1559Denominator.s.sol/1/run-1770211645877.json ================================================ { "transactions": [ { "hash": "0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3322877c3153ed23effdc7894de0a93403b8243bd56449320cd743c45f86e974364650c4c398f6a450c8bee0cad416fc0ee5072ef60ed9139bf1022d1ad06f6f1b9151b86cb5d919979f49ffee9332c542e8a761a180aee01b732b4f6c6e15bf3b7e8c49c46bfaef771a7f8d2d3c0eed671f1311a4f3bbc3817064050880396fc01c684c4ef74ab8f590c229ad61401999e2606a86a450563298bf8c7fbdd0a97ef921918d78579dab2ef21601282e1654cc6a38e2fae4fa5761519cbe4a2ee1daec1c" ], "transaction": { "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1ddd0", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33322877c3153ed23effdc7894de0a93403b8243bd56449320cd743c45f86e974364650c4c398f6a450c8bee0cad416fc0ee5072ef60ed9139bf1022d1ad06f6f1b9151b86cb5d919979f49ffee9332c542e8a761a180aee01b732b4f6c6e15bf3b7e8c49c46bfaef771a7f8d2d3c0eed671f1311a4f3bbc3817064050880396fc01c684c4ef74ab8f590c229ad61401999e2606a86a450563298bf8c7fbdd0a97ef921918d78579dab2ef21601282e1654cc6a38e2fae4fa5761519cbe4a2ee1daec1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xf", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2b1beed", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006", "blockHash": "0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070", "blockNumber": "0x1741128", "blockTimestamp": "0x6983493b", "transactionHash": "0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5", "transactionIndex": "0x166", "logIndex": "0x39c", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x917f9cce8979b5da15ce2c5abc88d3caf315c87ff6438e053c19ef426be478f60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070", "blockNumber": "0x1741128", "blockTimestamp": "0x6983493b", "transactionHash": "0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5", "transactionIndex": "0x166", "logIndex": "0x39d", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000000000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x30bb34595b1536556112591bfd26b9b24096dbfb37d59cc13515101a5f8b4de5", "transactionIndex": "0x166", "blockHash": "0x4c7670bf0a44e61a807d0c306e412a22afd3c7627849c61c30cb7aba83456070", "blockNumber": "0x1741128", "gasUsed": "0x159ef", "effectiveGasPrice": "0xa41eb99", "from": "0x7ad8e6b7b1f6d66f49559f20053cef8a7b6c488e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770211645877, "chain": 1, "commit": "e8951ec" } ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/script/IncreaseEip1559Denominator.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; } contract IncreaseEip1559DenominatorScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable DENOMINATOR; uint32 internal immutable NEW_DENOMINATOR; uint32 internal immutable ELASTICITY; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); DENOMINATOR = uint32(vm.envUint("OLD_DENOMINATOR")); NEW_DENOMINATOR = uint32(vm.envUint("NEW_DENOMINATOR")); ELASTICITY = ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if (DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator()) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). // Prepare one storage override for SystemConfig Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); // Load current packed EIP-1559 params (slot 0x6a) and replace only the lower 32 bits with DENOMINATOR bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey)); uint256 updatedEip1559Word = (existingEip1559Word & ~uint256(0xffffffff)) | uint256(DENOMINATOR); storageOverrides[0] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(updatedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_DENOMINATOR=125 NEW_DENOMINATOR=50 SAFE_NONCE=103 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559DenominatorScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x96f9aabc336c8752c76a513c4de4f28886f7d8757f132fc375edb6005a3a0876" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000067", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x46a08474ac712a822d2c6035d1899c5d8c6e0032d6fb14e842f146f6083e44a9", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x00000000000000000000008b000000000000000000000000000000060000007d", "description": "Override EIP-1559 denominator to 125 (post-upgrade value) for rollback simulation", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000067", "after": "0x0000000000000000000000000000000000000000000000000000000000000068", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000008b000000000000000000000000000000060000007d", "after": "0x00000000000000000000008b0000000000000000000000000000000600000032", "description": "Updates EIP-1559 denominator from 125 to 50 (rollback)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-03-eip1559-denominator-increase/validations/base-signer.json ================================================ { "cmd": "NEW_DENOMINATOR=125 OLD_DENOMINATOR=50 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559DenominatorScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xe52e27f6cec04498de893370845f72411334429156f545ee433f90a7e8f76d8b" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x5e4b9fe0c8e5e0cf29569cea37479d1c813b4881b22928ed039505834232afb1", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000066", "after": "0x0000000000000000000000000000000000000000000000000000000000000067", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000008b0000000000000000000000000000000600000032", "after": "0x00000000000000000000008b000000000000000000000000000000060000007d", "description": "Updates EIP-1559 denominator from 50 to 125", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-02-17-update-min-base-fee make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetMinBaseFeeScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(OP_COMMIT)" -a "$(OP_COMMIT)" != "TODO" || (echo "OP_COMMIT required" && exit 1) @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(OLD_MIN_BASE_FEE)" -a "$(OLD_MIN_BASE_FEE)" != "TODO" || (echo "OLD_MIN_BASE_FEE required" && exit 1) @test -n "$(NEW_MIN_BASE_FEE)" -a "$(NEW_MIN_BASE_FEE)" != "TODO" || (echo "NEW_MIN_BASE_FEE required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: validate-config NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: validate-config checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: validate-config OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/README.md ================================================ # Update Min Base Fee in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf) ## Description We are updating the minimum base fee from 2,000,000 wei to 5,000,000 wei (2.5x increase). This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `SetMinBaseFeeScript` -- This script will update the min base fee to 5,000,000 wei if invoked as part of the "upgrade" process, or revert to the old value of 2,000,000 wei if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/records/SetMinBaseFee.s.sol/1/run-1771531755195.json ================================================ { "transactions": [ { "hash": "0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf186b9286db505bf3ad17d5dd6c2a1c8a4f21e6d94d6d03bfd46dbd4f781ea7237987278279ff0db1581799b92c9e5a03acc76ef57793bc8ddfada4131a42fe01b85c2f221971397845ea90cb781c19497bdfc79155bb5653f17884d6a80d6c8e17e38670916546373722e2cc212fff3f39261d0ceed87b4cd07292bb74df03f171b8ed8f805a2692bd119e2c2e3d3111ea02fadd014fbfb5a3f23a69a13c67953151b02af45f993f8f7055117897370f0ef15448951a051e151efb6869df9948cd31c" ], "transaction": { "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x1dc00", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f186b9286db505bf3ad17d5dd6c2a1c8a4f21e6d94d6d03bfd46dbd4f781ea7237987278279ff0db1581799b92c9e5a03acc76ef57793bc8ddfada4131a42fe01b85c2f221971397845ea90cb781c19497bdfc79155bb5653f17884d6a80d6c8e17e38670916546373722e2cc212fff3f39261d0ceed87b4cd07292bb74df03f171b8ed8f805a2692bd119e2c2e3d3111ea02fadd014fbfb5a3f23a69a13c67953151b02af45f993f8f7055117897370f0ef15448951a051e151efb6869df9948cd31c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20a6f7b", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000004c4b40", "blockHash": "0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9", "blockNumber": "0x175bc82", "blockTimestamp": "0x69976de7", "transactionHash": "0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf", "transactionIndex": "0x176", "logIndex": "0x37f", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xa970ca7df9badd67dc859be4747b81324ae0e9ef2969134e5e6da79054643b660000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9", "blockNumber": "0x175bc82", "blockTimestamp": "0x69976de7", "transactionHash": "0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf", "transactionIndex": "0x176", "logIndex": "0x380", "removed": false } ], "logsBloom": "0x0000000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000420000000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000080000008000000000000000000000000000000000000000000000000000000000000020000000000000000040000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0xb7b7f0b8cf10b5246713a9a8dd823b4735c9c4ad2e0cf94f3382957e25c9dbaf", "transactionIndex": "0x176", "blockHash": "0x8a8d4169a01a5e51b765a1705519971871c44adf3bee7405eb753a60523bf3a9", "blockNumber": "0x175bc82", "gasUsed": "0x1589f", "effectiveGasPrice": "0x4a8aa00", "from": "0x541a833e4303eb56a45be7e8e4a908db97568d1e", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771531755195, "chain": 1, "commit": "6079d0e" } ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/script/SetMinBaseFee.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; } contract SetMinBaseFeeScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable MIN_BASE_FEE; uint64 internal immutable NEW_MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); MIN_BASE_FEE = uint64(vm.envUint("OLD_MIN_BASE_FEE")); NEW_MIN_BASE_FEE = uint64(vm.envUint("NEW_MIN_BASE_FEE")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, "Min base fee mismatch"); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); // Update minBaseFee (slot 0x6c) // Storage layout (low to high bits): // - superchainConfig (address): bits 0-159 // - minBaseFee (uint64): bits 160-223 // Load existing slot to preserve superchainConfig, then update minBaseFee. bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c)); uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey)); uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160); storageOverrides[0] = Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_MIN_BASE_FEE=5000000 NEW_MIN_BASE_FEE=2000000 SAFE_NONCE=104 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x5fb75649784c7985d9ab466f3fe5937a74f309f7868c77594f2260fdf15b4f9e" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000068", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x3dc6b9d0cf3ce395987a1645e7ce7647b6141537dd995a2446c20b48a670c29a", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "overrides": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "value": "0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Overrides min base fee to 5M wei (0x4C4B40) so rollback simulation succeeds.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000068", "after": "0x0000000000000000000000000000000000000000000000000000000000000069", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates min base fee from 5M wei (0x4C4B40) to 2M wei (0x1E8480).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-17-update-min-base-fee/validations/base-signer.json ================================================ { "cmd": "NEW_MIN_BASE_FEE=5000000 OLD_MIN_BASE_FEE=2000000 forge script --rpc-url https://eth-mainnet.public.blastapi.io SetMinBaseFeeScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xff454a68abb04ade8aa6f4ff54103a36c2edeebad3170f6ee3473c05b22cd6a7" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x2cc1499eda3340dfd38be98fbcfba86e827ed0db5b5cdf5bba47146fd8b495f7", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000067", "after": "0x0000000000000000000000000000000000000000000000000000000000000068", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000001e848095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c", "description": "Updates min base fee from 2M wei (0x1E8480) to 5M wei (0x4C4B40).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/FACILITATORS.md ================================================ # Facilitator Instructions This document describes how to execute the Superchain separation mainnet transactions after collecting signatures. ## Prerequisites ### 1. Update repo and install dependencies ```bash cd contract-deployments git pull cd mainnet/2026-02-19-superchain-separation make deps ``` ## General Procedure 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export as the `SIGNATURES` environment variable: `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."` 3. Run the appropriate `make approve-*` command(s) for each nested Safe. 4. Run the appropriate `make execute-*` command to execute the transaction. ## Important: Execution Order **Transactions MUST be executed in order** due to nonce dependencies: 1. CB Nested Safe: Approve UpdateProxyAdminOwnerSigners ```bash make approve-proxyadminowner-signers-cb ``` 2. SC Safe: Approve UpdateProxyAdminOwnerSigners ```bash make approve-proxyadminowner-signers-sc ``` 3. CB Parent Safe: Approve UpdateProxyAdminOwnerSigners ```bash make approve-proxyadminowner-signers-cb-coord ``` 4. OP Safe: Approve UpdateProxyAdminOwnerSigners ```bash make approve-proxyadminowner-signers-op ``` 5. ProxyAdminOwner: Execute UpdateProxyAdminOwnerSigners ```bash make execute-proxyadminownersigners ``` 6. CB Nested Safe: Approve CBSafeSigners ```bash make approve-cbsafesigners-cb ``` 7. SC Safe: Approve CBSafeSigners ```bash make approve-cbsafesigners-sc ``` 8. CB Parent Safe: Execute CBSafeSigners ```bash make execute-cbsafesigners ``` 9. CB Parent Safe: Approve UpgradeSystemConfig ```bash make approve-systemconfig-cb ``` 10. SC Safe: Approve UpgradeSystemConfig ```bash make approve-systemconfig-sc ``` 11. ProxyAdminOwner: Execute UpgradeSystemConfig ```bash make execute-systemconfig ``` 12. CB Nested Safe: Execute UpgradeFeeDisburser ```bash make execute-feedisburser ``` 13. OP CB Safe: Execute TerminateSmartEscrow ```bash make execute-terminate-smartescrow ``` 14. OP CB Safe: Approve WithdrawSmartEscrow ```bash make approve-withdraw-smartescrow-cb ``` 15. OP OP Safe: Approve WithdrawSmartEscrow ```bash make approve-withdraw-smartescrow-op ``` 16. OP Parent Safe: Execute WithdrawSmartEscrow ```bash make execute-withdraw-smartescrow ``` 17. SC Safe: Execute AddSecurityCouncilSigner ```bash make execute-add-signer ``` ### Example Signature Output If the quorum is 3 and you receive the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Concatenate: `SIGNATURES=AAAABBBBCCCC` --- ## Part 1: UpdateCBSafeSigners (CB + SC) Updates the signers on the Coinbase Safe. ### Approve Coinbase facilitator (with CB signer signatures): ```bash SIGNATURES= make approve-cbsafesigners-cb ``` Coinbase facilitator (with SC signer signatures): ```bash SIGNATURES= make approve-cbsafesigners-sc ``` ### Execute Once all approvals are submitted: ```bash make execute-cbsafesigners ``` --- ## Part 2: UpgradeSystemConfig (CB + SC) Upgrades the SystemConfig contract with the new SuperchainConfig. ### Approve Coinbase facilitator (with CB signer signatures): ```bash SIGNATURES= make approve-systemconfig-cb ``` Coinbase facilitator (with SC signer signatures): ```bash SIGNATURES= make approve-systemconfig-sc ``` ### Execute Once all approvals are submitted: ```bash make execute-systemconfig ``` --- ## Part 3: UpgradeFeeDisburser (CB only) Upgrades the FeeDisburser contract via a deposit transaction on L1. > **Note:** This must be executed AFTER Part 1 (execute-cbsafesigners) due to nonce dependencies on `CB_NESTED_SAFE_ADDR`. ### Approve (if using nested safe) ```bash SIGNATURES= make approve-feedisburser ``` ### Execute ```bash SIGNATURES= make execute-feedisburser ``` ================================================ FILE: mainnet/2026-02-19-superchain-separation/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env OP_RPC_URL = https://mainnet.optimism.io RPC_URL = $(L1_RPC_URL) # Comma variable for use in $(call ...) arguments COMMA := , # Sender addresses for validation generation CB_NESTED_SENDER := 0x6CD3850756b7894774Ab715D136F9dD02837De50 CB_SIGNER_SENDER := 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110 SC_SENDER := 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6 OP_MAINNET_SENDER := 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64 OP_OP_SENDER := 0x4d494C5F61b60752D3A10062276a0eFC22596151 ## # Signer Tool Setup ## deps-signer-tool: checkout-signer-tool cd $(SIGNER_TOOL_PATH) && npm ci ## # Validation File Generation ## # Generates validation files for multisig signing # Usage: GEN_VALIDATION(script_name, safe_addr, sender, output_file, env_vars) # Note: env_vars (5th param) is optional, used for nonce overrides when pre-signing multiple txs define GEN_VALIDATION cd $(SIGNER_TOOL_PATH) && \ bun run scripts/genValidationFile.ts \ --rpc-url $(RPC_URL) \ --workdir .. \ --forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig "sign(address[])" "[$(2)]" --sender $(3)' \ --ledger-id $(LEDGER_ACCOUNT) \ --out ../validations/$(4) endef # Helper to get current nonce for a safe # Usage: $(call GET_NONCE,safe_address) define GET_NONCE $(shell cast call $(1) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) endef # Helper to convert address to uppercase for SAFE_NONCE env var # Usage: $(call ADDR_UPPER,safe_address) define ADDR_UPPER $(shell echo $(1) | tr '[:lower:]' '[:upper:]') endef # Part 1: UpdateProxyAdminOwnerSigners .PHONY: gen-validation-cb-1 gen-validation-cb-1: deps-signer-tool $(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(CB_NESTED_SAFE_ADDR)$(COMMA)$(CB_SIGNER_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-1.json,) .PHONY: gen-validation-cb-sc-1 gen-validation-cb-sc-1: deps-signer-tool $(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(CB_SC_SAFE_ADDR)$(COMMA)$(CB_SIGNER_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-1.json,) .PHONY: gen-validation-op-1 gen-validation-op-1: deps-signer-tool $(call GEN_VALIDATION,UpdateProxyAdminOwnerSigners,$(OP_SIGNER_SAFE_ADDR),$(OP_MAINNET_SENDER),optimism-signer.json,) # Part 2: UpdateCBSafeSigners # Task uses CB_SIGNER_SAFE_ADDR which will approve part 1 - needs nonce+1 .PHONY: gen-validation-cb-2 gen-validation-cb-2: deps-signer-tool $(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1)) $(eval CB_SIGNER_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 1)) $(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_NESTED_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_SIGNER_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE)) # SC uses CB_SC_SAFE_ADDR which will approve part 1 - needs nonce+1 .PHONY: gen-validation-cb-sc-2 gen-validation-cb-sc-2: deps-signer-tool $(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1)) $(eval SC_SIGNER_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 1)) $(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_SC_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_SIGNER_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE)) # Part 3: UpgradeSystemConfig # ProxyAdminOwner will execute part 1 - needs nonce+1 # CB uses CB_SIGNER_SAFE_ADDR which will approve part 1 and execute part 2 - needs nonce+2 .PHONY: gen-validation-cb-3 gen-validation-cb-3: deps-signer-tool $(eval PROXY_ADMIN_OWNER_NONCE := $(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + 1)) $(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 2)) $(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SIGNER_SAFE_ADDR),$(CB_SIGNER_SENDER),coinbase-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(OWNER_SAFE))=$(PROXY_ADMIN_OWNER_NONCE)) # SC uses CB_SC_SAFE_ADDR which has Part 1 and 2 txs pending - needs nonce+2 .PHONY: gen-validation-cb-sc-3 gen-validation-cb-sc-3: deps-signer-tool $(eval PROXY_ADMIN_OWNER_NONCE := $(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + 1)) $(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 2)) $(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SC_SAFE_ADDR),$(SC_SENDER),security-council-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE) SAFE_NONCE_$(call ADDR_UPPER,$(OWNER_SAFE))=$(PROXY_ADMIN_OWNER_NONCE)) # Part 4: UpgradeFeeDisburser # Uses CB_NESTED_SAFE_ADDR which has Part 1 and 2 txs pending - needs nonce+2 .PHONY: gen-validation-cb-4 gen-validation-cb-4: deps-signer-tool $(eval CB_NESTED_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 2)) $(call GEN_VALIDATION,UpgradeFeeDisburser,,$(CB_NESTED_SENDER),coinbase-signer-part-4.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_NESTED_NONCE)) # Part 5: TerminateSmartEscrow .PHONY: gen-validation-cb-5 gen-validation-cb-5: RPC_URL = $(OP_RPC_URL) gen-validation-cb-5: deps-signer-tool $(call GEN_VALIDATION,TerminateSmartEscrow,,$(CB_NESTED_SENDER),coinbase-signer-part-5.json,) # Part 6: WithdrawSmartEscrow # Uses CB_SAFE_ON_OP which executes part 5 - needs nonce+1 .PHONY: gen-validation-cb-6 gen-validation-cb-6: RPC_URL = $(OP_RPC_URL) gen-validation-cb-6: deps-signer-tool $(eval CB_NONCE := $(shell expr $(call GET_NONCE,$(CB_SAFE_ON_OP)) + 1)) $(call GEN_VALIDATION,WithdrawSmartEscrow,$(CB_SAFE_ON_OP),$(CB_NESTED_SENDER),coinbase-signer-part-6.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SAFE_ON_OP))=$(CB_NONCE)) .PHONY: gen-validation-op-2 gen-validation-op-2: RPC_URL = $(OP_RPC_URL) gen-validation-op-2: deps-signer-tool $(call GEN_VALIDATION,WithdrawSmartEscrow,$(OP_SAFE_ON_OP),$(OP_OP_SENDER),optimism-op-mainnet-signer.json,) # Part 7: AddSecurityCouncilSigner # Uses CB_SIGNER_SAFE_ADDR which will approve part 1, 2 and 3 - needs nonce+3 .PHONY: gen-validation-cb-sc-4 gen-validation-cb-sc-4: deps-signer-tool $(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 3)) $(call GEN_VALIDATION,AddSecurityCouncilSigner,,$(SC_SENDER),security-council-signer-part-4.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE)) ## # Deployments ## .PHONY: deploy-fee-disburser deploy-fee-disburser: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \ --rpc-url $(L2_RPC_URL) \ --broadcast \ --verify \ --verifier-api-key $(VERIFIER_API_KEY) \ --ledger --hd-paths $(LEDGER_HD_PATH) \ -vvvv .PHONY: deploy-l1-contracts deploy-l1-contracts: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeploySuperchainConfigAndSystemConfig.s.sol:DeploySuperchainConfigAndSystemConfig \ --rpc-url $(L1_RPC_URL) \ --broadcast \ --verify \ --verifier-api-key $(VERIFIER_API_KEY) \ --ledger --hd-paths $(LEDGER_HD_PATH) \ -vvvv ## # Approvals - UpdateProxyAdminOwnerSigners ## .PHONY: approve-proxyadminowner-signers-cb approve-proxyadminowner-signers-cb: SCRIPT_NAME = UpdateProxyAdminOwnerSigners approve-proxyadminowner-signers-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-proxyadminowner-signers-sc approve-proxyadminowner-signers-sc: SCRIPT_NAME = UpdateProxyAdminOwnerSigners approve-proxyadminowner-signers-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-proxyadminowner-signers-op approve-proxyadminowner-signers-op: SCRIPT_NAME = UpdateProxyAdminOwnerSigners approve-proxyadminowner-signers-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-proxyadminowner-signers-cb-coord approve-proxyadminowner-signers-cb-coord: SCRIPT_NAME = UpdateProxyAdminOwnerSigners approve-proxyadminowner-signers-cb-coord: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) ## # Approvals - UpdateCBSafeSigners ## .PHONY: approve-cbsafesigners-cb approve-cbsafesigners-cb: SCRIPT_NAME = UpdateCBSafeSigners approve-cbsafesigners-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cbsafesigners-sc approve-cbsafesigners-sc: SCRIPT_NAME = UpdateCBSafeSigners approve-cbsafesigners-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES)) ## # Approvals - UpgradeSystemConfig ## .PHONY: approve-systemconfig-cb approve-systemconfig-cb: SCRIPT_NAME = UpgradeSystemConfig approve-systemconfig-cb: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-systemconfig-sc approve-systemconfig-sc: SCRIPT_NAME = UpgradeSystemConfig approve-systemconfig-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES)) ## # Approvals - WithdrawSmartEscrow ## .PHONY: approve-withdraw-smartescrow-cb approve-withdraw-smartescrow-cb: RPC_URL = $(OP_RPC_URL) approve-withdraw-smartescrow-cb: SCRIPT_NAME = WithdrawSmartEscrow approve-withdraw-smartescrow-cb: $(call MULTISIG_APPROVE,$(CB_SAFE_ON_OP),$(SIGNATURES)) .PHONY: approve-withdraw-smartescrow-op approve-withdraw-smartescrow-op: RPC_URL = $(OP_RPC_URL) approve-withdraw-smartescrow-op: SCRIPT_NAME = WithdrawSmartEscrow approve-withdraw-smartescrow-op: $(call MULTISIG_APPROVE,$(OP_SAFE_ON_OP),$(SIGNATURES)) ## # Execute ## .PHONY: execute-proxyadminownersigners execute-proxyadminownersigners: SCRIPT_NAME = UpdateProxyAdminOwnerSigners execute-proxyadminownersigners: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-cbsafesigners execute-cbsafesigners: SCRIPT_NAME = UpdateCBSafeSigners execute-cbsafesigners: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-systemconfig execute-systemconfig: SCRIPT_NAME = UpgradeSystemConfig execute-systemconfig: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-feedisburser execute-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser execute-feedisburser: $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: execute-terminate-smartescrow execute-terminate-smartescrow: RPC_URL = $(OP_RPC_URL) execute-terminate-smartescrow: SCRIPT_NAME = TerminateSmartEscrow execute-terminate-smartescrow: $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: execute-withdraw-smartescrow execute-withdraw-smartescrow: RPC_URL = $(OP_RPC_URL) execute-withdraw-smartescrow: SCRIPT_NAME = WithdrawSmartEscrow execute-withdraw-smartescrow: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-add-signer execute-add-signer: SCRIPT_NAME = AddSecurityCouncilSigner execute-add-signer: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2026-02-19-superchain-separation/README.md ================================================ # Mainnet OP Stack Separation Status: EXECUTED [UpdateProxyAdminOwnerSigners](https://etherscan.io/tx/0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3) [UpdateCBSafeSigners](https://etherscan.io/tx/0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f) [UpgradeSystemConfig](https://etherscan.io/tx/0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb) [UpgradeFeeDisburser](https://etherscan.io/tx/0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6) [TerminateSmartEscrow](https://optimistic.etherscan.io/tx/0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178) [WithdrawSmartEscrow](https://optimistic.etherscan.io/tx/0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b) [AddSecurityCouncilSigner](https://etherscan.io/tx/0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b) ## Description This task executes our migration away from the shared Superchain configuration to a Base-owned configuration. Each signer profile must produce multiple signatures, so you will repeat the signing steps in the signer tool for each part until all parts are complete. The number of signatures required per signer profile: | Signer Profile | Parts | | -------------------------- | ------------ | | Coinbase Signer | 6 (part 1–6) | | Security Council Signer | 4 (part 1–4) | | Optimism Signer | 1 | | Optimism OP Mainnet Signer | 1 | ## Procedure ### Install dependencies #### 1. Update foundry ```bash foundryup ``` #### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node: ```bash brew install node ``` ### Approve the transaction #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run the signing tool ```bash make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - Complete the signature for the current part (e.g., part 1). - Repeat steps 2–3 for each subsequent part (part 2, part 3, … part N) until all parts have been signed. - After all parts are complete, close the signer tool with `Ctrl + C`. #### 4. Send signatures to facilitator Copy the signature outputs for all parts and send them to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transactions. For facilitator instructions, see [FACILITATORS.md](./FACILITATORS.md). ================================================ FILE: mainnet/2026-02-19-superchain-separation/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', 'solady/=lib/solady/src/', '@solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/AddSecurityCouncilSigner.s.sol/1/run-1772559435293.json ================================================ { "transactions": [ { "hash": "0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "0", "0x0d582f13000000000000000000000000bde1845c879942fc326f247ad708677733dd55940000000000000000000000000000000000000000000000000000000000000008", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xfd658319c99cff49476e7e692935ad63fd8edb9564cefebef73a018e588a10b667af0bd5778ba8e1876f0959b64ac0178a0095c28042d131c7f531dcb7d3b1701c9d2899be8cf5a986b38afa3c0944fae9a41ceb3b865929f596e9171a200a96d50db6881bac9ece9c619a47d80c249e89df342733bdf83df9b950792c16c96b641cee52af07fb419041a77669fa8b1fca34a5aaedbfd2ddeba4b0fea29b00f4d7a276dd60dce1dcd3e4b3cc55745bb365e929b0fd9fdbc5c71ed5d78f6562aaa6221bd550fd9308d97a9a963e90b2be14e7fdb9db1579aa2333072c3976a3c4bfca3f63d34adba8e73e67e6523e13dc598c91c31f8e97f3f9fc5ac426bda6f75cfc2b1badda1c6da891e12d351a1c1d9ea34cbc9f4c5ef80e7fa9f2f60d18a738d6c8a96c9df2d806415c0e2cd8bd2632f18470f7aceb0cec6de73e74ef69bd5232d0411c8074bce08d825e17c70dfb8ba50472e7860d2169922c3c296bd899903a2c6e7b6f1408d271e0b2ac1a8410b9e5d5636376024b590a6b0eedaa275d64c5c466121b597e4140c168efd09ac0af8bf2c9c1287bb316d0dcc494e1a91bde55d23fd3e50c2eefb3bc25a1e34e399935db146532bcd8ef56770c1e0566463ff1016121d71b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2c829", "value": "0x0", "input": "0x6a76120200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000bde1845c879942fc326f247ad708677733dd559400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7fd658319c99cff49476e7e692935ad63fd8edb9564cefebef73a018e588a10b667af0bd5778ba8e1876f0959b64ac0178a0095c28042d131c7f531dcb7d3b1701c9d2899be8cf5a986b38afa3c0944fae9a41ceb3b865929f596e9171a200a96d50db6881bac9ece9c619a47d80c249e89df342733bdf83df9b950792c16c96b641cee52af07fb419041a77669fa8b1fca34a5aaedbfd2ddeba4b0fea29b00f4d7a276dd60dce1dcd3e4b3cc55745bb365e929b0fd9fdbc5c71ed5d78f6562aaa6221bd550fd9308d97a9a963e90b2be14e7fdb9db1579aa2333072c3976a3c4bfca3f63d34adba8e73e67e6523e13dc598c91c31f8e97f3f9fc5ac426bda6f75cfc2b1badda1c6da891e12d351a1c1d9ea34cbc9f4c5ef80e7fa9f2f60d18a738d6c8a96c9df2d806415c0e2cd8bd2632f18470f7aceb0cec6de73e74ef69bd5232d0411c8074bce08d825e17c70dfb8ba50472e7860d2169922c3c296bd899903a2c6e7b6f1408d271e0b2ac1a8410b9e5d5636376024b590a6b0eedaa275d64c5c466121b597e4140c168efd09ac0af8bf2c9c1287bb316d0dcc494e1a91bde55d23fd3e50c2eefb3bc25a1e34e399935db146532bcd8ef56770c1e0566463ff1016121d71b00000000000000000000000000000000000000000000000000", "nonce": "0x54", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x213fe2c", "logs": [ { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x000000000000000000000000bde1845c879942fc326f247ad708677733dd5594" ], "data": "0x", "blockHash": "0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5", "blockNumber": "0x17709a0", "blockTimestamp": "0x69a71c47", "transactionHash": "0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b", "transactionIndex": "0x12c", "logIndex": "0x45e", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000008", "blockHash": "0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5", "blockNumber": "0x17709a0", "blockTimestamp": "0x69a71c47", "transactionHash": "0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b", "transactionIndex": "0x12c", "logIndex": "0x45f", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x234852df02c6e285dd47af493352c407aeec926e1e079c4355709d5902f92afe" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5", "blockNumber": "0x17709a0", "blockTimestamp": "0x69a71c47", "transactionHash": "0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b", "transactionIndex": "0x12c", "logIndex": "0x460", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000080200000000008040000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000004010000000000000000000000000000000000020010000000000000000000040000000000000000000000000000000000000000000000000000080000000000000000001001000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x117b78c970396446c891ba82439351555c537f04d0d90222a9d523975bfe599b", "transactionIndex": "0x12c", "blockHash": "0x209657e9e7454b34db36f76168bc62670e21cfb80b7628e1daca232f0a8f21b5", "blockNumber": "0x17709a0", "gasUsed": "0x20398", "effectiveGasPrice": "0x960f3e9", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559435293, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/DeployFeeDisburser.s.sol/8453/run-1771962505194.json ================================================ { "transactions": [ { "hash": "0x031c32563f60ac00e52edb55a05936cb648a7f70b864321cfa9bdcf05345052d", "transactionType": "CREATE", "contractName": "FeeDisburser", "contractAddress": "0xda70b4cd0cd8193f665a7d49cefd5f79f11fcc75", "function": null, "arguments": [ "0x23B597f33f6f2621F77DA117523Dffd634cDf4ea", "86400" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0xa082f", "value": "0x0", "input": "0x60c060405234801561000f575f80fd5b5060405161092238038061092283398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161082e6100f45f395f8181610156015261020501525f818160c2015261034e015261082e5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161010591906106c9565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106e2565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b891600401610720565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104679190610790565b600181111561047857610478610763565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053391906107ae565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107e1565b8173ffffffffffffffffffffffffffffffffffffffff16311061067a578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610654573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067891906107e1565b505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106db602083018461067d565b9392505050565b8082018082111561071a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f61075a606083018461067d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156107a0575f80fd5b8151600281106106db575f80fd5b5f602082840312156107be575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106db575f80fd5b5f602082840312156107f1575f80fd5b505191905056fea2646970667358221220336c595fd7137b3c3f4c6426e8c647a4cef35063703231a6acf3a4f77f7ea01e64736f6c6343000819003300000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000015180", "nonce": "0x16", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x11c933e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x031c32563f60ac00e52edb55a05936cb648a7f70b864321cfa9bdcf05345052d", "transactionIndex": "0x3b", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x289d1d3", "gasUsed": "0x7b787", "effectiveGasPrice": "0x5f9859", "blobGasUsed": "0x28ca6", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xda70b4cd0cd8193f665a7d49cefd5f79f11fcc75", "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x2c2f1c", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x1c1e13ae", "l1GasPrice": "0x2b9ccfe", "l1GasUsed": "0x4b2f" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771962505194, "chain": 8453, "commit": "b338d09" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/DeploySuperchainConfigAndSystemConfig.s.sol/1/run-1771973281770.json ================================================ { "transactions": [ { "hash": "0x5fe6086ac9be6441d08b253758f6da6b23883bf2494facfc18773a7930381f5b", "transactionType": "CREATE", "contractName": "SuperchainConfig", "contractAddress": "0xc4ceeb264fa35a022e470acc3c6a522308f3ec02", "function": null, "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0x14536667Cd30e52C0b458BaACcB9faDA7046E056" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0xd0ff9", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051610bd4380380610bd483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a051610af76100dd600039600081816102ad015281816102d601526109110152600081816101d4015281816102630152818161085f01526108d00152610af76000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635c975abb11610097578063a967905811610066578063a9679058146102ab578063b2bff544146102d1578063dad544e0146102f8578063f125af6b1461030057600080fd5b80635c975abb14610256578063724c184c1461025e57806376a67a5114610285578063820057151461029857600080fd5b80633e47158c116100d35780633e47158c146101a5578063452a9320146101d257806354fd4d50146101f857806357b001f91461024157600080fd5b806304dbe3fe146101055780630e3b6d1f1461012b5780632e48152c1461014b57806332dfadd91461016e575b600080fd5b610118610113366004610990565b610309565b6040519081526020015b60405180910390f35b610118610139366004610990565b60006020819052908152604090205481565b61015e610159366004610990565b610353565b6040519015158152602001610122565b61015e61017c366004610990565b73ffffffffffffffffffffffffffffffffffffffff166000908152602081905260409020541590565b6101ad61039f565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6102346040518060400160405280600581526020017f322e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906109ad565b61025461024f366004610990565b6105aa565b005b61015e610610565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b610254610293366004610990565b610621565b6102546102a6366004610990565b6106fa565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101ad6107cf565b62784ce0610118565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604081205480820361033f5750600092915050565b61034c62784ce082610a4f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120548082036103895750600092915050565b61039662784ce082610a4f565b42109392505050565b6000806103ca7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116156103ed57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026104309190610a67565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061048b906060015b604051602081830303815290604052805190602001205490565b146104c2576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080513060208201526001918101919091526000906104e490606001610471565b905073ffffffffffffffffffffffffffffffffffffffff811615610578578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610aa4565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b2610847565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260408083209290925590519182527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91015b60405180910390a150565b600061061c6000610353565b905090565b6106296108b8565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902054156106a3576040517fb7d8689400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589101610605565b610702610847565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120549003610778576040517f335b869500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161069a565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f1163213dbd11d2d966db59d270ddfc3c6fbe0540ffe8f0e7f38c5cac16d2f36b9101610605565b60006107d961039f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c9190610aa4565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108b6576040517fafbe9bc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480159061093457503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614155b156108b6576040517fd8f0cd1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461098d57600080fd5b50565b6000602082840312156109a257600080fd5b813561034c8161096b565b600060208083528351808285015260005b818110156109da578581018301518582016040015282016109be565b818111156109ec576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610a6257610a62610a20565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a9f57610a9f610a20565b500290565b600060208284031215610ab657600080fd5b815161034c8161096b56fea26469706673582212201fc2d4748a57ea5bb9d08639578195cae0662d14d2d150b1f7ec989d64c7ce9f64736f6c634300080f00330000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "nonce": "0x43", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "function": null, "arguments": [ "0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0xa966d", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161094838038061094883398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206109288339815191525490565b600080516020610928833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b610834806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212206cc3f4a7681ca9dbc3f40b95accbd7755aa5af7dd2a1ed42bd0d302a66ea6bdf64736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc", "nonce": "0x44", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "function": "upgradeTo(address)", "arguments": [ "0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "gas": "0xfe85", "value": "0x0", "input": "0x3659cfe6000000000000000000000000c4ceeb264fa35a022e470acc3c6a522308f3ec02", "nonce": "0x45", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "function": "changeAdmin(address)", "arguments": [ "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "gas": "0x98ca", "value": "0x0", "input": "0x8f2839700000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "nonce": "0x46", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952", "transactionType": "CREATE", "contractName": "SystemConfig", "contractAddress": "0x0507aaa21c678976fcdc7e804836acd6ebc17a44", "function": null, "arguments": null, "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0x377955", "value": "0x0", "input": "0x60a06040523480156200001157600080fd5b5060046080526200005f6200004860017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000135565b60001b6000196200006f60201b62001b241760201c565b6200006962000073565b6200015b565b9055565b600054610100900460ff1615620000e05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000133576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015657634e487b7160e01b600052601160045260246000fd5b500390565b6080516131046200017e600039600081816105620152610b3801526131046000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80637e54b8ad116101f4578063d220a9e01161011a578063f2c4bc9e116100ad578063f8c68de01161007c578063f8c68de0146109d2578063fd32aa0f146109da578063fe3d5710146109e2578063ffa1ad7414610a1b57600080fd5b8063f2c4bc9e1461098f578063f2fde38b146109a2578063f45e65d8146109b5578063f68016b7146109be57600080fd5b8063e0e2016d116100e9578063e0e2016d14610956578063e81b2c6d1461095e578063ec70751714610967578063f2b4e6171461098757600080fd5b8063d220a9e01461092d578063d6ae3cd51461093d578063dac6e63a14610946578063dad544e01461094e57600080fd5b8063b40a817c11610192578063c4e8ddfa11610161578063c4e8ddfa146107c6578063c9b26f61146107ce578063c9ff2d16146107e1578063cc731b02146107f957600080fd5b8063b40a817c1461077c578063bc49ce5f1461078f578063bfb14fb714610797578063c0fd4b41146107b357600080fd5b80639b7d7f0a116101ce5780639b7d7f0a146106ca578063a39fac12146106d2578063a62611a214610748578063a71198691461077457600080fd5b80637e54b8ad146106915780638da5cb5b14610699578063935f029e146106b757600080fd5b806321d7fde5116102d95780634add321d116102775780635c975abb116102465780635c975abb146106665780635d73369c1461066e578063715018a6146106765780637616f0e81461067e57600080fd5b80634add321d146105c75780634d5d9a2a146105cf5780634f16540b1461060057806354fd4d501461062757600080fd5b80633e47158c116102b35780633e47158c1461058c578063452a93201461059457806347af267b1461059c57806348cd4cb1146105bf57600080fd5b806321d7fde51461052857806335e80ab31461053b57806338d38c971461055b57600080fd5b806316d3bc7f116103515780631fd19ee1116103205780631fd19ee1146104a657806320f06fdc146104ae57806321326849146104c1578063215b7a1c1461052057600080fd5b806316d3bc7f1461045457806318d139181461047857806319f5cea81461048b5780631edd50981461049357600080fd5b80630a49cb031161038d5780630a49cb03146104115780630ae14b1b146104195780630c18c16214610438578063155b6c6f1461044157600080fd5b806306c92657146103b4578063078f29cf146103cf5780630a2ca2a9146103fc575b600080fd5b6103bc610a23565b6040519081526020015b60405180910390f35b6103d7610a51565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c6565b61040f61040a366004612ac6565b610a8a565b005b6103d7610ab4565b631dcd65005b60405167ffffffffffffffff90911681526020016103c6565b6103bc60655481565b61040f61044f366004612b16565b610ae4565b606a5461041f906c01000000000000000000000000900467ffffffffffffffff1681565b61040f610486366004612ac6565b610afa565b6103bc610b0b565b61040f6104a1366004612c80565b610b36565b6103d7610ed2565b61040f6104bc366004612df0565b610efc565b7f435553544f4d5f4741535f544f4b454e00000000000000000000000000000000600052606d6020527f3ec9a18bd22a834e2a13465cc2aa2a9aebb161ffdebf39cdb0028dbb1b5394b45460ff165b60405190151581526020016103c6565b6103d7610f0d565b61040f610536366004612e14565b610f3d565b606c546103d79073ffffffffffffffffffffffffffffffffffffffff1681565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c6565b6103d7610f4f565b6103d761115a565b6105106105aa366004612e3e565b606d6020526000908152604090205460ff1681565b6103bc6111ee565b61041f61121e565b606a546105eb9068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016103c6565b6103bc7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252600681527f332e31332e320000000000000000000000000000000000000000000000000000602082015290516103c69190612ec2565b610510611244565b6103bc611451565b61040f61147c565b61040f61068c366004612ed5565b611490565b6103bc6114a1565b60335473ffffffffffffffffffffffffffffffffffffffff166103d7565b61040f6106c5366004612ef0565b6114cc565b6103d76114de565b6106da61150e565b6040516103c69190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b606c5461041f9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6103d761161f565b61040f61078a366004612ed5565b61164f565b6103bc611660565b6068546105eb9068010000000000000000900463ffffffff1681565b61040f6107c1366004612e14565b61168b565b6103d761169d565b61040f6107dc366004612e3e565b6116cd565b606a546105eb90640100000000900463ffffffff1681565b6108bd6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103c69190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546105eb9063ffffffff1681565b6103bc606b5481565b6103d76116de565b6103d761170e565b6103bc611762565b6103bc60675481565b6068546105eb906c01000000000000000000000000900463ffffffff1681565b6103d761178d565b61040f61099d366004612f20565b611809565b61040f6109b0366004612ac6565b611a1a565b6103bc60665481565b60685461041f9067ffffffffffffffff1681565b6103bc611ace565b6103bc611af9565b606a54610a089074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016103c6565b6103bc600081565b610a4e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b81565b6000610a85610a8160017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b5490565b905090565b610a92611b28565b610ab173ffffffffffffffffffffffffffffffffffffffff8216611ba9565b50565b6000610a85610a8160017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b610aec611b28565b610af68282611c0a565b5050565b610b02611b28565b610ab181611d1a565b610a4e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610b76575060005460ff8083169116105b610c07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610c40611d9e565b610c48611e1f565b610c518c611a1a565b610c5a89611ba9565b610c648b8b611ebe565b610c6d88611fc3565b610c967f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08889055565b610cc9610cc460017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b869055565b610cfd610cf760017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b85519055565b610d34610d2b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b60208601519055565b610d6b610d6260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b60408601519055565b610da2610d9960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b60608601519055565b610dd9610dd060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b60808601519055565b610e10610e0760017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b60a08601519055565b610e18612119565b610e2186612181565b606b839055606c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b6000610a857f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b610f04611b28565b610ab1816125f5565b6000610a85610a8160017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b610f45611b28565b610af68282611ebe565b600080610f7a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811615610f9d57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610fe09190612f96565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061103b906060015b604051602081830303815290604052805190602001205490565b14611072576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061109490606001611021565b905073ffffffffffffffffffffffffffffffffffffffff811615611128578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111219190612fd3565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606c54604080517f452a9320000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163452a93209160048083019260209291908290030181865afa1580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a859190612fd3565b6000610a85610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b606954600090610a859063ffffffff6a0100000000000000000000820481169116612ff0565b7f4554485f4c4f434b424f580000000000000000000000000000000000000000006000908152606d6020527f58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd80654819060ff166112a7576112a2610ab4565b61131d565b6112af610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131d9190612fd3565b606c546040517f2e48152c0000000000000000000000000000000000000000000000000000000081526000600482015291925073ffffffffffffffffffffffffffffffffffffffff1690632e48152c90602401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061301c565b8061144b5750606c546040517f2e48152c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015290911690632e48152c90602401602060405180830381865afa158015611427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b919061301c565b91505090565b610a4e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611484611b28565b61148e6000612662565b565b611498611b28565b610ab1816126d9565b610a4e60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b6114d4611b28565b610af6828261274c565b6000610a85610a8160017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061155361161f565b73ffffffffffffffffffffffffffffffffffffffff16815260200161157661169d565b73ffffffffffffffffffffffffffffffffffffffff168152602001611599610a51565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115bc610ab4565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115df6114de565b73ffffffffffffffffffffffffffffffffffffffff168152602001611602610f0d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b6000610a85610a8160017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611657611b28565b610ab181611fc3565b610a4e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b611693611b28565b610af68282612822565b6000610a85610a8160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b6116d5611b28565b610ab181611ba9565b6000610a85610a8160017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b6000611718610f4f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ca573d6000803e3d6000fd5b610a4e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b600080611798610ab4565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2b4e6176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b9190612fd3565b611811611d9e565b6000828152606d602052604090205460ff1615158115150361185f576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4554485f4c4f434b424f5800000000000000000000000000000000000000000082036119b0576000828152606d602052604090205460ff1680156118a2575080155b801561193a575060006118b3610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119219190612fd3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611971576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611979611244565b156119b0576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152606d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415159081179091559051909184917fb876f6594132c89891d2fd198e925e999be741ec809abb58bfe9b966876cc06c9190a35050565b611a22611b28565b73ffffffffffffffffffffffffffffffffffffffff8116611ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610bfe565b610ab181612662565b610a4e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b610a4e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff16331461148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bfe565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611bfe9190612ec2565b60405180910390a35050565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611d0d9190612ec2565b60405180910390a3505050565b611d437f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003611bcd565b33611da7610f4f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611de8575033611dcf61170e565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148e576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e6129f4565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506001611cdc565b611fcb61121e565b67ffffffffffffffff168167ffffffffffffffff161015612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b631dcd650067ffffffffffffffff821611156120c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610bfe565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611bcd565b612147610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b60000361148e5761148e61217c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115612231576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610bfe565b6001816040015160ff16116122c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610bfe565b6068546080820151825167ffffffffffffffff909216916122e99190613039565b63ffffffff161115612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b6000816020015160ff16116123ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610bfe565b8051602082015163ffffffff82169160ff9091169061240e908290613058565b61241891906130a2565b63ffffffff16146124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610bfe565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b606a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040805160208082019390935281518082039093018352810190526007611bcd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606c80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040805160208082019390935281518082039093018352810190526006611bcd565b7fff000000000000000000000000000000000000000000000000000000000000008116156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606582905560668190556040805160208101849052908101829052600090606001611f8c565b60018263ffffffff1610156128b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610bfe565b60018163ffffffff161015612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931691861691909117919091179091556040516000916129bd91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506004611cdc565b600054610100900460ff16612a8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e33612662565b73ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b8035612ac181612a94565b919050565b600060208284031215612ad857600080fd5b8135612ae381612a94565b9392505050565b803563ffffffff81168114612ac157600080fd5b803567ffffffffffffffff81168114612ac157600080fd5b60008060408385031215612b2957600080fd5b612b3283612aea565b9150612b4060208401612afe565b90509250929050565b60405160c0810167ffffffffffffffff81118282101715612b93577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114612ac157600080fd5b600060c08284031215612bbc57600080fd5b60405160c0810181811067ffffffffffffffff82111715612c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050808235612c1781612a94565b81526020830135612c2781612a94565b60208201526040830135612c3a81612a94565b60408201526060830135612c4d81612a94565b60608201526080830135612c6081612a94565b608082015260a0830135612c7381612a94565b60a0919091015292915050565b60008060008060008060008060008060008b8d036102a0811215612ca357600080fd5b8c35612cae81612a94565b9b50612cbc60208e01612aea565b9a50612cca60408e01612aea565b995060608d01359850612cdf60808e01612afe565b975060a08d0135612cef81612a94565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215612d2157600080fd5b50612d2a612b49565b612d3660c08e01612aea565b8152612d4460e08e01612b99565b6020820152612d566101008e01612b99565b6040820152612d686101208e01612aea565b6060820152612d7a6101408e01612aea565b60808201526101608d01356fffffffffffffffffffffffffffffffff81168114612da357600080fd5b60a08201529450612db76101808d01612ab6565b9350612dc78d6101a08e01612baa565b92506102608c01359150612dde6102808d01612ab6565b90509295989b509295989b9093969950565b600060208284031215612e0257600080fd5b813561ffff81168114612ae357600080fd5b60008060408385031215612e2757600080fd5b612e3083612aea565b9150612b4060208401612aea565b600060208284031215612e5057600080fd5b5035919050565b6000815180845260005b81811015612e7d57602081850181015186830182015201612e61565b81811115612e8f576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612ae36020830184612e57565b600060208284031215612ee757600080fd5b612ae382612afe565b60008060408385031215612f0357600080fd5b50508035926020909101359150565b8015158114610ab157600080fd5b60008060408385031215612f3357600080fd5b823591506020830135612f4581612f12565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612f9157612f91612f50565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612fce57612fce612f50565b500290565b600060208284031215612fe557600080fd5b8151612ae381612a94565b600067ffffffffffffffff80831681851680830382111561301357613013612f50565b01949350505050565b60006020828403121561302e57600080fd5b8151612ae381612f12565b600063ffffffff80831681851680830382111561301357613013612f50565b600063ffffffff80841680613096577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156130c5576130c5612f50565b0294935050505056fea264697066735822122015eb76369f67aa910a0fae5f4a9e9a9b9b4b22d853abcf77ae151ce1e4249aba64736f6c634300080f0033", "nonce": "0x47", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x12bf56f", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x5fe6086ac9be6441d08b253758f6da6b23883bf2494facfc18773a7930381f5b", "transactionIndex": "0x9e", "blockHash": "0x3d42e88b68dc571e813d40d06dff53353a441f9263771ad756105977d0d6b2a7", "blockNumber": "0x1764bb3", "gasUsed": "0xa0c4a", "effectiveGasPrice": "0x2782de6", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xc4ceeb264fa35a022e470acc3c6a522308f3ec02" }, { "status": "0x1", "cumulativeGasUsed": "0xec2b05", "logs": [ { "address": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "blockTimestamp": "0x699e2a9f", "transactionHash": "0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a", "transactionIndex": "0xc8", "logIndex": "0x15d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xbee0439e568f1ce65bbc1fd28c1dac2be19e08c9d771f2b1b3c5d0449525a06a", "transactionIndex": "0xc8", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "gasUsed": "0x824f2", "effectiveGasPrice": "0x2672164", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c" }, { "status": "0x1", "cumulativeGasUsed": "0xece34a", "logs": [ { "address": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000c4ceeb264fa35a022e470acc3c6a522308f3ec02" ], "data": "0x", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "blockTimestamp": "0x699e2a9f", "transactionHash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43", "transactionIndex": "0xc9", "logIndex": "0x15e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000080400000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000002000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43", "transactionIndex": "0xc9", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "gasUsed": "0xb845", "effectiveGasPrice": "0x2672164", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x18f2d11", "logs": [ { "address": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "blockTimestamp": "0x699e2a9f", "transactionHash": "0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a", "transactionIndex": "0x12c", "logIndex": "0x28e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xe75671e5b58fe5265cd96f886f3378ff75b0fb11ba75dee924d828a744cf482a", "transactionIndex": "0x12c", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "gasUsed": "0x6e9f", "effectiveGasPrice": "0x2672164", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0xb535ff7f118260a952ce65e7ff41b1743de8ee6c", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1e3a3d5", "logs": [ { "address": "0x0507aaa21c678976fcdc7e804836acd6ebc17a44", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "blockTimestamp": "0x699e2a9f", "transactionHash": "0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952", "transactionIndex": "0x13d", "logIndex": "0x2dd", "removed": false } ], "logsBloom": "0x00000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000", "type": "0x2", "transactionHash": "0x3b68285ae90531b2b358d03e271eb84e9ad449058eda5f1ea7dbccea04daf952", "transactionIndex": "0x13d", "blockHash": "0xb97757e1515940073043b50e761efbe645278f54438f2175d5cd180818d7e3ee", "blockNumber": "0x1764bb6", "gasUsed": "0x2aac1a", "effectiveGasPrice": "0x2672164", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0x0507aaa21c678976fcdc7e804836acd6ebc17a44" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771973281770, "chain": 1, "commit": "3f75356" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/TerminateSmartEscrow.s.sol/10/run-1772559267231.json ================================================ { "transactions": [ { "hash": "0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f", "0", "0x0c08bf88", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "gas": "0x24eba", "value": "0x0", "input": "0x6a761202000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000040c08bf880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x346cbb", "logs": [ { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000040c08bf880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cde48d33a3a10c2ef3f3c4a8e2cb828bc85ed1b35dcd55a21f975198ec896711789bdc406bf96894648b25fdab941165707a65ca4b4b08239cc81e1c0b519f91bedc409e68d1990e6b67295eb84e4845a01517098b9d45c7f936f765b87a34179186cafbc19c7a73bae989ea3e7e3ed2e43d1151f803b9fb0e9fe727cfff188341c11cba1dd26e1e66f65415843579fe3b964f862fa71c0481f848ab9ddea6971324a59d74d84ca7d6f15ae711176beb571adef70c9c994378761edd2a1ea851fd71b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e", "blockNumber": "0x8d9a0f5", "blockTimestamp": "0x69a71ba3", "transactionHash": "0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178", "transactionIndex": "0x7", "logIndex": "0x78", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x6d0d90585834980bd0e5603341ff50b06349c11e0bf9241d03f6d065f12a262b" ], "data": "0x", "blockHash": "0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e", "blockNumber": "0x8d9a0f5", "blockTimestamp": "0x69a71ba3", "transactionHash": "0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178", "transactionIndex": "0x7", "logIndex": "0x79", "removed": false }, { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4a42b8883abd35c22e8c2ef8373b2641bbfe8814cafe91bfa9530269c939a7490000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e", "blockNumber": "0x8d9a0f5", "blockTimestamp": "0x69a71ba3", "transactionHash": "0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178", "transactionIndex": "0x7", "logIndex": "0x7a", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000100000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000010000000000000000000000000000800000000000008000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000001000000000000000000000000000000040000000000020000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000004", "type": "0x2", "transactionHash": "0x75ddb1f30d7fc14a4cea7ab7364cf34001b01863fee954c239564dbcfacbb178", "transactionIndex": "0x7", "blockHash": "0x91604538d951272324a39cb09793a8af265432e6568362068a5dc1a07f84a56e", "blockNumber": "0x8d9a0f5", "gasUsed": "0x193eb", "effectiveGasPrice": "0x452", "blobGasUsed": "0x1af40", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "contractAddress": null, "daFootprintGasScalar": "0x190", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x8dbeb1", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x18b554d57", "l1GasPrice": "0xa67a4ae", "l1GasUsed": "0x1141" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559267231, "chain": 10, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "0", "0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xdec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2a994", "value": "0x0", "input": "0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7dec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b00000000000000000000000000000000000000000000000000", "nonce": "0x4e", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1e5ca0c", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "blockTimestamp": "0x69a71a07", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "logIndex": "0x31e", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x4a63cc4fd50d3eaf0b6714725c2c70ca4ba8a0615b7729e6f749399a682db1ac" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "blockTimestamp": "0x69a71a07", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "logIndex": "0x31f", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000100800000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "gasUsed": "0x1ed74", "effectiveGasPrice": "0xda301d8", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558857931, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558762154.json ================================================ { "transactions": [ { "hash": "0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "0", "0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb77fd3671bd7317da4af668e8bd1b14d19b1c939d7c5ad4affe3b463b5cd431d7849734b88743b175ab29d0bf6a03836735f92ccb231f969230dada8c555cfb31b6069c6f990514b8c9b4b837860f17516556e84ee728e276397cf792cdf88a41e26c118d6919ce23bb15bc26ee57947befe8a1fbddef2c18224c7cc235deebae61cc2344acd85489b564ca1af6efaf2ad6a33ed9627d80cd486c3ebc3297682b9170ccef8f8d714770785175c5ffe6a69726ee9c7497219d3e171133ebf2c04caec1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x2110f", "value": "0x0", "input": "0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b77fd3671bd7317da4af668e8bd1b14d19b1c939d7c5ad4affe3b463b5cd431d7849734b88743b175ab29d0bf6a03836735f92ccb231f969230dada8c555cfb31b6069c6f990514b8c9b4b837860f17516556e84ee728e276397cf792cdf88a41e26c118d6919ce23bb15bc26ee57947befe8a1fbddef2c18224c7cc235deebae61cc2344acd85489b564ca1af6efaf2ad6a33ed9627d80cd486c3ebc3297682b9170ccef8f8d714770785175c5ffe6a69726ee9c7497219d3e171133ebf2c04caec1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4d", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1f5fc39", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a", "blockNumber": "0x1770968", "blockTimestamp": "0x69a719a7", "transactionHash": "0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13", "transactionIndex": "0x1c1", "logIndex": "0x3c9", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xcbfee2aaf1f4a88d8c7ab9b62edb353e928e226a94ec4ac0156d81b7d64c6f44" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a", "blockNumber": "0x1770968", "blockTimestamp": "0x69a719a7", "transactionHash": "0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13", "transactionIndex": "0x1c1", "logIndex": "0x3ca", "removed": false } ], "logsBloom": "0x00000400400000000000000010000000000000000008000000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400000000008400000000000000000000000000800000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000000000000000000000000100000000000001000", "type": "0x2", "transactionHash": "0x73f4719c586a50cea1ffbbcaa369ed5f0b5db27dacf0f7c064707eb6ff8a6d13", "transactionIndex": "0x1c1", "blockHash": "0x5eec65612b926e4fb25b18b6d449f8515aa13d9d32991223b9c44d2ec965612a", "blockNumber": "0x1770968", "gasUsed": "0x17f08", "effectiveGasPrice": "0xf17d56f", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558762154, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558857931.json ================================================ { "transactions": [ { "hash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "0", "0xd4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xdec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2a994", "value": "0x0", "input": "0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7dec5607c6bba2296d1e0b4f5ae239fad109a9405ecd3969d234f6fca6ec53da852946e0c74eb8a840c00c8b3d0bd5ca534356ab3f871ffa9563e8172876e57721c8a94aecd7d9c41466f650ff62350d15b714dcb7ae3235bc170f1d85e76374a565908b3baf52002a64afc564f71eb6c624108b992bcd539145ccd6e34e84d63551ca6a856248ae6f6d034f23da1661c100b7adb5d60ab7fca46d6c12e869a01afa8022af70e0d4210dd20068d9c3caa5288b7d3d89b8352f3e06efd482da76322a51b2315d679c1499169c53cfe548c228a73321470971e0cb8a0864f881336e1fdba548b1ce1f6b78fccf2a48d65873ee231a84918ea22c1689e68d3092944f3e78f1bbef6944a855c755dcec417040f2bc0b829ccd3b4723fd16c1dc1763d56442b4a7bcbad9a54f045420f05aa0436886d42e1410e894575951c93f8e1aa385ceb1e1cc4a3bf34475ae347243601e3b69d96c4d4e550d5ed3dd7fc8d0b75abc2be1d725e76bd5f3f74f5fc5f45e1c638767ded826f16ffe79db84b74c293fedbab16881c240a94ae6e540f5cc46609e984b613f5f818e02f06f653b01212879eb3b8c02f1aa70faa7979b2fc9e1a07ccc384cfe80e679ebe7630658119e2b7af1089f9f51b00000000000000000000000000000000000000000000000000", "nonce": "0x4e", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1e5ca0c", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "blockTimestamp": "0x69a71a07", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "logIndex": "0x31e", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x4a63cc4fd50d3eaf0b6714725c2c70ca4ba8a0615b7729e6f749399a682db1ac" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "blockTimestamp": "0x69a71a07", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "logIndex": "0x31f", "removed": false } ], "logsBloom": "0x00000000400000001000000010000000000000000008000000000008040000000000000000000000800000000000000000000000000000100800000000000000000000000000000000000000000000000000000008000000000000400000000000000000400000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xb791395ec26b0b2a443d74c042c8105d3a65a63c3d53af00479b22a8151fe2c7", "transactionIndex": "0x1ae", "blockHash": "0x0e83f196dfa8bb1e280a55a6f3cd185b025c1da43e052a7d32f2f2a39b6ee6aa", "blockNumber": "0x1770970", "gasUsed": "0x1ed74", "effectiveGasPrice": "0xda301d8", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558857931, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/1/run-1772558895941.json ================================================ { "transactions": [ { "hash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000088482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001c870776b168a9ffae80c51f050c611edd2467410000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x5e09a", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f600000000000000000000000000000000000000000000000000000000000000de4858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d20000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000088482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000000000000000000000000000000000000000000100000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000001c870776b168a9ffae80c51f050c611edd2467410000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006cd3850756b7894774ab715d136f9dd02837de500000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a11000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4f", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x153d5a8", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x459", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45a", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45b", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45c", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45d", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45e", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x45f", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x460", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x461", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x462", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xea2e51f62de22ec9d80a45b4f788c33c59a71b773fe3dda2b5fe8851ffb8655c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "blockTimestamp": "0x69a71a2b", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "logIndex": "0x463", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000088000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x17d10687b8d9e0f7ce68b65e5cbc23bbceb7ac494a99746a6a2f979cd7206e4f", "transactionIndex": "0x5c", "blockHash": "0xce5799969952049f6fed5a3ea4db917e787ebc94afc497b7240bece2c05ee094", "blockNumber": "0x1770973", "gasUsed": "0x4414f", "effectiveGasPrice": "0xd17f166", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558895941, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x32bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "gas": "0x27e36", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018632bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b0000000000000000000000000000000000000000000000000000", "nonce": "0x4b", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20a98c4", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a" ], "data": "0x", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "blockTimestamp": "0x69a7192f", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "logIndex": "0x4ed", "removed": false }, { "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xfc5bb803a2b2c2b8ef2a18886cd5aa51ae6070a93c5612c37067398d9cbb9fc0" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "blockTimestamp": "0x69a7192f", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "logIndex": "0x4ee", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000200000001000000000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000010000000000000000008000000000000000800000000000000000000000000000000000000000000080000000000000002000000000000000200000400000000000100000000000000000", "type": "0x2", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "gasUsed": "0x1b463", "effectiveGasPrice": "0x110250fa", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558642511, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558365917.json ================================================ { "transactions": [ { "hash": "0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "0", "0xd4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6ab550791e874b605d8b0f398e098023ec50b1be802ddde5396591ab0b7666363883b29a91c58fcfa6ade4a2d80969f010759f59b5cf26e0b5b30b85b55b2ecd1b1de1a93c26bcdc21405bea35a105e9fd4c06d5d09fc8c3ce755fe2a2756deb690b2da92af78bc9f7d58954f95830a10b91db78457679469139aed44d528deb9a1b15800fa038c13b5758cbaa19675195f6f538a2cb0583072f5f1f9c3aac17a16d5e8eafd9ceddaea76faa8ce6e2b6685a9c1693c87acb05222bcaa6e19b1a5d781b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x2110f", "value": "0x0", "input": "0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36ab550791e874b605d8b0f398e098023ec50b1be802ddde5396591ab0b7666363883b29a91c58fcfa6ade4a2d80969f010759f59b5cf26e0b5b30b85b55b2ecd1b1de1a93c26bcdc21405bea35a105e9fd4c06d5d09fc8c3ce755fe2a2756deb690b2da92af78bc9f7d58954f95830a10b91db78457679469139aed44d528deb9a1b15800fa038c13b5758cbaa19675195f6f538a2cb0583072f5f1f9c3aac17a16d5e8eafd9ceddaea76faa8ce6e2b6685a9c1693c87acb05222bcaa6e19b1a5d781b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x48", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x19e7b0f", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf", "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110" ], "data": "0x", "blockHash": "0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75", "blockNumber": "0x1770948", "blockTimestamp": "0x69a7181b", "transactionHash": "0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0", "transactionIndex": "0x131", "logIndex": "0x30a", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xd5e65d6cf89b35f05bdb8edd290944fd61f1281f86d38957c335ed4760b4dbe2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75", "blockNumber": "0x1770948", "blockTimestamp": "0x69a7181b", "transactionHash": "0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0", "transactionIndex": "0x131", "logIndex": "0x30b", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000800000008000000000000040000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000800000000000040000000000400001000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000000000000000000000000000000000000000000000000004000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000800000000000000000000000000000008000000000000100000000000001000", "type": "0x2", "transactionHash": "0xd3400410fff4138675f138673b4e366429c02d3645776aa5f1b368a884eae7d0", "transactionIndex": "0x131", "blockHash": "0x0caea267401ff35907f57fb6f9d561d62bc6cbb48548c4c1fb234c5850cb9c75", "blockNumber": "0x1770948", "gasUsed": "0x17f08", "effectiveGasPrice": "0x100955ac", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558365917, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558522364.json ================================================ { "transactions": [ { "hash": "0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "0", "0xd4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0278383dc4647ce1e893dfaf31906793d010c30f0db235d90bbfc350f42cbfb0405a1b6954ef2db2ea716536c56f157a5d4a6c324e3af8977efab343bc52c30c1be0711f42a5f34391e4d7646a5b86664e3cc8e004a4c6fa2471b900325636aeb62e4f1247b34f902d2abb3367661720fe08bfb4020965a923860a882dad3530741c037c8dae2b480bd3897bce44f3a81bc39103d8371fbc3bc10b2cad350d837ecf6d58fda932246849247d82245864c1a3524e683eef79343b936be9650a6625a31b4b5d6d377faf090899c1021aa6211c02082a85ea2a920fed1fb74b7b91148c4a50618a782d2b62a5b279136eebdbc075235f4a228c481af8030d0322a7dce07b1b33a694340301f99a1198b45be7d5fd60eb877e6099e4a9283fcd14b144d6ac7c554e1b4741eeea24d8f7652fa1e0652176a3ac7b29e74a90a05bb1591ba9fbae1c6c319bed3d852e8bb1fed8afad196ec4478545193b465cc164b0f0c2f9c2aa2167d2bb33cfd7660edf4356ce2db4673e76e7d494530c16d57fcab38ebe46a3361c454f44fa72aac9f2906c2939c458c8dacff34b50ec8bbfa16cf83026ad5186076e52d2aa0d5004aea06d3395c119a9a42dd345a23c33576b54bda37c5ceaafcb1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2a994", "value": "0x0", "input": "0x6a7612020000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c70278383dc4647ce1e893dfaf31906793d010c30f0db235d90bbfc350f42cbfb0405a1b6954ef2db2ea716536c56f157a5d4a6c324e3af8977efab343bc52c30c1be0711f42a5f34391e4d7646a5b86664e3cc8e004a4c6fa2471b900325636aeb62e4f1247b34f902d2abb3367661720fe08bfb4020965a923860a882dad3530741c037c8dae2b480bd3897bce44f3a81bc39103d8371fbc3bc10b2cad350d837ecf6d58fda932246849247d82245864c1a3524e683eef79343b936be9650a6625a31b4b5d6d377faf090899c1021aa6211c02082a85ea2a920fed1fb74b7b91148c4a50618a782d2b62a5b279136eebdbc075235f4a228c481af8030d0322a7dce07b1b33a694340301f99a1198b45be7d5fd60eb877e6099e4a9283fcd14b144d6ac7c554e1b4741eeea24d8f7652fa1e0652176a3ac7b29e74a90a05bb1591ba9fbae1c6c319bed3d852e8bb1fed8afad196ec4478545193b465cc164b0f0c2f9c2aa2167d2bb33cfd7660edf4356ce2db4673e76e7d494530c16d57fcab38ebe46a3361c454f44fa72aac9f2906c2939c458c8dacff34b50ec8bbfa16cf83026ad5186076e52d2aa0d5004aea06d3395c119a9a42dd345a23c33576b54bda37c5ceaafcb1c00000000000000000000000000000000000000000000000000", "nonce": "0x49", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2d05547", "logs": [ { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd", "blockNumber": "0x1770954", "blockTimestamp": "0x69a718b7", "transactionHash": "0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a", "transactionIndex": "0x1c4", "logIndex": "0x4a8", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xd438defb5165855f4203643e21ec180740771b055f40e15eb00f265cf60f5a78" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd", "blockNumber": "0x1770954", "blockTimestamp": "0x69a718b7", "transactionHash": "0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a", "transactionIndex": "0x1c4", "logIndex": "0x4a9", "removed": false } ], "logsBloom": "0x00000000400000001080000010000000000000000008000000000008040000000000000000000000800000000000000000000000080000100000000000000000000000000000000000000000000000000000000008000000000000400000000000000000400001000000000000000000000000000000000000000010000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010004000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xbaae2197df523a8d7c4618494059f8c140ea8a782b4ab4e77645b0e797ef001a", "transactionIndex": "0x1c4", "blockHash": "0x1509993ed9b2e837eaee96355dfc4d1debf767f24fed62095fb46b7be4b455fd", "blockNumber": "0x1770954", "gasUsed": "0x1ed74", "effectiveGasPrice": "0xfdc8075", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558522364, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558558823.json ================================================ { "transactions": [ { "hash": "0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x1cc76", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4a", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1c78d0a", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531", "blockNumber": "0x1770957", "blockTimestamp": "0x69a718db", "transactionHash": "0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743", "transactionIndex": "0xc1", "logIndex": "0x398", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x7e11393f480558eade8d3d233b3af9a3aca1c28e1a599eb9246297be90290abf0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531", "blockNumber": "0x1770957", "blockTimestamp": "0x69a718db", "transactionHash": "0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743", "transactionIndex": "0xc1", "logIndex": "0x399", "removed": false } ], "logsBloom": "0x00000000400000000000000010000000000000000008000000000000040000000002000000000000000101000004000000000000000000100000000000200000001000000000000000000000000000000000000008000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x66cbbfd4e4166e6c7f3f9de2f7589f9f449eae6c7b42270da8510222a3edd743", "transactionIndex": "0xc1", "blockHash": "0x64d93f867ebd81e511cf49d688ebabd172a378977e3615d323f70d82e88e9531", "blockNumber": "0x1770957", "gasUsed": "0x14d5f", "effectiveGasPrice": "0x1190e835", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558558823, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558642511.json ================================================ { "transactions": [ { "hash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x32bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "gas": "0x27e36", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018632bf05a877ef8b95de1384ea0bead927deb4cd2df05c2a7a4ef0ec960540363800b398f196d8096ace03a19122c9143157576e13350198aa9261f952614fb2a41c00000000000000000000000042d27eea1ad6e22af6284f609847cb3cd56b9c640000000000000000000000000000000000000000000000000000000000000000019e97dec43fdfed41178ff6df5444cf9c516f8aa4bdcbafeb5debe5ead48236c67d3a41d55487d48be2e46a73480219a09feb7c8092afe7b4016cc8fe130137131bef6edda87bde50b6083115f5a179f7393cea0f66493c598a98e939cba12359394f72ee04e7ecba7f5ca37d6dc3721252c7dc69b94b3227f30d7590a2d8d598e91cdb1ee97ae35265e54c0b4f6cae5a5f4d0f2c0a54e33eb21af88e27b221ef32297eea3b0fcc9f0311d476d4b40dbcf66c6b96c96a0b0f97e3e87eaacb35d33cd21b8041c10f6a49c977188c0a8ec3329391a38ac4e066462b036d857b14aff1b84707000366a31d23a3562ea882b30a2b3232baaf3e507825f9ec77723471231b151b0000000000000000000000000000000000000000000000000000", "nonce": "0x4b", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x20a98c4", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c", "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a" ], "data": "0x", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "blockTimestamp": "0x69a7192f", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "logIndex": "0x4ed", "removed": false }, { "address": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xfc5bb803a2b2c2b8ef2a18886cd5aa51ae6070a93c5612c37067398d9cbb9fc0" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "blockTimestamp": "0x69a7192f", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "logIndex": "0x4ee", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000002000000000000000000000004000000000000000000100000000000200000001000000000000000000000000000000000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000004000000000000010000000000000000008000000000000000800000000000000000000000000000000000000000000080000000000000002000000000000000200000400000000000100000000000000000", "type": "0x2", "transactionHash": "0x34f8f89ab1f12bc549da0060098e5d645da1058148eba78a71062896ad71f0a7", "transactionIndex": "0x144", "blockHash": "0x318aabe32046047e1514c7bd3fe5b6feb22e4e73bb6a006e2852be5541565618", "blockNumber": "0x177095e", "gasUsed": "0x1b463", "effectiveGasPrice": "0x110250fa", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558642511, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpdateProxyAdminOwnerSigners.s.sol/1/run-1772558678595.json ================================================ { "transactions": [ { "hash": "0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xe318b52b0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x1d6a7", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000064e318b52b0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a10000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4c", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1d31de1", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "blockHash": "0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744", "blockNumber": "0x1770961", "blockTimestamp": "0x69a71953", "transactionHash": "0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3", "transactionIndex": "0x164", "logIndex": "0x27a", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "blockHash": "0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744", "blockNumber": "0x1770961", "blockTimestamp": "0x69a71953", "transactionHash": "0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3", "transactionIndex": "0x164", "logIndex": "0x27b", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2caeadb15ac54460cd92d2f96969a14d2734cdbea59c206efef81d923fcb909c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744", "blockNumber": "0x1770961", "blockTimestamp": "0x69a71953", "transactionHash": "0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3", "transactionIndex": "0x164", "logIndex": "0x27c", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000004000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000000000200000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x00de17d8f1f65c5baa6cfb5ea313309ac6be1ca858035c5a4956727e7ff357e3", "transactionIndex": "0x164", "blockHash": "0xcaa22cb0b149ff6312f9f73715c346e497b5e9c127a9722aa8d105af99190744", "blockNumber": "0x1770961", "gasUsed": "0x141d1", "effectiveGasPrice": "0x1115562f", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558678595, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpgradeFeeDisburser.s.sol/1/run-1772559195571.json ================================================ { "transactions": [ { "hash": "0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "0", "0xe9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc7500000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xbce50c415a2414559ac473f4ba715f69914da4f26ae86d588e64e067798eb729005c21eb7619aff75ab65c5fd91f938840596daa84b8563233275f7ca27372851b2404c9a0e494876369c543d6d033290826b5f32706e005217139f6f200d0e0dc144b87ac4c4e2f3b57ca17c9f409f7e9c6450f7ce542f262a4e9ad109793455c1c7371cad9a48784d38e961e0f995811f8a02ba19795fcd5891b1a5bc06f56ad173f276b7abd51d1a8134d40c7716e19bc06937bd4dba4b62e0c4967822299444a1c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x3e54d", "value": "0x0", "input": "0x6a76120200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bce50c415a2414559ac473f4ba715f69914da4f26ae86d588e64e067798eb729005c21eb7619aff75ab65c5fd91f938840596daa84b8563233275f7ca27372851b2404c9a0e494876369c543d6d033290826b5f32706e005217139f6f200d0e0dc144b87ac4c4e2f3b57ca17c9f409f7e9c6450f7ce542f262a4e9ad109793455c1c7371cad9a48784d38e961e0f995811f8a02ba19795fcd5891b1a5bc06f56ad173f276b7abd51d1a8134d40c7716e19bc06937bd4dba4b62e0c4967822299444a1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x53", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x366c163", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221", "0x00000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe6000000000000000000000000da70b4cd0cd8193f665a7d49cefd5f79f11fcc7500000000000000000000000000000000000000", "blockHash": "0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8", "blockNumber": "0x177098c", "blockTimestamp": "0x69a71b57", "transactionHash": "0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6", "transactionIndex": "0x204", "logIndex": "0x742", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x1d8de310fef96c8a145fe41756ca10f38ece678ca10c648b06eedb2444fc137a" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8", "blockNumber": "0x177098c", "blockTimestamp": "0x69a71b57", "transactionHash": "0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6", "transactionIndex": "0x204", "logIndex": "0x743", "removed": false } ], "logsBloom": "0x000000004000000000000000000000000000008000000000000000008400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008010000000000000000000000200000000000000000008000000001000000000000000088000000000000000000000800000000000400010000100000000000000000000000000000000000000000000000004000000040000000000000000000000000000000000000000000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000000000a0000000000000000000000", "type": "0x2", "transactionHash": "0xdc700942c3b4e05e2ee2f6519cb8ed4e5ff626dc70f48c91931b1b3f3593f5b6", "transactionIndex": "0x204", "blockHash": "0xb1ae98f079b37c0d3fc69b1b7f3e516a67de8cb05d394fc92d940cf8cbbf66e8", "blockNumber": "0x177098c", "gasUsed": "0x2a9eb", "effectiveGasPrice": "0x9feb003", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559195571, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/approve-latest.json ================================================ { "transactions": [ { "hash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x82e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2a972", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c782e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b00000000000000000000000000000000000000000000000000", "nonce": "0x51", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1af25cc", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "blockTimestamp": "0x69a71abb", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "logIndex": "0x293", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x5de6976ed5cc18d8ef4e79743b31bcca6cdcd6c24cdd7abb1592a875d8694a63" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "blockTimestamp": "0x69a71abb", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "logIndex": "0x294", "removed": false } ], "logsBloom": "0x00000000400000009000000000000000000000000000000000000008040000000000000000000000800000000004000000000000020000100000000000000000001000000000000001000000000000000000000000000000000000400080000000000000400000000000000001000000800000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "gasUsed": "0x1ed5c", "effectiveGasPrice": "0xc3a2669", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559037725, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772558954723.json ================================================ { "transactions": [ { "hash": "0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x712a99f7c054cbd6825bebbf2fcd2435a0ad4e0a62fbe80e8f74849567ee74417f645a38d5e621960a99fadcfb2fa03349931790a991a2d00952252403ce90a41c9f1a883e4d8fc00841a5e8fdf6c0f4b4cef3f4133c0231c93d8ae530506ba7034be02d03d21068163eaeed0827128f5d4ee7fc3495014dda09249bab084a5be21bcafee9b62552e813a23044c7f4c1ae2a063eee2316dde8d7fb99565b48a5e94e0dca54d89aa522d9862b241d2c93e313b39650fd6b6cc304c0387b83837bc8921c" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "gas": "0x22157", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3712a99f7c054cbd6825bebbf2fcd2435a0ad4e0a62fbe80e8f74849567ee74417f645a38d5e621960a99fadcfb2fa03349931790a991a2d00952252403ce90a41c9f1a883e4d8fc00841a5e8fdf6c0f4b4cef3f4133c0231c93d8ae530506ba7034be02d03d21068163eaeed0827128f5d4ee7fc3495014dda09249bab084a5be21bcafee9b62552e813a23044c7f4c1ae2a063eee2316dde8d7fb99565b48a5e94e0dca54d89aa522d9862b241d2c93e313b39650fd6b6cc304c0387b83837bc8921c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x50", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x189cbf7", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1" ], "data": "0x", "blockHash": "0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6", "blockNumber": "0x1770978", "blockTimestamp": "0x69a71a67", "transactionHash": "0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc", "transactionIndex": "0xcc", "logIndex": "0x34c", "removed": false }, { "address": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x44b81d8c81eb18caddd74fbdda1de6f034b12c09511061c0eac01a93e9d557b10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6", "blockNumber": "0x1770978", "blockTimestamp": "0x69a71a67", "transactionHash": "0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc", "transactionIndex": "0xcc", "logIndex": "0x34d", "removed": false } ], "logsBloom": "0x00000000400000008000000010000000000000000008000000000000040000000000000000000000000101000004000000000000000000100000000000000000001000000000000000000000000000000000000008000000000000000080000000000002400000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x682f2e4eaa1866ec1f5b966caac03889b8c971d07cb0a8312838988a94be04cc", "transactionIndex": "0xcc", "blockHash": "0xb128ede19b6a637df92033eb9e0dec5db77a5a62a9bff7870f37d593b26edea6", "blockNumber": "0x1770978", "gasUsed": "0x174e2", "effectiveGasPrice": "0xc9d58d7", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9855054731540a48b28990b63dcf4f33d8ae46a1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772558954723, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772559037725.json ================================================ { "transactions": [ { "hash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "0", "0xd4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x82e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "gas": "0x2a972", "value": "0x0", "input": "0x6a7612020000000000000000000000007bb41c3008b3f03fe483b28b8db90e19cf07595c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c782e29bacb542c5cd168db7ea0971d65f39735897c2f01406a0cea07d1d9db11c51b35f57d87cdf1aa195e5e3557b29d062b856c118d64deeea6e1bf129e125ad1c0aceb8b8fd777c7da9592e4230c1504ccc4fd645075e61cd40501c84e79796387fa427ca0f538bd2a550be5bb1548bcd45e4389ce1cc2f89dababb001d397f761c21f84072cbe2df57a3b72e0f100c27553449d2ab7dee306b2637fe0569ac4f6c36520acf3bc0f96b5465c26d1ca81494f7f8d6b0dea3bf7fc1433d2938bf9a851c17124f4e1427f97be0c5e44615ec511eba724f52f203f23de593c94bc265ec9d4d47f7d84ce2c4595634d78ab1e266c1c077e06d23ba1cc5004e99acd7f99fdb1c17e1eb4978201809ca96eaa00a7a3841942627c95bbaaa5eeb19b4b544354dde46bab8c530012de7155a489849b426420e961f37c4ff3f0e9141d8bc5765acaa1c8bb37f5c6abd372d8c637154f13ef4b1ae62e19b045f2d13ea609786ea84a1712105a4ab620d12bf71e0208eaab73119b719c3122aa3fb9cdc262f26151913fe1ca98c54d55253093866bbf3e1fc88e23c223db773da88e44b19442720243bd73c7d52d3c526666e5bf5117ce14b8c1c62eb4ef987bfa225001ed36788ae8289061b00000000000000000000000000000000000000000000000000", "nonce": "0x51", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1af25cc", "logs": [ { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b0772", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd" ], "data": "0x", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "blockTimestamp": "0x69a71abb", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "logIndex": "0x293", "removed": false }, { "address": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x5de6976ed5cc18d8ef4e79743b31bcca6cdcd6c24cdd7abb1592a875d8694a63" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "blockTimestamp": "0x69a71abb", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "logIndex": "0x294", "removed": false } ], "logsBloom": "0x00000000400000009000000000000000000000000000000000000008040000000000000000000000800000000004000000000000020000100000000000000000001000000000000001000000000000000000000000000000000000400080000000000000400000000000000001000000800000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x0337f9ecc6d984b0240589222b3a3f72686f61220e9d3c57d6fa5e07ad0d8c7d", "transactionIndex": "0x12c", "blockHash": "0x6220d509cc653e4529ccece2dcf56cf33fc48acdb02ca7a9067bf1a2656e2ddd", "blockNumber": "0x177097f", "gasUsed": "0x1ed5c", "effectiveGasPrice": "0xc3a2669", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559037725, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/1/run-1772559062275.json ================================================ { "transactions": [ { "hash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E", "0", "0x9623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd509800000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000008dd0000000000000000000000000000000000000000000000000000000000101c120000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c900000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000af6e19be0f9ce7f8afd49a1824851023a8249e8a0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000008453000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c3500000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002105000000000000000000000000b535ff7f118260a952ce65e7ff41b1743de8ee6c00000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "gas": "0x328de", "value": "0x0", "input": "0x6a7612020000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000003449623609d00000000000000000000000073a79fab69143498ed3712e519a88a918e1f40720000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd509800000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05600000000000000000000000000000000000000000000000000000000000008dd0000000000000000000000000000000000000000000000000000000000101c120000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c900000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000af6e19be0f9ce7f8afd49a1824851023a8249e8a0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000008453000000000000000000000000866e82a600a1414e583f7f13623f1ac5d58b0afa000000000000000000000000608d94945a64503e642e6370ec598e519a2c1e530000000000000000000000003154cf16ccdb4c6d922629664174b904d80f2c3500000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e00000000000000000000000005cc379ebd9b30bba19c6fa282ab29218ec61d8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002105000000000000000000000000b535ff7f118260a952ce65e7ff41b1743de8ee6c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008200000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x52", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1757521", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44" ], "data": "0x", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x30b", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056", "0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e" ], "data": "0x", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x30c", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000475cbcaebd9ce8afa5025828d5b98dfb67e059e", "0x00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056" ], "data": "0x", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x30d", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005050f69a9786f081509234f1a7f4684b5e5b76c9", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x30e", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c12000008dd", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x30f", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x310", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000004", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x311", "removed": false }, { "address": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x53771364c1ede35051f5f0d1b8be61934964ba5f488b2414a2ae9b27373b07720000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "blockTimestamp": "0x69a71ad3", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "logIndex": "0x312", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000400000000000000000800000040000000000008020000000000000000005000000000000020008000000000000040000001000000000000000000400000002000001000000040000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000040000000000000040000000000000000000080000000000000000000000000000000000000000100000404000000000000000000000020000000000000000020000000000100000000040000000000100020000000000000000060000000000000000040000000000000200000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb", "transactionIndex": "0xd0", "blockHash": "0xf28b6337074b00219c168aea98cd7471a45ed6df409ffd8e1cfc8cfbf255324d", "blockNumber": "0x1770981", "gasUsed": "0x2499c", "effectiveGasPrice": "0xc13a6a4", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x7bb41c3008b3f03fe483b28b8db90e19cf07595c", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559062275, "chain": 1, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/approve-latest.json ================================================ { "transactions": [ { "hash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "0", "0xd4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "gas": "0x235e6", "value": "0x0", "input": "0x6a7612020000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5030b2", "logs": [ { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc4", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6" ], "data": "0x", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc5", "removed": false }, { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x97f14e9f15b4c043b83d183889da27b66a5e1532a76db0d7add6b875d530c9720000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc6", "removed": false } ], "logsBloom": "0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000005000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000020001000000000000000000000000100000000000200004", "type": "0x2", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "gasUsed": "0x199b4", "effectiveGasPrice": "0x457", "blobGasUsed": "0x1d7e0", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "contractAddress": null, "daFootprintGasScalar": "0x190", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x9f2a46", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x1cc5f9911", "l1GasPrice": "0xaa26018", "l1GasUsed": "0x12ee" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559325436, "chain": 10, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/run-1772559325436.json ================================================ { "transactions": [ { "hash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "0", "0xd4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "gas": "0x235e6", "value": "0x0", "input": "0x6a7612020000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5030b2", "logs": [ { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x0000000000000000000000000a7361e734cf3f0394b0fc4a45c74e7a4ec709400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3644fe21a16197f0bc575a367437bfae3192f7f8beb91f917ce8238295ab3e2841958c8c661a02c4769a111cee6dc7c86eb027f48f76bb77ec1f0fc8cd74059761ca925b65641fcb5cebfcf5a77b641db45f5a1b5e46a820ae7713ff1f611576ce40b426a896e49a8a245c2a0c2053df11144f488711b1e5f7ee88231e55c5e12b11b4df9867cdf2e1e68e43ce1c40990e4071a52535df324bccbfe97ad8a36c1bfbf2a707151f6e798ed581d8f26325363735b079946bd9591584e9024925a01bd461b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc4", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e", "0x0000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6" ], "data": "0x", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc5", "removed": false }, { "address": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x97f14e9f15b4c043b83d183889da27b66a5e1532a76db0d7add6b875d530c9720000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "blockTimestamp": "0x69a71bdd", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "logIndex": "0xc6", "removed": false } ], "logsBloom": "0x01000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000400000000000000000004000020000000000005000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000020001000000000000000000000000100000000000200004", "type": "0x2", "transactionHash": "0x4a8255f0c4154ba4c423253b5b1d36d538bd90d45288a46e16151bac1b39bda8", "transactionIndex": "0xb", "blockHash": "0x352763e369940bb85473361638bfa54c34dae0ffe37adbd473f47cd081228bfc", "blockNumber": "0x8d9a112", "gasUsed": "0x199b4", "effectiveGasPrice": "0x457", "blobGasUsed": "0x1d7e0", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6", "contractAddress": null, "daFootprintGasScalar": "0x190", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x9f2a46", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x1cc5f9911", "l1GasPrice": "0xaa26018", "l1GasUsed": "0x12ee" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772559325436, "chain": 10, "commit": "d7efe46" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/records/WithdrawSmartEscrow.s.sol/10/run-1773681700867.json ================================================ { "transactions": [ { "hash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f", "0", "0x2806e3d6", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "gas": "0x1ea51", "value": "0x0", "input": "0x6a761202000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000042806e3d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x9", "chainId": "0xa" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x67652a", "logs": [ { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000042806e3d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f00000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006e1dfd5c1e22a4677663a81d24c6ba03561ef0f600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000644e3dedb0e4f83bfcf8f9992964d240224b74dc0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x8e23136", "blockTimestamp": "0x69b83c25", "transactionHash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionIndex": "0x1e", "logIndex": "0xc6", "removed": false }, { "address": "0x4200000000000000000000000000000000000042", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000b3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0" ], "data": "0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x8e23136", "blockTimestamp": "0x69b83c25", "transactionHash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionIndex": "0x1e", "logIndex": "0xc7", "removed": false }, { "address": "0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f", "topics": [ "0x6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b", "0x0000000000000000000000002501c477d0a35545a387aa4a3eee4292a9a8b3f0" ], "data": "0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x8e23136", "blockTimestamp": "0x69b83c25", "transactionHash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionIndex": "0x1e", "logIndex": "0xc8", "removed": false }, { "address": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xc711039c57aed7f42a040cc4b69a1ce222513ec53291d978170bcbbd1fe0ef4e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x8e23136", "blockTimestamp": "0x69b83c25", "transactionHash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionIndex": "0x1e", "logIndex": "0xc9", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000040000000000000000040800000000000100000000000000000000000000000000000000000020000000000840000000000000000030000008000000000000040000000000000000000000000000000000000000000000000100800000000000000000010000000010000000008000000000040000008000000000000040000000000000000000000000000000000000000400000000000000000004000020000000000000000000000000000000000002000000000000000000020000008000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa3754486278c1a51c380a4507c05106e42f072af34be414c3c3abeca95f67e5b", "transactionIndex": "0x1e", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x8e23136", "gasUsed": "0x162fc", "effectiveGasPrice": "0x42f", "blobGasUsed": "0xfb90", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940", "contractAddress": null, "daFootprintGasScalar": "0x190", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1421d27", "l1BlobBaseFeeScalar": "0xf79c5", "l1Fee": "0x137930291", "l1GasPrice": "0x15ff1310", "l1GasUsed": "0xa18" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773681700867, "chain": 10, "commit": "c623c31" } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/AddSecurityCouncilSigner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IGnosisSafe, Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; /// @title AddSecurityCouncilSigner /// @notice Adds a new signer to the Security Council Safe and increases the threshold to 3. /// @dev Uses addOwnerWithThreshold to add the new signer and set the threshold in a single call. contract AddSecurityCouncilSigner is MultisigScript { /// @notice The new threshold after adding the signer. uint256 public constant NEW_THRESHOLD = 8; /// @notice The Security Council Safe whose signers are being updated. address public immutable SECURITY_COUNCIL = vm.envAddress("CB_SC_SAFE_ADDR"); /// @notice The new signer address to be added. address public immutable NEW_SIGNER = vm.envAddress("NEW_SC_SIGNER_ADDR"); /// @notice The current threshold before the update. uint256 public currentThreshold; /// @notice The current number of owners before the update. uint256 public currentOwnerCount; function setUp() external { // Prechecks: Verify initial state require(!IGnosisSafe(SECURITY_COUNCIL).isOwner(NEW_SIGNER), "Precheck: NEW_SIGNER must not already be an owner"); currentThreshold = IGnosisSafe(SECURITY_COUNCIL).getThreshold(); currentOwnerCount = IGnosisSafe(SECURITY_COUNCIL).getOwners().length; require(currentThreshold < NEW_THRESHOLD, "Precheck: Current threshold must be less than NEW_THRESHOLD"); require(currentOwnerCount + 1 >= NEW_THRESHOLD, "Precheck: Owner count after adding must be >= NEW_THRESHOLD"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { // Verify new signer was added require(IGnosisSafe(SECURITY_COUNCIL).isOwner(NEW_SIGNER), "Postcheck: NEW_SIGNER must be an owner"); // Verify threshold was updated require( IGnosisSafe(SECURITY_COUNCIL).getThreshold() == NEW_THRESHOLD, "Postcheck: Threshold must be NEW_THRESHOLD" ); // Verify owner count increased by 1 require( IGnosisSafe(SECURITY_COUNCIL).getOwners().length == currentOwnerCount + 1, "Postcheck: Owner count must increase by 1" ); } function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); // Add new signer and set threshold to NEW_THRESHOLD in a single call calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: SECURITY_COUNCIL, data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (NEW_SIGNER, NEW_THRESHOLD)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return SECURITY_COUNCIL; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {FeeDisburser} from "@base-contracts/src/revenue-share/FeeDisburser.sol"; /// @title DeployFeeDisburser /// @notice Deploys the FeeDisburser contract which collects fees from L2 FeeVaults and bridges them to L1. /// @dev Required environment variables: /// - L1_WALLET: The L1 address that will receive bridged fees /// - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours) contract DeployFeeDisburser is Script { /// @notice The L1 address that will receive the bridged fees. address public immutable L1_WALLET = vm.envAddress("BALANCE_TRACKER"); /// @notice The minimum time in seconds between fee disbursements. uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); function run() external { vm.startBroadcast(); FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL); console.log("FeeDisburser deployed at:", address(feeDisburser)); console.log(" L1_WALLET:", L1_WALLET); console.log(" FEE_DISBURSEMENT_INTERVAL:", FEE_DISBURSEMENT_INTERVAL); vm.stopBroadcast(); // Post-deployment checks to ensure immutables match expected values // (guards against shell env variables overriding .env file) require( feeDisburser.L1_WALLET() == 0x23B597f33f6f2621F77DA117523Dffd634cDf4ea, "DeployFeeDisburser: L1_WALLET mismatch" ); require( feeDisburser.FEE_DISBURSEMENT_INTERVAL() == 86400, "DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch" ); } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/DeploySuperchainConfigAndSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {Proxy} from "@base-contracts/src/universal/Proxy.sol"; import {ProxyAdmin} from "@base-contracts/src/universal/ProxyAdmin.sol"; import {SystemConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {SuperchainConfig} from "@base-contracts/src/L1/SuperchainConfig.sol"; /// @title DeploySuperchainConfigAndSystemConfig /// @notice Deploys a new SuperchainConfig proxy and a patched SystemConfig implementation. /// The SuperchainConfig proxy is initialized with the guardian address and admin /// is transferred to the ProxyAdmin contract. The SystemConfig implementation uses /// init version 4 to allow re-initialization on existing proxies. contract DeploySuperchainConfigAndSystemConfig is Script { /// @notice The ProxyAdmin contract that will be the admin of the SuperchainConfig proxy. address public immutable PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); /// @notice The Safe that owns the ProxyAdmin. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The guardian address that can pause and perform dispute game operations (should be the same as the owner safe which is our top level 2-of-2). address public immutable GUARDIAN = vm.envAddress("OWNER_SAFE"); /// @notice The incident responder address that can only pause. address public immutable INCIDENT_RESPONDER = vm.envAddress("INCIDENT_MULTISIG"); function run() external { vm.startBroadcast(); // Deploy SuperchainConfig implementation with guardian and incident responder as constructor args SuperchainConfig superchainConfigImpl = new SuperchainConfig(GUARDIAN, INCIDENT_RESPONDER); // Deploy SuperchainConfig proxy Proxy superchainConfigProxy = new Proxy(msg.sender); superchainConfigProxy.upgradeTo(address(superchainConfigImpl)); superchainConfigProxy.changeAdmin(PROXY_ADMIN); // Deploy patched SystemConfig implementation (uses init version 4) new SystemConfig(); vm.stopBroadcast(); // Post-deployment verification SuperchainConfig superchainConfig = SuperchainConfig(address(superchainConfigProxy)); require(superchainConfig.GUARDIAN() == GUARDIAN, "Postcheck: Guardian not set correctly"); require( superchainConfig.INCIDENT_RESPONDER() == INCIDENT_RESPONDER, "Postcheck: Incident responder not set correctly" ); require(!superchainConfig.paused(), "Postcheck: SuperchainConfig should not be paused"); // Verify proxy admin is set correctly vm.prank(address(0)); require(superchainConfigProxy.admin() == PROXY_ADMIN, "Postcheck: Proxy admin not set correctly"); // Verify proxy admin owner is correct require(ProxyAdmin(PROXY_ADMIN).owner() == OWNER_SAFE, "Postcheck: ProxyAdmin owner not set correctly"); } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/TerminateSmartEscrow.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface ISmartEscrow { function terminate() external; function contractTerminated() external view returns (bool); } /// @title TerminateSmartEscrow /// @notice Script to terminate the SmartEscrow contract via a multisig transaction. /// The caller must have the TERMINATOR_ROLE on the SmartEscrow contract. /// Termination releases any vested tokens to the beneficiary before setting /// the contract to a terminated state. contract TerminateSmartEscrow is MultisigScript { /// @notice The Safe address that has the TERMINATOR_ROLE on the SmartEscrow contract. address public immutable OWNER_SAFE = vm.envAddress("CB_SAFE_ON_OP"); /// @notice The SmartEscrow contract address to terminate. address public immutable SMART_ESCROW = vm.envAddress("SMART_ESCROW"); /// @notice Verifies that the SmartEscrow contract was successfully terminated. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(ISmartEscrow(SMART_ESCROW).contractTerminated(), "Postcheck: SmartEscrow contract was not terminated"); } /// @notice Builds the call to SmartEscrow.terminate(). function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: SMART_ESCROW, data: abi.encodeCall(ISmartEscrow.terminate, ()), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/UpdateCBSafeSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IGnosisSafe, Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; /// @title UpdateCBSafeSigners /// @notice Updates the CB signer safe to replace nested safe signers with individual EOAs. /// @dev Execution order: /// 1. Remove SECURITY_COUNCIL from OWNER_SAFE (threshold temporarily set to 1) /// 2. Add each CB EOA from CB_NESTED_SAFE as direct signers (threshold stays at 1) /// 3. Remove CB_NESTED_SAFE and set final threshold to FINAL_THRESHOLD contract UpdateCBSafeSigners is MultisigScript { /// @notice Sentinel address used by Safe's linked list implementation. address internal constant SENTINEL = address(0x1); /// @notice Interim threshold used during owner modifications. uint256 internal constant INTERIM_THRESHOLD = 1; /// @notice Final threshold after all owner modifications are complete. uint256 public constant FINAL_THRESHOLD = 3; /// @notice The Safe whose signers are being updated. address public immutable OWNER_SAFE = vm.envAddress("CB_SIGNER_SAFE_ADDR"); /// @notice The security council Safe to be removed as a signer. address public immutable SECURITY_COUNCIL = vm.envAddress("CB_SC_SAFE_ADDR"); /// @notice The nested Safe whose EOA owners will become direct signers. address public immutable CB_NESTED_SAFE = vm.envAddress("CB_NESTED_SAFE_ADDR"); /// @notice The previous owner in Safe's linked list, needed for removeOwner. address public prevOwnerOfSecurityCouncil = SENTINEL; /// @notice The EOA addresses from CB_NESTED_SAFE that will become direct signers. address[] public cbEoas; function setUp() external { // Prechecks: Verify initial state require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Precheck: SECURITY_COUNCIL must be an owner"); require(IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), "Precheck: CB_NESTED_SAFE must be an owner"); // Find prevOwner for SECURITY_COUNCIL in Safe's linked list. // Safe's getOwners() returns owners in linked list order. // The first owner has SENTINEL (0x1) as its prevOwner. address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners(); for (uint256 i; i < owners.length; i++) { if (owners[i] == SECURITY_COUNCIL) break; prevOwnerOfSecurityCouncil = owners[i]; } // Get EOAs from nested safe to add as direct signers cbEoas = IGnosisSafe(CB_NESTED_SAFE).getOwners(); require(cbEoas.length > 0, "Precheck: CB_NESTED_SAFE must have at least one owner"); require(cbEoas.length >= FINAL_THRESHOLD, "Precheck: CB_NESTED_SAFE must have at least FINAL_THRESHOLD owners"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { // Verify removed signers require(!IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Postcheck: SECURITY_COUNCIL must be removed"); require(!IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), "Postcheck: CB_NESTED_SAFE must be removed"); // Verify all EOAs are now direct signers for (uint256 i = 0; i < cbEoas.length; i++) { require(IGnosisSafe(OWNER_SAFE).isOwner(cbEoas[i]), "Postcheck: CB EOA must be an owner"); } // Verify threshold require( IGnosisSafe(OWNER_SAFE).getThreshold() == FINAL_THRESHOLD, "Postcheck: Threshold must be FINAL_THRESHOLD" ); } function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { // Total calls: 1 (remove SECURITY_COUNCIL) + cbEoas.length (add EOAs) + 1 (remove CB_NESTED_SAFE) MultisigScript.Call[] memory calls = new MultisigScript.Call[](2 + cbEoas.length); // Step 1: Remove SECURITY_COUNCIL, set threshold to 1 calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall( IGnosisSafe.removeOwner, (prevOwnerOfSecurityCouncil, SECURITY_COUNCIL, INTERIM_THRESHOLD) ), value: 0 }); // Step 2: Add each CB EOA as a direct signer (keep threshold at 1) // Note: addOwnerWithThreshold adds new owners to the FRONT of Safe's linked list. // After adding cbEoas[0..n-1], the order will be: // SENTINEL -> cbEoas[n-1] -> ... -> cbEoas[0] -> CB_NESTED_SAFE -> ... // Therefore, cbEoas[0] will be the prevOwner of CB_NESTED_SAFE. for (uint256 i = 0; i < cbEoas.length; i++) { calls[i + 1] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (cbEoas[i], INTERIM_THRESHOLD)), value: 0 }); } // Step 3: Remove CB_NESTED_SAFE and set final threshold // cbEoas[0] is the prevOwner because it was added first and is now // immediately before CB_NESTED_SAFE in the linked list. calls[calls.length - 1] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(IGnosisSafe.removeOwner, (cbEoas[0], CB_NESTED_SAFE, FINAL_THRESHOLD)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/UpdateProxyAdminOwnerSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IGnosisSafe, Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; /// @title UpdateProxyAdminOwnerSigners /// @notice Swaps OP_SAFE for SECURITY_COUNCIL as an owner on the ProxyAdmin owner Safe. /// @dev This script expects the Safe to have exactly 2 owners and threshold of 2 before and after the swap. contract UpdateProxyAdminOwnerSigners is MultisigScript { /// @notice Sentinel address used by Safe's linked list implementation. address internal constant SENTINEL = address(0x1); /// @notice Expected owner count before and after the swap. uint256 internal constant EXPECTED_OWNER_COUNT = 2; /// @notice The Safe whose signers are being updated. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The OP signer Safe to be removed as an owner. address public immutable OP_SAFE = vm.envAddress("OP_SIGNER_SAFE_ADDR"); /// @notice The security council Safe to be added as an owner. address public immutable SECURITY_COUNCIL = vm.envAddress("CB_SC_SAFE_ADDR"); /// @notice The previous owner in Safe's linked list, needed for swapOwner. address public prevOwner = SENTINEL; function setUp() external { // Prechecks: Verify initial state require(IGnosisSafe(OWNER_SAFE).isOwner(OP_SAFE), "Precheck: OP_SAFE must be an owner"); require( !IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Precheck: SECURITY_COUNCIL must not already be an owner" ); require( IGnosisSafe(OWNER_SAFE).getOwners().length == EXPECTED_OWNER_COUNT, "Precheck: Must have EXPECTED_OWNER_COUNT owners" ); // Find prevOwner for OP_SAFE in Safe's linked list. // Safe's getOwners() returns owners in linked list order. // The first owner has SENTINEL (0x1) as its prevOwner. address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners(); for (uint256 i; i < owners.length; i++) { if (owners[i] == OP_SAFE) break; prevOwner = owners[i]; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Postcheck: SECURITY_COUNCIL must be an owner"); require(!IGnosisSafe(OWNER_SAFE).isOwner(OP_SAFE), "Postcheck: OP_SAFE must be removed"); require( IGnosisSafe(OWNER_SAFE).getOwners().length == EXPECTED_OWNER_COUNT, "Postcheck: Must have EXPECTED_OWNER_COUNT owners" ); } function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(IGnosisSafe.swapOwner, (prevOwner, OP_SAFE, SECURITY_COUNCIL)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/UpgradeFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IProxy { function upgradeTo(address newImplementation) external; } /// @title UpgradeFeeDisburser /// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1. /// The FeeDisburser proxy is owned by CB_NESTED_SAFE_ADDR on L1, so this upgrade /// must be executed as a deposit transaction through OptimismPortal2. contract UpgradeFeeDisburser is MultisigScript { /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin). address public immutable OWNER_SAFE = vm.envAddress("CB_NESTED_SAFE_ADDR"); /// @notice The OptimismPortal2 contract on L1 used for deposit transactions. address public immutable OPTIMISM_PORTAL = vm.envAddress("OPTIMISM_PORTAL_ADDR"); /// @notice The FeeDisburser proxy contract on L2. address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice The new FeeDisburser implementation contract on L2. address public immutable FEE_DISBURSER_IMPL = vm.envAddress("FEE_DISBURSER_IMPL_ADDR"); /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation. /// The upgrade result should be verified on L2 after the deposit transaction is processed. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {} /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade /// the FeeDisburser proxy on L2. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); // Build the upgradeTo calldata to call directly on the FeeDisburser proxy bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL)); // Parameters for the deposit transaction address to = FEE_DISBURSER_PROXY; uint256 value = 0; uint64 gasLimit = 100_000; // Sufficient gas for proxy upgrade bool isCreation = false; calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OPTIMISM_PORTAL, data: abi.encodeCall( IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, upgradeCalldata) ), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction on L1. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IGnosisSafe} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {SystemConfig, IResourceMetering, ISuperchainConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {IProxyAdmin} from "@base-contracts/interfaces/universal/IProxyAdmin.sol"; /// @title UpgradeSystemConfig /// @notice Script to upgrade the SystemConfig proxy to a new implementation and reinitialize /// it with a new SuperchainConfig address. This preserves all existing configuration /// parameters while updating the SuperchainConfig reference. contract UpgradeSystemConfig is MultisigScript { /// @notice The Safe that owns the ProxyAdmin and will execute this upgrade. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The ProxyAdmin contract that manages the SystemConfig proxy. address public immutable PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); /// @notice The SystemConfig proxy contract to be upgraded. address public immutable SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); /// @notice The new SystemConfig implementation contract. address public immutable SYSTEM_CONFIG_IMPLEMENTATION = vm.envAddress("SYSTEM_CONFIG_IMPLEMENTATION"); /// @notice The new SuperchainConfig address to set during reinitialization. address public immutable NEW_SUPERCHAIN_CONFIG = vm.envAddress("NEW_SUPERCHAIN_CONFIG"); /// @notice The security council Safe that becomes an owner of OWNER_SAFE after step 1. address public immutable SECURITY_COUNCIL = vm.envAddress("CB_SC_SAFE_ADDR"); /// @notice Safe's owners linked list base storage slot: mapping(address => address) at slot 2. bytes32 internal constant SAFE_OWNERS_BASE_SLOT = bytes32(uint256(2)); /// @notice Sentinel address used by Safe's linked list implementation. address internal constant SENTINEL = address(0x1); /// @notice Validates the post-upgrade state. /// @dev Verifies that: /// 1. The implementation was updated correctly /// 2. The SuperchainConfig was set to the new address /// 3. All existing parameters were preserved function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG); // Verify the implementation was updated address currentImpl = IProxyAdmin(PROXY_ADMIN).getProxyImplementation(SYSTEM_CONFIG); require(currentImpl == SYSTEM_CONFIG_IMPLEMENTATION, "Postcheck: Implementation not updated"); // Verify the SuperchainConfig was updated require( address(systemConfig.superchainConfig()) == NEW_SUPERCHAIN_CONFIG, "Postcheck: SuperchainConfig not updated" ); } /// @notice Builds the upgrade call to ProxyAdmin.upgradeAndCall. /// @dev Reads all existing SystemConfig parameters and rebuilds the initialize calldata /// with the new SuperchainConfig address. All other parameters are preserved. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG); // Get all existing SystemConfig parameters address owner = systemConfig.owner(); uint32 basefeeScalar = systemConfig.basefeeScalar(); uint32 blobbasefeeScalar = systemConfig.blobbasefeeScalar(); bytes32 batcherHash = systemConfig.batcherHash(); uint64 gasLimit = systemConfig.gasLimit(); address unsafeBlockSigner = systemConfig.unsafeBlockSigner(); IResourceMetering.ResourceConfig memory resourceConfig = systemConfig.resourceConfig(); address batchInbox = systemConfig.batchInbox(); uint256 l2ChainId = systemConfig.l2ChainId(); // Get the Addresses struct SystemConfig.Addresses memory addresses = systemConfig.getAddresses(); // Build the initialize calldata with the new SuperchainConfig bytes memory initializeCalldata = abi.encodeCall( SystemConfig.initialize, ( owner, basefeeScalar, blobbasefeeScalar, batcherHash, gasLimit, unsafeBlockSigner, resourceConfig, batchInbox, addresses, l2ChainId, ISuperchainConfig(NEW_SUPERCHAIN_CONFIG) ) ); MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: PROXY_ADMIN, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, (payable(SYSTEM_CONFIG), SYSTEM_CONFIG_IMPLEMENTATION, initializeCalldata) ), value: 0 }); return calls; } /// @notice Overrides the OWNER_SAFE state to include SECURITY_COUNCIL as an owner /// when step 1 (UpdateProxyAdminOwnerSigners) hasn't been executed yet. /// This allows pre-generating SC validation files before step 1 runs on-chain. function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory) { if (IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL)) { return new Simulation.StateOverride[](0); } // Insert SECURITY_COUNCIL at the head of OWNER_SAFE's owners linked list: // SENTINEL -> SECURITY_COUNCIL -> old_head -> ... bytes32 sentinelSlot = keccak256(abi.encode(SENTINEL, SAFE_OWNERS_BASE_SLOT)); address currentHead = address(uint160(uint256(vm.load(OWNER_SAFE, sentinelSlot)))); bytes32 scSlot = keccak256(abi.encode(SECURITY_COUNCIL, SAFE_OWNERS_BASE_SLOT)); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); storageOverrides[0] = Simulation.StorageOverride({ key: sentinelSlot, value: bytes32(uint256(uint160(SECURITY_COUNCIL))) }); storageOverrides[1] = Simulation.StorageOverride({key: scSlot, value: bytes32(uint256(uint160(currentHead)))}); Simulation.StateOverride[] memory overrides = new Simulation.StateOverride[](1); overrides[0] = Simulation.StateOverride({contractAddress: OWNER_SAFE, overrides: storageOverrides}); return overrides; } /// @notice Returns the Safe address that will execute this transaction. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/script/WithdrawSmartEscrow.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface ISmartEscrow { function withdrawUnvestedTokens() external; function contractTerminated() external view returns (bool); } /// @title WithdrawSmartEscrow /// @notice Script to withdraw unvested tokens from the SmartEscrow contract via a multisig transaction. /// The caller must have the DEFAULT_ADMIN_ROLE on the SmartEscrow contract. /// The contract must be terminated before calling this function. /// This withdraws all remaining OP tokens to the benefactor address. contract WithdrawSmartEscrow is MultisigScript { /// @notice OP token contract address. IERC20 public constant OP_TOKEN = IERC20(0x4200000000000000000000000000000000000042); /// @notice Storage slot for the `contractTerminated` variable in the SmartEscrow contract. /// @dev This slot was determined using `forge inspect SmartEscrow storage-layout`. bytes32 public constant CONTRACT_TERMINATED_SLOT = bytes32(uint256(6)); /// @notice The Safe address that has the DEFAULT_ADMIN_ROLE on the SmartEscrow contract. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE_ON_OP"); /// @notice The SmartEscrow contract address to withdraw from. address public immutable SMART_ESCROW = vm.envAddress("SMART_ESCROW"); /// @notice Verifies that the SmartEscrow contract's OP token balance is zero after withdrawal. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(ISmartEscrow(SMART_ESCROW).contractTerminated(), "Postcheck: SmartEscrow contract must be terminated"); require(OP_TOKEN.balanceOf(SMART_ESCROW) == 0, "Postcheck: SmartEscrow OP token balance is not zero"); } /// @notice Builds the call to SmartEscrow.withdrawUnvestedTokens(). function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: SMART_ESCROW, data: abi.encodeCall(ISmartEscrow.withdrawUnvestedTokens, ()), value: 0 }); return calls; } function _simulationOverrides() internal view virtual override returns (Simulation.StateOverride[] memory overrides_) { // If the contract is not yet terminated, override the storage slot to simulate termination. if (!ISmartEscrow(SMART_ESCROW).contractTerminated()) { Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); storageOverrides[0] = Simulation.StorageOverride({ key: CONTRACT_TERMINATED_SLOT, value: bytes32(uint256(1)) // true }); overrides_ = new Simulation.StateOverride[](1); overrides_[0] = Simulation.StateOverride(SMART_ESCROW, storageOverrides); } } /// @notice Returns the Safe address that will execute this transaction. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-1.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0xf3424f2d20bd3bea29e731601a54aee55ae5879fa27ea4d1fa3a0f669677e7db" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0207753ea3aa65ff8bd1dcc8c7107873d3ee3cac7dd9c2b03cf0d8d7785936da", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.", "allowDifference": false }, { "key": "0x40f18e1e92745b4511e8f96e7d41ff580ab32c07e37860843c4074d834967b02", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.", "allowDifference": false }, { "key": "0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.", "allowDifference": false }, { "key": "0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53", "before": "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "after": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "description": "Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the Safe nonce from 26 to 27 after executing the nested approval transaction.", "allowDifference": false }, { "key": "0xc69bb53c813ebd0ff32f797a3122317cbcab5ec8c26a2fbc8a250cb78a4ad650", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's approval for the nested transaction to the Proxy Admin Owner.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000006", "after": "0x0000000000000000000000000000000000000000000000000000000000000007", "description": "Increments the Safe nonce from 6 to 7 after the signer submits their approval.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-2.json ================================================ { "cmd": "SAFE_NONCE_0X9C4A57FEB77E294FD7BF5EBE9AB01CAA0A90A110=7 SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=27 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateCBSafeSigners --sig sign(address[]) [0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0x0442c61c7fc3ac5dda4f0b10c07954282e9df8e895d274900c8cb9b3f0adb072" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur with a single signer.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Override the nonce to 27, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur with a single signer.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000007", "description": "Override the nonce to 7, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false }, { "key": "0x314a92beef78881e1e0297326a7a68563f4a7cf184570d7c08396763f32eb604", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[msg.sender][txHash] = 1 to simulate an approval from the signer, allowing the transaction simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Updates the owner count from 2 to 6 (removes Security Council Safe and CB Nested Safe, adds 6 individual EOA signers).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the Safe execution threshold from 1 to 3 (3-of-6 required for execution).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the Safe nonce from 27 to 28 after executing the UpdateCBSafeSigners transaction.", "allowDifference": false }, { "key": "0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Adds EOA signer to owners linked list by setting its entry to point to SENTINEL (0x1), marking it as the last owner.", "allowDifference": false }, { "key": "0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3cd692ece8b6573a2220ae00d0deb98f0dffa9a1).", "allowDifference": false }, { "key": "0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0xb011a32ed8b4f70d9943a2199f539bbecd7b62f7).", "allowDifference": false }, { "key": "0x805c8fe6c374d506404de2868e0b31ae6b921cd2462f27b5646e9cdbef1ba947", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's approval for the UpdateCBSafeSigners transaction.", "allowDifference": false }, { "key": "0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x1c870776b168a9ffae80c51f050c611edd246741).", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "before": "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes CB Nested Safe (0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110) from the owners linked list by clearing its entry.", "allowDifference": false }, { "key": "0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3dad2200849925bb46d9bf05afa5f7f213f4c18e).", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "after": "0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c", "description": "Updates SENTINEL pointer (head of owners linked list) from Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) to new first EOA signer (0xf9e320f3da12e68af219d9e2a490dd649f6b177c).", "allowDifference": false }, { "key": "0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) from owners linked list by clearing its entry (was pointing to SENTINEL).", "allowDifference": false }, { "key": "0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x6cd3850756b7894774ab715d136f9dd02837de50).", "allowDifference": false } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000007", "after": "0x0000000000000000000000000000000000000000000000000000000000000008", "description": "Increments the Safe nonce from 7 to 8 after the signer submits their approval.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-3.json ================================================ { "cmd": "SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=28 SAFE_NONCE_0X7BB41C3008B3F03FE483B28B8DB90E19CF07595C=14 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeSystemConfig --sig sign(address[]) [0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x88aac3dc27cc1618ec43a87b3df21482acd24d172027ba3fbb5a5e625d895a0b", "messageHash": "0x03fda21411d9502362d43b049059f93cc737158756ff30686d5102a25977c6f2" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Override the nonce to 14, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "value": "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1", "description": "Simulates the post-Part-1 state where Security Council Safe points to CB Coordinator Safe (0x9855054731540a48b28990b63dcf4f33d8ae46a1) in the owners linked list.", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "value": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "description": "Simulates the post-Part-1 state where SENTINEL points to Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) as head of the owners linked list.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Override the nonce to 28, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.", "allowDifference": false }, { "key": "0xc684d136668f11eb9679104054d0bdbde45d28d4b8ca596defa8d986a363aa10", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the _initialized version from 3 to 4 as part of the SystemConfig upgrade re-initialization.", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000004c4b40b535ff7f118260a952ce65e7ff41b1743de8ee6c", "description": "Updates the SuperchainConfig address stored in SystemConfig from OP's shared SuperchainConfig (0x95703e09...) to Base's own SuperchainConfig (0xb535ff7f...).", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "after": "0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44", "description": "Updates the EIP-1967 implementation address of the SystemConfig proxy from old (0xd392c27b...) to new (0x0507aaa2...).", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the Safe nonce from 14 to 15 after executing the upgradeAndCall transaction.", "allowDifference": false }, { "key": "0x98a1c6ec6ae3c99ac8db82641b5b617d0c4b915a4d9c855e6617788a467f3654", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001c", "after": "0x000000000000000000000000000000000000000000000000000000000000001d", "description": "Increments the Safe nonce from 28 to 29 after the CB Coordinator Safe submits its approval.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-4.json ================================================ { "cmd": "SAFE_NONCE_0X9C4A57FEB77E294FD7BF5EBE9AB01CAA0A90A110=8 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0x2688fbdc2a8590867b05fc001c18c14c29069b218452d835e430f7984713aa82" }, "stateOverrides": [ { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000008", "description": "Override the nonce to 8, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.", "allowDifference": false }, { "key": "0x22c0feaaeed4185d82f924f457252f81dbadc69cc524f14c36b23023cbe4657a", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismPortal - Mainnet", "address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x0000000001764b3c000000000004bdd00000000000000000000000003b9aca00", "after": "0x0000000001764b3d00000000000186a00000000000000000000000003b9aca00", "description": "Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).", "allowDifference": true } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000008", "after": "0x0000000000000000000000000000000000000000000000000000000000000009", "description": "Increments the Safe nonce from 8 to 9 after executing the UpgradeFeeDisburser deposit transaction.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-5.json ================================================ { "cmd": "forge script --rpc-url https://mainnet.optimism.io TerminateSmartEscrow --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://mainnet.optimism.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "domainHash": "0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1", "messageHash": "0xff53888d026d3cf3557a3c91bd99ca58e97d342cef8dc2ed5a190c4a3352f799" }, "stateOverrides": [ { "name": "CB Signer Safe - Optimism", "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x13c86125570d7981706f2b7a58917ffc9e8ea8faf77052182023566ddb61da6c", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Optimism", "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the Safe nonce from 3 to 4 after executing the TerminateSmartEscrow transaction.", "allowDifference": false } ] }, { "name": "SmartEscrow - Optimism", "address": "0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets contractTerminated from false (0) to true (1), marking the SmartEscrow contract as permanently terminated.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/coinbase-signer-part-6.json ================================================ { "cmd": "SAFE_NONCE_0X6E1DFD5C1E22A4677663A81D24C6BA03561EF0F6=4 forge script --rpc-url https://mainnet.optimism.io WithdrawSmartEscrow --sig sign(address[]) [0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://mainnet.optimism.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "domainHash": "0x4ac8f60706331537a33c4a4cbda024cb722855e6b160a3e8b28ab487510598b1", "messageHash": "0xe47bca5a208fb4739ae2381f86cb91d5386307481a7381c8381fe0e5f99186bb" }, "stateOverrides": [ { "name": "Owner Safe - Optimism", "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Optimism", "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Override the nonce to 4, the expected value after Part 5 (TerminateSmartEscrow) executes.", "allowDifference": false }, { "key": "0x3d9213bb9c16b3af7b48531e517a418f86c1ed190cf932410b9396a84c06eb31", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "SmartEscrow - Optimism", "address": "0xb3C2f9fC2727078EC3A2255410e83BA5B62c5B5f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Overrides contractTerminated from false (0) to true (1), marking the SmartEscrow contract as permanently terminated.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Owner Safe - Optimism", "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the Safe nonce from 2 to 3 after executing the WithdrawSmartEscrow transaction.", "allowDifference": false }, { "key": "0xdaefa18710789b315c073a0a6715e936e4dd091921c4de5bca445545fd20e45a", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Signer Safe][txHash] = 1, recording the CB Signer Safe's (0x6e1dfd5c1e22a4677663a81d24c6ba03561ef0f6) approval for this transaction.", "allowDifference": false } ] }, { "name": "Governance Token - Optimism", "address": "0x4200000000000000000000000000000000000042", "changes": [ { "key": "0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c", "before": "0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Decreases SmartEscrow's (0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) OP token balance to 0 as all remaining unvested tokens are withdrawn to the benefactor. Note: The 'before' value reflects current state; after part-5 executes, the actual balance will be ~4,473,924 OP.", "allowDifference": true }, { "key": "0xcac14c40c8d3847e740432064e9977516347ef1cecdd901d8d3a7d24e118edde", "before": "0x000000000000000000000000000000000000000001972e3df849a1834d414e71", "after": "0x0000000000000000000000000000000000000000019ae1a1e03a584253d14e71", "description": "Increases the benefactor's (Owner Safe: 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940) OP token balance, receiving the unvested tokens withdrawn from the SmartEscrow contract. Note: The actual amount will be ~4,473,924 OP after part-5 executes.", "allowDifference": true } ] }, { "name": "CB Signer Safe - Optimism", "address": "0x6e1DFd5C1E22A4677663A81D24C6BA03561ef0f6", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the Safe nonce from 4 to 5 after the CB Signer Safe submits its approval for the WithdrawSmartEscrow transaction.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/optimism-op-mainnet-signer.json ================================================ { "cmd": "forge script --rpc-url https://mainnet.optimism.io WithdrawSmartEscrow --sig sign(address[]) [0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0] --sender 0x4d494C5F61b60752D3A10062276a0eFC22596151", "ledgerId": 0, "rpcUrl": "https://mainnet.optimism.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "domainHash": "0xb34978142f4478f3e5633915597a756daa58a1a59a3e0234f9acd5444f1ca70e", "messageHash": "0x53dfd07347c4bc0d7f114f7bf1904d03e0dd469942a3289fdf6b91a656478c69" }, "stateOverrides": [ { "name": "Owner Safe - Optimism", "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Optimism Signer Safe - Optimism", "address": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xa9f390a6c9b0489bb7634fcf6fe7b1bae27056f6b3572645eb72dce819c6ede7", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Owner Safe - Optimism", "address": "0x0a7361e734cf3f0394B0FC4a45C74E7a4Ec70940", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the Safe nonce from 2 to 3 after executing the WithdrawSmartEscrow transaction.", "allowDifference": false }, { "key": "0xb1c95fcac4fdae1ba0795d84c4fcffb6e0c71dec884cdedbdde2ed87bdc4541f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[Optimism Signer Safe][txHash] = 1, recording the Optimism Signer Safe's (0x2501c477d0a35545a387aa4a3eee4292a9a8b3f0) approval for this transaction.", "allowDifference": false } ] }, { "name": "Optimism Signer Safe - Optimism", "address": "0x2501c477D0A35545a387Aa4A3EEe4292A9a8B3F0", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x00000000000000000000000000000000000000000000000000000000000000b7", "after": "0x00000000000000000000000000000000000000000000000000000000000000b8", "description": "Increments the Safe nonce from 183 to 184 after the Optimism Signer Safe submits its approval for the WithdrawSmartEscrow transaction.", "allowDifference": false } ] }, { "name": "Governance Token - Optimism", "address": "0x4200000000000000000000000000000000000042", "changes": [ { "key": "0x9c7ffc2d159d7a0a8143e9bb815194a3d0239701011646f61c42aefd6122e68c", "before": "0x00000000000000000000000000000000000000000003b363e7f0b6bf06900000", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Decreases SmartEscrow's (0xb3c2f9fc2727078ec3a2255410e83ba5b62c5b5f) OP token balance to 0 as all remaining unvested tokens are withdrawn to the benefactor. Note: The 'before' value reflects current state; after part-5 executes, the actual balance will be ~4,473,924 OP.", "allowDifference": true }, { "key": "0xcac14c40c8d3847e740432064e9977516347ef1cecdd901d8d3a7d24e118edde", "before": "0x000000000000000000000000000000000000000001972e3df849a1834d414e71", "after": "0x0000000000000000000000000000000000000000019ae1a1e03a584253d14e71", "description": "Increases the benefactor's (Owner Safe: 0x0a7361e734cf3f0394b0fc4a45c74e7a4ec70940) OP token balance, receiving the unvested tokens withdrawn from the SmartEscrow contract. Note: The actual amount will be ~4,473,924 OP after part-5 executes.", "allowDifference": true } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/optimism-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A] --sender 0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x2e5ad244d335c45fbace4ebd1736b0fad81b01591a2819baedad311ead5bce76", "messageHash": "0x4d1c90985d451650298a8044f4414ed7a7bd58faa58906bb3e29ae40f4f2c1bb" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xf74051f18591c85a4a0017b106d71ea94cd5743291d5cfacfc6ba537ead40a06", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.", "allowDifference": false }, { "key": "0x7aa433313675d2977eaae6d96569ce810db740a6bd89321cda525bba26cbaf6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[OP Safe][txHash] = 1, recording the OP Safe's approval for this transaction.", "allowDifference": false }, { "key": "0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.", "allowDifference": false }, { "key": "0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53", "before": "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "after": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "description": "Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).", "allowDifference": false } ] }, { "name": "OP Signer Safe - Mainnet", "address": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000073", "after": "0x0000000000000000000000000000000000000000000000000000000000000074", "description": "Increments the Safe nonce from 115 to 116 after the signer submits their approval.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-1.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateProxyAdminOwnerSigners --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd,0x9855054731540A48b28990B63DcF4f33d8AE46A1] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0xae5cb7595360cf94f0ccdedafd32df84bb5f3fcbeb03ddd3b796455bdd718aca" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xf2c78c90abfd8ec97343cf355a4ca2dc9b0d4348e57729db34c8fb0280862866", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000005", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Increments the Safe nonce from 5 to 6 after the signer submits their approval.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the Safe nonce from 13 to 14 after executing the swapOwner transaction.", "allowDifference": false }, { "key": "0x40f18e1e92745b4511e8f96e7d41ff580ab32c07e37860843c4074d834967b02", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[CB Coordinator Safe][txHash] = 1, recording the CB Coordinator Safe's approval for this transaction.", "allowDifference": false }, { "key": "0xad7f222f29a1b375bb6b2847405c3279f1dff83a30de9e555815353d94c2306b", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes OP Safe (0x9ba6e03d8b90de867373db8cf1a58d2f7f006b3a) from the owners linked list by clearing its entry.", "allowDifference": false }, { "key": "0xb79e2255a19f37f0fc20cbcd8e46bdb84bf2577e147dcf50c4471a96c0623f53", "before": "0x0000000000000000000000009ba6e03d8b90de867373db8cf1a58d2f7f006b3a", "after": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "description": "Updates the owners linked list pointer to replace OP Safe with Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd).", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Adds Security Council Safe to the owners linked list by setting its entry to point to SENTINEL (0x1).", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the Safe nonce from 26 to 27 after executing the nested approval transaction.", "allowDifference": false }, { "key": "0xdbd7c5f04bc1b069effa0e376df1a8c35fb1f8061444f5bd6f4887bc55d6d568", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for the nested transaction to the Proxy Admin Owner.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-2.json ================================================ { "cmd": "SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=6 SAFE_NONCE_0X9855054731540A48B28990B63DCF4F33D8AE46A1=27 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpdateCBSafeSigners --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0xd7c720dc818ccd2f2217474bb6f8583f7f664d8fc6b4f2da62ce4553d2a7732b" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Override the nonce to 6, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false }, { "key": "0xd5db630c3b2710b7cd19c73f96bc5fb0167896436e5ac8d3ec887993dd98fa2c", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Override the nonce to 27, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000006", "after": "0x0000000000000000000000000000000000000000000000000000000000000007", "description": "Increments the Safe nonce from 6 to 7 after the signer submits their approval.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Mainnet", "address": "0x9855054731540A48b28990B63DcF4f33d8AE46A1", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Updates the owner count from 2 to 6 (removes Security Council Safe and CB Nested Safe, adds 6 individual EOA signers).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the Safe execution threshold from 1 to 3 (3-of-6 required for execution).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the Safe nonce from 27 to 28 after executing the UpdateCBSafeSigners transaction.", "allowDifference": false }, { "key": "0x1772a703ae675a1daf302df5578a40ec15df2da0f370aaae76c24b3dc3cf5a82", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Adds EOA signer to owners linked list by setting its entry to point to SENTINEL (0x1), marking it as the last owner.", "allowDifference": false }, { "key": "0x41ed7d57be3aeb16e937147407ec4fe9778850776e44a977f984860d4294c66f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000003cd692ece8b6573a2220ae00d0deb98f0dffa9a1", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3cd692ece8b6573a2220ae00d0deb98f0dffa9a1).", "allowDifference": false }, { "key": "0x758f7362f1c252e82fc720287a93c81366f743607812809705593fe1d7c3853f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000b011a32ed8b4f70d9943a2199f539bbecd7b62f7", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0xb011a32ed8b4f70d9943a2199f539bbecd7b62f7).", "allowDifference": false }, { "key": "0xc2eb038642409cacb7427667d194e7ffc6322f605a293c3088ea50e7387c0be8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000001c870776b168a9ffae80c51f050c611edd246741", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x1c870776b168a9ffae80c51f050c611edd246741).", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "before": "0x0000000000000000000000009c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes CB Nested Safe (0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110) from the owners linked list by clearing its entry.", "allowDifference": false }, { "key": "0xdaf8a00b5bed19da86efcb9f47bb7ded536a0ee70f1c43b062cb09e630709778", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000003dad2200849925bb46d9bf05afa5f7f213f4c18e", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x3dad2200849925bb46d9bf05afa5f7f213f4c18e).", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "after": "0x000000000000000000000000f9e320f3da12e68af219d9e2a490dd649f6b177c", "description": "Updates SENTINEL pointer (head of owners linked list) from Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) to new first EOA signer (0xf9e320f3da12e68af219d9e2a490dd649f6b177c).", "allowDifference": false }, { "key": "0xf2703bf6aed371ed0006c3f1370d925046c90122272e607d356ede2c94165357", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Removes Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) from owners linked list by clearing its entry (was pointing to SENTINEL).", "allowDifference": false }, { "key": "0xf50027dc233102bb13bb30a38326315505fe2452eaf2e2f78f1c0da0084d86c4", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006cd3850756b7894774ab715d136f9dd02837de50", "description": "Adds EOA signer to owners linked list, setting its entry to point to next owner (0x6cd3850756b7894774ab715d136f9dd02837de50).", "allowDifference": false }, { "key": "0xfabcf704e62a1cc99ee758de3edd11a4234df4f0bf03420e74085bec5df5faa9", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for the UpdateCBSafeSigners transaction.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-3.json ================================================ { "cmd": "SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=7 SAFE_NONCE_0X7BB41C3008B3F03FE483B28B8DB90E19CF07595C=14 forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeSystemConfig --sig sign(address[]) [0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0xe72a52cc544858db55fa6306282af950d61dfe7d0e698f1b13fd3445bd5ce47b" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000007", "description": "Override the nonce to 7, the expected value after Parts 1-2 (UpdateProxyAdminOwnerSigners and UpdateCBSafeSigners) execute.", "allowDifference": false }, { "key": "0xafc023447912a7237c842d785f6627279b1b43e61818ef99634bff4764f61c23", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Override the nonce to 14, the expected value after Part 1 (UpdateProxyAdminOwnerSigners) executes.", "allowDifference": false }, { "key": "0xc68c82056a4782e6920506248dec06b7949eabf81d66a13e5e8ec70d4e8f4b13", "value": "0x0000000000000000000000009855054731540a48b28990b63dcf4f33d8ae46a1", "description": "Simulates the post-Part-1 state where Security Council Safe points to CB Coordinator Safe (0x9855054731540a48b28990b63dcf4f33d8ae46a1) in the owners linked list.", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "value": "0x00000000000000000000000020acf55a3dcfe07fc4cecacfa1628f788ec8a4dd", "description": "Simulates the post-Part-1 state where SENTINEL points to Security Council Safe (0x20acf55a3dcfe07fc4cecacfa1628f788ec8a4dd) as head of the owners linked list.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000007", "after": "0x0000000000000000000000000000000000000000000000000000000000000008", "description": "Increments the Safe nonce from 7 to 8 after the Security Council Safe submits its approval.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the _initialized version from 3 to 4 as part of the SystemConfig upgrade re-initialization.", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b4095703e0982140d16f8eba6d158fccede42f04a4c", "after": "0x0000000000000000004c4b40b535ff7f118260a952ce65e7ff41b1743de8ee6c", "description": "Updates the SuperchainConfig address stored in SystemConfig from OP's shared SuperchainConfig (0x95703e09...) to Base's own SuperchainConfig (0xb535ff7f...).", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "after": "0x0000000000000000000000000507aaa21c678976fcdc7e804836acd6ebc17a44", "description": "Updates the EIP-1967 implementation address of the SystemConfig proxy from old (0xd392c27b...) to new (0x0507aaa2...).", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Mainnet", "address": "0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the Safe nonce from 14 to 15 after executing the upgradeAndCall transaction.", "allowDifference": false }, { "key": "0x28a7318595c81eb318175ebf2c94267a25f37f93adec80875cc729cf44840d85", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets approvedHashes[Security Council Safe][txHash] = 1, recording the Security Council Safe's approval for this transaction.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-19-superchain-separation/validations/security-council-signer-part-4.json ================================================ { "cmd": "SAFE_NONCE_0X20ACF55A3DCFE07FC4CECACFA1628F788EC8A4DD=8 forge script --rpc-url https://eth-mainnet.public.blastapi.io AddSecurityCouncilSigner --sig sign(address[]) [] --sender 0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "domainHash": "0x1fbfdc61ceb715f63cb17c56922b88c3a980f1d83873df2b9325a579753e8aa3", "messageHash": "0x9a22cfa78b9681ad2313bf8eea2d76890598722faecc6606db8585be6bf3773c" }, "stateOverrides": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000008", "description": "Override the nonce to 8, the expected value after Parts 1-3 (UpdateProxyAdminOwnerSigners, UpdateCBSafeSigners, and UpgradeSystemConfig) execute.", "allowDifference": false }, { "key": "0xefc76de8fcb1bee05c91a2b10f082422b19ab2a075386e7c7f7c903b4764a3e6", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Security Council Safe - Mainnet", "address": "0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x000000000000000000000000000000000000000000000000000000000000000a", "after": "0x000000000000000000000000000000000000000000000000000000000000000b", "description": "Updates the owner count from 10 to 11 after adding the new Security Council signer (0xbDE1845c879942fC326F247Ad708677733Dd5594).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000008", "description": "Updates the execution threshold to 8 (8-of-11 required for execution).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000008", "after": "0x0000000000000000000000000000000000000000000000000000000000000009", "description": "Increments the Safe nonce from 8 to 9 after executing the AddSecurityCouncilSigner transaction.", "allowDifference": false }, { "key": "0xdc949e6be273b76165696c06fd11bc8f9fbb299f447694327fef95e141060cb7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc6", "description": "Adds new Security Council signer (0xbDE1845c879942fC326F247Ad708677733Dd5594) to the owners linked list, setting its entry to point to the previous head owner (0x5ff5c78ff194acc24c22daadde4d639ebf18acc6).", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x0000000000000000000000005ff5c78ff194acc24c22daadde4d639ebf18acc6", "after": "0x000000000000000000000000bde1845c879942fc326f247ad708677733dd5594", "description": "Updates SENTINEL pointer (head of owners linked list) from previous head (0x5ff5c78ff194acc24c22daadde4d639ebf18acc6) to new Security Council signer (0xbde1845c879942fc326f247ad708677733dd5594).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: mainnet/2026-02-27-pause-superchain-config/FACILITATOR.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Check current pause status ```bash make check-status ``` ### 3. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ================================================ FILE: mainnet/2026-02-27-pause-superchain-config/Makefile ================================================ include ../../Makefile include ../.env include .env # Get first owner from INCIDENT_MULTISIG SENDER := $(shell cast call $(INCIDENT_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) SCRIPT_NAME=PauseSuperchainConfig .PHONY: sign-pause sign-pause: @rm -f signatures-pause.txt @start_nonce=$$(cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) | xargs printf "%d"); \ echo "Starting nonce: $$start_nonce"; \ for i in $$(seq 0 19); do \ nonce=$$(($$start_nonce + $$i)); \ echo "Signing with nonce $$nonce"; \ SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) | tee sign_output.tmp; \ signer=$$(grep "^Signer:" sign_output.tmp | awk '{print $$2}'); \ sig=$$(grep "^Signature:" sign_output.tmp | awk '{print $$2}'); \ printf "%s," "$$signer:$$nonce:$$sig" >> signatures-pause.txt; \ rm -f sign_output.tmp; \ done; \ echo "" >> signatures-pause.txt # Execute .PHONY: execute-pause execute-pause: forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: check-status check-status: @superchain_config=$$(cast call $(SYSTEM_CONFIG) "superchainConfig()" --rpc-url $(L1_RPC_URL)); \ superchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \ echo "SuperchainConfig address: 0x$$superchain_config"; \ cast call 0x$$superchain_config "paused()" --rpc-url $(L1_RPC_URL) .PHONY: check-nonce check-nonce: @echo "Incident Safe: $(INCIDENT_MULTISIG)" @cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) ================================================ FILE: mainnet/2026-02-27-pause-superchain-config/README.md ================================================ # Pause SuperchainConfig Status: SIGNED ## Description Pauses deposits/withdrawals Base. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ## Sign Pause Task ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Sign pause transactions ```bash make sign-pause ``` This will output your signature batch to a `signatures-pause.txt` file. ### 3. Send the contents of `signatures-pause.txt` to facilitator ================================================ FILE: mainnet/2026-02-27-pause-superchain-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-02-27-pause-superchain-config/script/PauseSuperchainConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function superchainConfig() external view returns (address); } interface ISuperchainConfig { function pause(address _identifier) external; function paused(address) external view returns (bool); } contract PauseSuperchainConfig is MultisigScript { address public immutable INCIDENT_MULTISIG = vm.envAddress("INCIDENT_MULTISIG"); address public immutable SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); calls[0] = Call({ operation: Enum.Operation.Call, target: superchainConfig, data: abi.encodeCall(ISuperchainConfig.pause, (address(0))), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); bool paused = ISuperchainConfig(superchainConfig).paused(address(0)); require(paused == true, "PauseSuperchainConfig: chain is not paused"); } function _ownerSafe() internal view override returns (address) { return INCIDENT_MULTISIG; } } ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Update repo: ```bash cd contract-deployments git pull cd mainnet/2026-03-11-patch-fee-disburser make deps ``` ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) # Sender address for validation generation (parent of OWNER_SAFE) SENDER := $(shell cast call $(OWNER_SAFE) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches apply-patches: cd lib/contracts && patch -p1 < ../../patch/ifee-vault-withdraw.patch cd lib/contracts && patch -p1 < ../../patch/fee-disburser-semver.patch .PHONY: deps deps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit apply-patches ## # Deployment ## .PHONY: deploy-fee-disburser deploy-fee-disburser: forge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \ --rpc-url $(L2_RPC_URL) \ --broadcast \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ## # Upgrade FeeDisburser (via L1 deposit transaction) ## .PHONY: gen-validation-upgrade gen-validation-upgrade: deps-signer-tool $(call GEN_VALIDATION,UpgradeFeeDisburser,,$(SENDER),base-signer.json,) .PHONY: execute-upgrade-feedisburser execute-upgrade-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser execute-upgrade-feedisburser: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/README.md ================================================ # FeeDisburser Patch Status: [EXECUTED](https://etherscan.io/tx/0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1) ## Description Our latest deployment of the `FeeDisburser` contract is using an interface that is incompatible with our current FeeVault deployments on Base. This patch upgrade fixes the interface. ## Procedure ### Install dependencies #### 1. Update foundry ```bash foundryup ``` #### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node: ```bash brew install node ``` ### Approve the transaction #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run the signing tool ```bash make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction. ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/patch/fee-disburser-semver.patch ================================================ diff --git a/src/revenue-share/FeeDisburser.sol b/src/revenue-share/FeeDisburser.sol --- a/src/revenue-share/FeeDisburser.sol +++ b/src/revenue-share/FeeDisburser.sol @@ -131,9 +131,9 @@ contract FeeDisburser is ISemver { emit FeesReceived(msg.sender, msg.value); } - /// @custom:semver 1.0.0 + /// @custom:semver 1.0.0+fee-vault-withdraw-compat function version() external pure virtual returns (string memory) { - return "1.0.0"; + return "1.0.0+fee-vault-withdraw-compat"; } //////////////////////////////////////////////////////////////// ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/patch/ifee-vault-withdraw.patch ================================================ diff --git a/interfaces/L2/IFeeVault.sol b/interfaces/L2/IFeeVault.sol --- a/interfaces/L2/IFeeVault.sol +++ b/interfaces/L2/IFeeVault.sol @@ -32,7 +32,7 @@ interface IFeeVault { function minWithdrawalAmount() external view returns (uint256); function recipient() external view returns (address); function totalProcessed() external view returns (uint256); - function withdraw() external returns (uint256 value_); + function withdraw() external; function withdrawalNetwork() external view returns (Types.WithdrawalNetwork); function setMinWithdrawalAmount(uint256 _newMinWithdrawalAmount) external; function setRecipient(address _newRecipient) external; ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/records/DeployFeeDisburser.s.sol/8453/run-1773254584772.json ================================================ { "transactions": [ { "hash": "0x229488c0a1d101520c9be586f5736e2a05b63ed79c8aa6d344835654c6c5f4da", "transactionType": "CREATE", "contractName": "FeeDisburser", "contractAddress": "0x72984fef9c2123ebb66912ceab9e47c5e9b738e6", "function": null, "arguments": [ "0x23B597f33f6f2621F77DA117523Dffd634cDf4ea", "86400" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "gas": "0x9f3bb", "value": "0x0", "input": "0x60c060405234801561000f575f80fd5b5060405161090e38038061090e83398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161081a6100f45f395f8181610156015261020501525f818160c2015261034e015261081a5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252601f81527f312e302e302b6665652d7661756c742d77697468647261772d636f6d706174006020820152905161010591906106b5565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106ce565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b89160040161070c565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610467919061077c565b60018111156104785761047861074f565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610533919061079a565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107cd565b8173ffffffffffffffffffffffffffffffffffffffff163110610666578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561064f575f80fd5b505af1158015610661573d5f803e3d5ffd5b505050505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106c76020830184610669565b9392505050565b80820180821115610706577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f6107466060830184610669565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403121561078c575f80fd5b8151600281106106c7575f80fd5b5f602082840312156107aa575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106c7575f80fd5b5f602082840312156107dd575f80fd5b505191905056fea2646970667358221220ede52522202c163574ba53ebb17a001cdd3afcf470d3dfa0e7dd0e56a46e753e64736f6c6343000819003300000000000000000000000023b597f33f6f2621f77da117523dffd634cdf4ea0000000000000000000000000000000000000000000000000000000000015180", "nonce": "0x17", "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xbd33f5", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x229488c0a1d101520c9be586f5736e2a05b63ed79c8aa6d344835654c6c5f4da", "transactionIndex": "0x31", "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockNumber": "0x293ad6b", "gasUsed": "0x7a7cb", "effectiveGasPrice": "0x4df8f0", "blobGasUsed": "0x2966c", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": null, "contractAddress": "0x72984fef9c2123ebb66912ceab9e47c5e9b738e6", "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x8dd", "l1BlobBaseFee": "0x590f2e", "l1BlobBaseFeeScalar": "0x101c12", "l1Fee": "0x3ea9ec88", "l1GasPrice": "0x724d44e", "l1GasUsed": "0x4c48" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773254584772, "chain": 8453, "commit": "597834e" } ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/records/UpgradeFeeDisburser.s.sol/1/run-1773435817460.json ================================================ { "transactions": [ { "hash": "0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1", "transactionType": "CALL", "contractName": null, "contractAddress": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "0", "0xe9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e600000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x87ad5a7c48da2add5e293a813bbaf57817e3b19e7c28d59361678e48135ba377250947c17edb28501269504d1e431238680405be5bd338ee6e5191ab4a1cc4a91b6d9eae6b4432c7ee5984e57bbb3971507bc57dc920af9e66798280d28889a0d42095676800a55b672edcff4a575434fe18c2db15fd4c612b8632353cefad55091c9bd9d7930c86118e2cc323c15630c8e95b04492baedc21aff0946c70bceccde002ee60c79350b2348e5ef00d8152c4cefce716eccbde89a5d04c9c78f304c1fe1b" ], "transaction": { "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "gas": "0x3adf6", "value": "0x0", "input": "0x6a76120200000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c387ad5a7c48da2add5e293a813bbaf57817e3b19e7c28d59361678e48135ba377250947c17edb28501269504d1e431238680405be5bd338ee6e5191ab4a1cc4a91b6d9eae6b4432c7ee5984e57bbb3971507bc57dc920af9e66798280d28889a0d42095676800a55b672edcff4a575434fe18c2db15fd4c612b8632353cefad55091c9bd9d7930c86118e2cc323c15630c8e95b04492baedc21aff0946c70bceccde002ee60c79350b2348e5ef00d8152c4cefce716eccbde89a5d04c9c78f304c1fe1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x55", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x178b465", "logs": [ { "address": "0x49048044d57e1c92a77f79988d21fa8faf74e97e", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x000000000000000000000000ad5b57feb77e294fd7bf5ebe9ab01caa0a90b221", "0x00000000000000000000000009c7bad99688a55a2e83644bfaed09e62bdcccba", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe600000000000000000000000072984fef9c2123ebb66912ceab9e47c5e9b738e600000000000000000000000000000000000000", "blockHash": "0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956", "blockNumber": "0x1782567", "blockTimestamp": "0x69b47ba7", "transactionHash": "0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1", "transactionIndex": "0x142", "logIndex": "0x256", "removed": false }, { "address": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x57b4b987149c04119d1bef6df4214d8f9c09043b89357e285cf0363fe87ae023" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956", "blockNumber": "0x1782567", "blockTimestamp": "0x69b47ba7", "transactionHash": "0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1", "transactionIndex": "0x142", "logIndex": "0x257", "removed": false } ], "logsBloom": "0x000000004000000000000000000000000000008000000000000000008400000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000020000000000000000000000008010000000000000000000000200000000000000000008000000000000000000000000008000000000000000000000800000000000400010000100000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000010000000000000000000000000800000000040000000000000000000200000000000000000000000000020000000000000000a0000000000000000000100", "type": "0x2", "transactionHash": "0xd156906b67b1110bc1f804367bae08d77afbd9ca65be146449d551ae9f0c5af1", "transactionIndex": "0x142", "blockHash": "0xa586dec1cd97258496fa7a0c3cd6ae8d44ea2513b6805570f88b8b3fa9e56956", "blockNumber": "0x1782567", "gasUsed": "0x2a9f7", "effectiveGasPrice": "0x23cf6b7", "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", "to": "0x9c4a57feb77e294fd7bf5ebe9ab01caa0a90a110", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773435817460, "chain": 1, "commit": "2bbc0c1" } ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {FeeDisburser} from "@base-contracts/src/revenue-share/FeeDisburser.sol"; /// @title DeployFeeDisburser /// @notice Deploys the FeeDisburser implementation contract which collects fees from L2 FeeVaults /// and bridges them to L1. /// @dev Required environment variables: /// - BALANCE_TRACKER: The L1 address that will receive bridged fees /// - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours) /// - FEE_DISBURSER_ADDR: The existing FeeDisburser proxy contract on L2 contract DeployFeeDisburser is Script { address public immutable L1_WALLET = vm.envAddress("BALANCE_TRACKER"); uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice EIP-1967 implementation storage slot. bytes32 internal constant IMPL_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function run() external { vm.startBroadcast(); FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL); console.log("FeeDisburser deployed at:", address(feeDisburser)); console.log(" L1_WALLET:", L1_WALLET); console.log(" FEE_DISBURSEMENT_INTERVAL:", FEE_DISBURSEMENT_INTERVAL); vm.stopBroadcast(); require(feeDisburser.L1_WALLET() == L1_WALLET, "DeployFeeDisburser: L1_WALLET mismatch"); require( feeDisburser.FEE_DISBURSEMENT_INTERVAL() == FEE_DISBURSEMENT_INTERVAL, "DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch" ); _postCheck(address(feeDisburser)); } /// @notice Simulates disburseFees() on the proxy with the newly deployed implementation /// to verify ABI compatibility with the deployed FeeVaults. function _postCheck(address newImpl) internal { vm.store(FEE_DISBURSER_PROXY, IMPL_SLOT, bytes32(uint256(uint160(newImpl)))); FeeDisburser(payable(FEE_DISBURSER_PROXY)).disburseFees(); console.log("Postcheck: disburseFees() simulation succeeded with new implementation"); } } ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/script/UpgradeFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IProxy { function upgradeTo(address newImplementation) external; } /// @title UpgradeFeeDisburser /// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1. /// The FeeDisburser proxy admin is the L1 alias of OWNER_SAFE, so this upgrade /// must be executed as a deposit transaction through OptimismPortal2. contract UpgradeFeeDisburser is MultisigScript { /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin). address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The OptimismPortal2 contract on L1 used for deposit transactions. address public immutable OPTIMISM_PORTAL = vm.envAddress("OPTIMISM_PORTAL_ADDR"); /// @notice The FeeDisburser proxy contract on L2. address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice The new FeeDisburser implementation contract on L2. address public immutable FEE_DISBURSER_IMPL = vm.envAddress("FEE_DISBURSER_IMPL_ADDR"); /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation. /// The upgrade result should be verified on L2 after the deposit transaction is processed. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {} /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade /// the FeeDisburser proxy on L2. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL)); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OPTIMISM_PORTAL, data: abi.encodeCall( IOptimismPortal2.depositTransaction, (FEE_DISBURSER_PROXY, 0, 100_000, false, upgradeCalldata) ), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction on L1. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-03-11-patch-fee-disburser/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://eth-mainnet.public.blastapi.io UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6CD3850756b7894774Ab715D136F9dD02837De50", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "skipTaskOriginValidation": true, "hideTaskOriginSkippedPage": true, "expectedDomainAndMessageHashes": { "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "domainHash": "0xfb308368b8deca582e84a807d31c1bfcec6fda754061e2801b4d6be5cb52a8ac", "messageHash": "0xd1023f4dba0b6ffbeb42d431ab320be78a2f45473304354fb917b70148c68dd9" }, "stateOverrides": [ { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x519d43638472ac4a58b8219e319082b3740cb171ea7d8ba1ebbce34fa70e37bc", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismPortal - Mainnet", "address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x000000000177eab6000000000007e1760000000000000000000000003b9aca00", "after": "0x000000000177eac800000000000186a00000000000000000000000003b9aca00", "description": "Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).", "allowDifference": true } ] }, { "name": "CB Signer Safe - Mainnet", "address": "0x9C4a57Feb77e294Fd7BF5EBE9AB01CAA0a90A110", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000009", "after": "0x000000000000000000000000000000000000000000000000000000000000000a", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(INCIDENT_MULTISIG) export OWNER_SAFE ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(FROM_GAS_LIMIT)" -a "$(FROM_GAS_LIMIT)" != "TODO" || (echo "FROM_GAS_LIMIT required" && exit 1) @test -n "$(TO_GAS_LIMIT)" -a "$(TO_GAS_LIMIT)" != "TODO" || (echo "TO_GAS_LIMIT required" && exit 1) @test -n "$(FROM_ELASTICITY)" -a "$(FROM_ELASTICITY)" != "TODO" || (echo "FROM_ELASTICITY required" && exit 1) @test -n "$(TO_ELASTICITY)" -a "$(TO_ELASTICITY)" != "TODO" || (echo "TO_ELASTICITY required" && exit 1) @test -n "$(FROM_DENOMINATOR)" -a "$(FROM_DENOMINATOR)" != "TODO" || (echo "FROM_DENOMINATOR required" && exit 1) @test -n "$(TO_DENOMINATOR)" -a "$(TO_DENOMINATOR)" != "TODO" || (echo "TO_DENOMINATOR required" && exit 1) @test -n "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" -a "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "FROM_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @test -n "$(TO_DA_FOOTPRINT_GAS_SCALAR)" -a "$(TO_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "TO_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @echo "Configuration validated successfully" # Calculate the DA footprint gas scalar based on the formula: # da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) # Uses TO_GAS_LIMIT and TO_ELASTICITY from .env .PHONY: da-scalar da-scalar: ifndef TARGET_BLOB_COUNT $(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=) endif ifeq ($(TO_GAS_LIMIT),TODO) $(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.) endif ifeq ($(TO_ELASTICITY),TODO) $(error TO_ELASTICITY is not set. Please set it in .env before running this command.) endif @echo "$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =" @echo "TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DENOMINATOR=$(TO_DENOMINATOR) OLD_DENOMINATOR=$(FROM_DENOMINATOR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR)) .PHONY: execute execute: validate-config NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \ OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \ NEW_ELASTICITY=$(TO_ELASTICITY) \ OLD_ELASTICITY=$(FROM_ELASTICITY) \ NEW_DENOMINATOR=$(TO_DENOMINATOR) \ OLD_DENOMINATOR=$(FROM_DENOMINATOR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) # Generate rollback validation file with swapped old/new values and nonce offset. # SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback # transaction targets the correct future nonce. .PHONY: gen-validation-rollback gen-validation-rollback: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DENOMINATOR=$(TO_DENOMINATOR) NEW_DENOMINATOR=$(FROM_DENOMINATOR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET))) .PHONY: execute-rollback execute-rollback: validate-config OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \ NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \ OLD_ELASTICITY=$(TO_ELASTICITY) \ NEW_ELASTICITY=$(FROM_ELASTICITY) \ OLD_DENOMINATOR=$(TO_DENOMINATOR) \ NEW_DENOMINATOR=$(FROM_DENOMINATOR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/README.md ================================================ # Update Gas Limit, EIP-1559 Params & DA Footprint Gas Scalar in L1 `SystemConfig` Status: [EXECUTED](https://etherscan.io/tx/0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1774471597995.json)) ## Description We are updating the gas limit, EIP-1559 elasticity, EIP-1559 denominator, and DA footprint gas scalar to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to 400,000,000, elasticity to 5, denominator to 100, and DA footprint gas scalar to 148 if invoked as part of the "upgrade" process, or revert to the old limit of 375,000,000 gas, elasticity of 6, denominator of 125, and DA footprint gas scalar of 139 if invoked as part of the "rollback" process. ### DA Footprint Gas Scalar Formula We typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula: ``` da_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio) ``` Where: - `gas_limit` = L2 gas limit per block - `elasticity` = EIP-1559 elasticity multiplier - `l2_block_time` = 2 seconds - `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block` - `target_blob_count` = target number of blobs per L1 block - `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage This simplifies to: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) ``` Example with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6: ``` da_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312 ``` The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/1/run-1774471597995.json ================================================ { "transactions": [ { "hash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionType": "CALL", "contractName": null, "contractAddress": "0x14536667cd30e52c0b458baaccb9fada7046e056", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000020000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xce1271414c6dd52ce530619e2a6325ff7eba8c5a4f9bf79c2f4be557d882d2fc1177319908c5969a730b142f388b4430ddca48477b0fce2068fa557d06f26c971c19d22f3c506edf09b69b16a43844d544a4b91c08b69f76083a9ef7c5d101bf896265849a9ef5f20b2414970d1d355972dc311e9752969e87af409239de6529761b85c65f93762b52cb5d30abb32e1d515a08d89d61ad0c8284300592211c904d0e0fa4075ee73fd37715052d4ed55279dc8cda335526d667214b5082aa4e51c57c1c" ], "transaction": { "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "gas": "0x2b3f4", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000000544858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000020000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f4072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d784000000000000000000000000000000000000000000000000000000000000000000000000000000000073a79fab69143498ed3712e519a88a918e1f407200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ce1271414c6dd52ce530619e2a6325ff7eba8c5a4f9bf79c2f4be557d882d2fc1177319908c5969a730b142f388b4430ddca48477b0fce2068fa557d06f26c971c19d22f3c506edf09b69b16a43844d544a4b91c08b69f76083a9ef7c5d101bf896265849a9ef5f20b2414970d1d355972dc311e9752969e87af409239de6529761b85c65f93762b52cb5d30abb32e1d515a08d89d61ad0c8284300592211c904d0e0fa4075ee73fd37715052d4ed55279dc8cda335526d667214b5082aa4e51c57c1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x9", "chainId": "0x1" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x21fa240", "logs": [ { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000006400000005", "blockHash": "0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84", "blockNumber": "0x1797513", "blockTimestamp": "0x69c449ab", "transactionHash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionIndex": "0x1e0", "logIndex": "0x288", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000017d78400", "blockHash": "0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84", "blockNumber": "0x1797513", "blockTimestamp": "0x69c449ab", "transactionHash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionIndex": "0x1e0", "logIndex": "0x289", "removed": false }, { "address": "0x73a79fab69143498ed3712e519a88a918e1f4072", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000094", "blockHash": "0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84", "blockNumber": "0x1797513", "blockTimestamp": "0x69c449ab", "transactionHash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionIndex": "0x1e0", "logIndex": "0x28a", "removed": false }, { "address": "0x14536667cd30e52c0b458baaccb9fada7046e056", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x64974c55513353b44df68b37144ce0b9f45fd40d543c8952d879bfa76e04fb5d0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84", "blockNumber": "0x1797513", "blockTimestamp": "0x69c449ab", "transactionHash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionIndex": "0x1e0", "logIndex": "0x28b", "removed": false } ], "logsBloom": "0x0400000040000000000000000000000000000000000000000000000004000000000000a000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000001000000000000000000000000000008000000420000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000000000002000000000008000000000000000000000000000000000000000008000000000000100000020000000000000000040000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xa0e2f62a2867858350ff32a7943a23ddb872571eeacee7bc0453b46948a5c372", "transactionIndex": "0x1e0", "blockHash": "0x9a65b444fb4ad1c55900632f93f46618d65d6744e5473b8838c8a9945b458f84", "blockNumber": "0x1797513", "gasUsed": "0x1d922", "effectiveGasPrice": "0x4adef7e", "from": "0x1841cb3c2ce6870d0417844c817849da64e6e937", "to": "0x14536667cd30e52c0b458baaccb9fada7046e056", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1774471597995, "chain": 1, "commit": "361864f" } ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable DENOMINATOR; uint32 internal immutable NEW_DENOMINATOR; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("OLD_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("OLD_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); DENOMINATOR = uint32(vm.envUint("OLD_DENOMINATOR")); NEW_DENOMINATOR = uint32(vm.envUint("NEW_DENOMINATOR")); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("OLD_DA_FOOTPRINT_GAS_SCALAR")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if ( GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit() || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity() || DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator() || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar() ) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). // Prepare two storage overrides for SystemConfig Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT bytes32 gasConfigSlotKey = bytes32(uint256(0x68)); uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey)); uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT); storageOverrides[0] = Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)}); // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a) // Storage layout (low to high bits): // - eip1559Denominator (uint32): bits 0-31 // - eip1559Elasticity (uint32): bits 32-63 // - operatorFeeScalar (uint32): bits 64-95 // - operatorFeeConstant (uint64): bits 96-159 // - daFootprintGasScalar (uint16): bits 160-175 // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update // the fields we care about. bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey)); // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant) uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64; uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask; uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR); storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](3); calls[0] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); calls[2] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json ================================================ { "cmd": "OWNER_SAFE=0x14536667Cd30e52C0b458BaACcB9faDA7046E056 SYSTEM_CONFIG=0x73a79Fab69143498Ed3712e519A88a918e1f4072 OLD_GAS_LIMIT=400000000 NEW_GAS_LIMIT=375000000 OLD_ELASTICITY=5 NEW_ELASTICITY=6 OLD_DENOMINATOR=100 NEW_DENOMINATOR=125 OLD_DA_FOOTPRINT_GAS_SCALAR=148 NEW_DA_FOOTPRINT_GAS_SCALAR=139 SAFE_NONCE=105 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0x26a19e1e19c9dd593b254574af1c18ab62b00f4e36d4cd554891a02617f3f7cc" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000069", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xc6edbbe6d06beac67af3a930fafb3f0c0505c89cd6ad26f26b9501da24434821", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "value": "0x0000000000000000000000000000000000101c12000008dd0000000017d78400", "description": "Overrides gas limit to post-upgrade value (400,000,000) so rollback simulation succeeds", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x0000000000000000000000940000000000000000000000000000000500000064", "description": "Overrides EIP-1559 params and DA footprint gas scalar to post-upgrade values so rollback simulation succeeds", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000069", "after": "0x000000000000000000000000000000000000000000000000000000000000006a", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd0000000017d78400", "after": "0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0", "description": "Reverts the gas limit from 400,000,000 back to 375,000,000", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000940000000000000000000000000000000500000064", "after": "0x00000000000000000000008b000000000000000000000000000000060000007d", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false } ] } ], "balanceChanges": [], "skipTaskOriginValidation": true, "taskOriginConfig": { "taskCreator": { "commonName": "leopold.joy@coinbase.com" } } } ================================================ FILE: mainnet/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer.json ================================================ { "cmd": "OWNER_SAFE=0x14536667Cd30e52C0b458BaACcB9faDA7046E056 SYSTEM_CONFIG=0x73a79Fab69143498Ed3712e519A88a918e1f4072 NEW_GAS_LIMIT=400000000 OLD_GAS_LIMIT=375000000 NEW_ELASTICITY=5 OLD_ELASTICITY=6 NEW_DENOMINATOR=100 OLD_DENOMINATOR=125 NEW_DA_FOOTPRINT_GAS_SCALAR=148 OLD_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://eth-mainnet.public.blastapi.io IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x1841CB3C2ce6870D0417844C817849da64E6e937", "ledgerId": 0, "rpcUrl": "https://eth-mainnet.public.blastapi.io", "expectedDomainAndMessageHashes": { "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "domainHash": "0xf3474c66ee08325b410c3f442c878d01ec97dd55a415a307e9d7d2ea24336289", "messageHash": "0xf919188ede592321fa24fc431d5cbf603c705947a97383c8b678762e1c058346" }, "stateOverrides": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x3beade20373f7a410f579a325ce98e80864139807a4531e2131af2d5a2068ba7", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Incident Safe - Mainnet", "address": "0x14536667Cd30e52C0b458BaACcB9faDA7046E056", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000068", "after": "0x0000000000000000000000000000000000000000000000000000000000000069", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Mainnet", "address": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000101c12000008dd00000000165a0bc0", "after": "0x0000000000000000000000000000000000101c12000008dd0000000017d78400", "description": "Updates the gas limit from 375,000,000 to 400,000,000", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000008b000000000000000000000000000000060000007d", "after": "0x0000000000000000000000940000000000000000000000000000000500000064", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false } ] } ], "balanceChanges": [], "skipTaskOriginValidation": true, "taskOriginConfig": { "taskCreator": { "commonName": "leopold.joy@coinbase.com" } } } ================================================ FILE: mainnet/addresses.json ================================================ { "AddressManager": "0x8EfB6B5c4767B09Dc9AA6Af4eAA89F749522BaE2", "L1CrossDomainMessengerProxy": "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa", "L1ERC721BridgeProxy": "0x608d94945A64503E642E6370Ec598e519a2C1E53", "L1StandardBridgeProxy": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35", "L2OutputOracleProxy": "0x56315b90c40730925ec5485cf004d835058518A0", "OptimismMintableERC20FactoryProxy": "0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84", "OptimismPortalProxy": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e", "ProxyAdmin": "0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E", "SystemConfigProxy": "0x73a79Fab69143498Ed3712e519A88a918e1f4072", "SystemDictatorProxy": "0x1fE3fdd1F0193Dd657C0a9AAC37314D6B479E557" } ================================================ FILE: sepolia/2023-09-26-deploy/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: cp deploy-config/deploy-config.json lib/optimism/packages/contracts-bedrock/deploy-config/ cd lib/optimism/packages/contracts-bedrock && \ forge build && \ ETH_RPC_URL=$(L1_RPC_URL) DEPLOYMENT_CONTEXT=deploy-config IMPL_SALT=allyourbasearebelongtoyou forge script --private-key $(PRIVATE_KEY) --rpc-url $(L1_RPC_URL) Deploy --broadcast cp lib/optimism/packages/contracts-bedrock/deployments/deploy-config/.deploy deployed/addresses.json ================================================ FILE: sepolia/2023-09-26-deploy/deploy-config/deploy-config.json ================================================ { "finalSystemOwner": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "portalGuardian": "0xA9FF930151130fd19DA1F03E5077AFB7C78F8503", "l1StartingBlockTag": "safe", "l1ChainID": 11155111, "l2ChainID": 84532, "l1BlockTime": 12, "l2BlockTime": 2, "maxSequencerDrift": 600, "sequencerWindowSize": 3600, "channelTimeout": 300, "p2pSequencerAddress": "0xb830b99c95Ea32300039624Cb567d324D4b1D83C", "batchInboxAddress": "0xFf00000000000000000000000000000000084532", "batchSenderAddress": "0x6CDEbe940BC0F26850285cacA097C11c33103E47", "l2OutputOracleSubmissionInterval": 120, "l2OutputOracleStartingBlockNumber": 0, "l2OutputOracleStartingTimestamp": -1, "l2OutputOracleProposer": "0x20044a0d104E9e788A0C984A2B7eAe615afD046b", "l2OutputOracleChallenger": "0xDa3037Ff70Ac92CD867c683BD807e5A484857405", "finalizationPeriodSeconds": 12, "proxyAdminOwner": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "baseFeeVaultRecipient": "0xc7dE632EC7f11634318856a57c5897f6a0bda3b0", "l1FeeVaultRecipient": "0x9082AB367EAFe8887a88A1B9970BE2719007Cf6b", "sequencerFeeVaultRecipient": "0x4cFDfb25b34b5e5E3932dA5C4F080194137AF20F", "baseFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "l1FeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "sequencerFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "baseFeeVaultWithdrawalNetwork": 0, "l1FeeVaultWithdrawalNetwork": 0, "sequencerFeeVaultWithdrawalNetwork": 0, "gasPriceOracleOverhead": 2100, "gasPriceOracleScalar": 1000000, "governanceTokenSymbol": "NA", "governanceTokenName": "NotApplicable", "governanceTokenOwner": "0xEb5E931176714636563DC7BE4A10387D911BaE05", "l2GenesisBlockGasLimit": "0x17D7840", "l2GenesisBlockBaseFeePerGas": "0x3b9aca00", "eip1559Denominator": 50, "eip1559Elasticity": 10, "l2GenesisRegolithTimeOffset": "0x0", "systemConfigStartBlock": 0, "requiredProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000", "recommendedProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000" } ================================================ FILE: sepolia/2023-09-26-deploy/deployed/addresses.json ================================================ { "AddressManager": "0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B", "L1CrossDomainMessenger": "0x08A0C2EB1599718854bA30da3A3F6229982f31Ae", "L1CrossDomainMessengerProxy": "0xC34855F4De64F1840e5686e64278da901e261f20", "L1ERC721Bridge": "0xbb2Bb6A75cb9E302bb79804b36232D0f78Ee3B3A", "L1ERC721BridgeProxy": "0x21eFD066e581FA55Ef105170Cc04d74386a09190", "L1StandardBridge": "0x48E438E88870e5806d56c0fEF5BcAad080dB9b37", "L1StandardBridgeProxy": "0xfd0Bf71F60660E2f608ed56e1659C450eB113120", "L2OutputOracle": "0xAFEac3ccABcbCb93e0d04fb0337B519360E898B8", "L2OutputOracleProxy": "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254", "OptimismMintableERC20Factory": "0x2f36789426D2E32d33d2Fc2F2A7C06e5B1ED17f6", "OptimismMintableERC20FactoryProxy": "0xb1efB9650aD6d0CC1ed3Ac4a0B7f1D5732696D37", "OptimismPortal": "0xC1A068299d53DbEc9f23A334B2C8FB72FA87CA4A", "OptimismPortalProxy": "0x49f53e41452C74589E85cA1677426Ba426459e85", "ProtocolVersions": "0x2763F595e95B1D18cF0Aa4ef35a7A1Cefb6652Ea", "ProtocolVersionsProxy": "0x2e18754eA334c30Adb7Ecdd0A0d0D7dDf7A711E0", "ProxyAdmin": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "SystemConfig": "0x1126E5AfB588d39C3C5465a15aF389146D309581", "SystemConfigProxy": "0xf272670eb55e895584501d564AfEB048bEd26194" } ================================================ FILE: sepolia/2023-09-26-deploy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] script = 'script' broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 remappings = [ # '@optimism/=lib/optimism/packages/contracts-bedrock', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@cwia/=lib/clones-with-immutable-args/src', 'safe-contracts/=lib/safe-contracts/contracts/', ] ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/.gitignore ================================================ /src/ ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployL1StandardBridgeImplementation --broadcast .PHONY: upgrade upgrade: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeL1StandardBridge --broadcast ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 via-ir = true remappings = [ '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@cwia/=lib/clones-with-immutable-args/src' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/records/DeployL1StandardBridge.s.sol/11155111/run-1696724294.json ================================================ { "transactions": [ { "hash": "0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3", "transactionType": "CREATE2", "contractName": "L1StandardBridge", "contractAddress": "0xACd2E50B877ab12924a766b8dDBd9272402C7d72", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x24a1704636ab7083eac56294aff13e1651997638", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x29b8fc", "value": "0x0", "data": "0x1d7142e59e480de73a38d2758c350fa84e149eb4d5f19848e6492c009ac913bb60a08060405234610184577342000000000000000000000000000000000000106080526000549060ff8260081c161580610177575b1561011e575061ffff1916610103811760081c60ff16156100c557600380546001600160a01b03191681559081176000556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a160405161227b908161018a8239608051818181610316015281816108be01528181610d3301528181611aec0152611d640152f35b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b62461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600360ff831610610034565b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021610c2f565b005b60003560e01c80630166a07a1461012c57806309fc8843146101235780631532ec341461016b5780631635f5fd1461016b5780633cb747bf1461013e578063540abf731461015957806354fd4d501461016257806358a997f6146101505780637f46ddb214610111578063838b25201461015957806387087623146101505780638f601f661461014757806391c49bf814610111578063927ede2d1461013e5780639a2ac6d514610135578063a9f9e6751461012c578063b1a1a88214610123578063c4d66de81461011a578063c89701a2146101115763e11013dd0361000e5761010c610980565b61000e565b5061010c610872565b5061010c6109f8565b5061010c61037d565b5061010c61024b565b5061010c610980565b5061010c6104a7565b5061010c6108e2565b5061010c6107e5565b5061010c6104fa565b5061010c610764565b5061010c6103fa565b73ffffffffffffffffffffffffffffffffffffffff81160361019257565b600080fd5b9181601f840112156101925782359167ffffffffffffffff8311610192576020838186019501011161019257565b9060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610192576004356101fc81610174565b9160243561020981610174565b9160443561021681610174565b9160643561022381610174565b916084359160a4359067ffffffffffffffff82116101925761024791600401610197565b9091565b50346101925761002161025d366101c5565b956102ca6102a261028960039894989795975473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216331491826102cf575b5050610ec1565b6113cb565b60049250602090604051938480927f6e296e450000000000000000000000000000000000000000000000000000000082525afa918215610370575b600092610340575b50807f00000000000000000000000000000000000000000000000000000000000000001691161438806102c3565b61036291925060203d8111610369575b61035a8183610639565b810190610e9c565b9038610312565b503d610350565b610378610eb4565b61030a565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043563ffffffff81168103610192576024359067ffffffffffffffff8211610192576103f16103df610021933690600401610197565b6103ea333b15610ba4565b3691610d92565b903433336119f2565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561043181610174565b6024359061043e82610174565b6064359167ffffffffffffffff831161019257610462610021933690600401610197565b92909161049373ffffffffffffffffffffffffffffffffffffffff80600354169081331491826102cf575050610ec1565b60443591611113565b600091031261019257565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346101925760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561053681610174565b6024359061054382610174565b6044359161055083610174565b6084359063ffffffff821682036101925760a4359367ffffffffffffffff8511610192576105886103ea610021963690600401610197565b93606435923391611bfd565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105d857604052565b6105e0610594565b604052565b6040810190811067ffffffffffffffff8211176105d857604052565b6020810190811067ffffffffffffffff8211176105d857604052565b6060810190811067ffffffffffffffff8211176105d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d857604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff81116106b6575b01160190565b6106be610594565b6106b0565b604051906020820182811067ffffffffffffffff8211176106e8575b60405260008252565b6106f0610594565b6106df565b91908251928382526000905b84821061074c5750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931161073f575b0116010190565b6000858286010152610738565b90602090818082850101519082860101520190610701565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576107e16040516107a3816105e5565b600581527f312e342e3000000000000000000000000000000000000000000000000000000060208201526040519182916020835260208301906106f5565b0390f35b50346101925760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561082181610174565b60243561082d81610174565b60643563ffffffff81168103610192576084359267ffffffffffffffff8411610192576108646103df610021953690600401610197565b926044359133913391611bfd565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101925760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602061097760043561092381610174565b73ffffffffffffffffffffffffffffffffffffffff6024359161094583610174565b166000526002835260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576004356109b781610174565b6024359063ffffffff82168203610192576044359167ffffffffffffffff8311610192576109ef6103ea610021943690600401610197565b913490336119f2565b50346101925760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257600435610a3481610174565b60005460ff8160081c16159081610b96575b5015610b1257610ab690610a8060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610ab16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610dc9565b610ae37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600381527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6003915060ff161038610a46565b15610bab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152fd5b610c3a333b15610ba4565b610cb7604051610c4981610601565b60008152610c5981343333611b26565b610ce3610c7e61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b916040519384917f1635f5fd0000000000000000000000000000000000000000000000000000000060208401523433336024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610639565b803b1561019257610d5c9160009160405180809581947f3dbb202b00000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048401611977565b039134905af18015610d85575b610d705750565b80610d7d610d83926105c4565b8061049c565b565b610d8d610eb4565b610d69565b929192610d9e8261067a565b91610dac6040519384610639565b829481845281830111610192578281602093846000960137010152565b60ff60005460081c1615610e185773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b908160209103126101925751610eb181610174565b90565b506040513d6000823e3d90fd5b15610ec857565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b15610f7957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152fd5b1561100457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152fd5b1561108f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152fd5b939291909181340361119c57610d8394828461118261118894611197986103ea73ffffffffffffffffffffffffffffffffffffffff851661115630821415610f72565b61117b61028961028960035473ffffffffffffffffffffffffffffffffffffffff1690565b1415610ffd565b92611237565b5a6111916106c3565b926112c0565b611088565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152fd5b604090610eb19392815281602082015201906106f5565b927f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d91929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631604051806112a9878783611220565b0390a36112bb60405192839283611220565b0390a3565b906000939192849360208451940192f190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81811061130e570390565b6113166112d3565b0390565b1561132157565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e000000000000000000000000000000000000000000006084820152fd5b946113d586611f47565b156114a7576113ec6113e7838861214c565b61131a565b73ffffffffffffffffffffffffffffffffffffffff861690813b15610192576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101879052610d8398611481939091906000908290604490829084905af1801561149a575b611487575b503691610d92565b94611821565b80610d7d611494926105c4565b38611479565b6114a2610eb4565b611474565b61148190610d839761150c87611506866114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54611303565b61153a856114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b5561155c878773ffffffffffffffffffffffffffffffffffffffff8b16611561565b6103ea565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90921660248301526044820192909252610d83916115c08260648101610cb7565b611668565b90816020910312610192575180151581036101925790565b156115e457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040519061168c826105e5565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561170357600082819282876116de9796519301915af16116d8611761565b90611791565b805190816116eb57505050565b82610d83936116fe9383010191016115c5565b6115dd565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b3d1561178c573d906117728261067a565b916117806040519384610639565b82523d6000602084013e565b606090565b9091901561179d575090565b8151156117ad5750805190602001fd5b6117eb906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906106f5565b0390fd5b610eb1939273ffffffffffffffffffffffffffffffffffffffff606093168252602082015281604082015201906106f5565b926118ab7fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b36040518061189c878b8b846117ef565b0390a4604051938493846117ef565b0390a4565b156118b757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152fd5b9092610eb1949360809373ffffffffffffffffffffffffffffffffffffffff8092168452166020830152604082015281606082015201906106f5565b92916119ad60409173ffffffffffffffffffffffffffffffffffffffff62030d40941686526060602087015260608601906106f5565b930152565b916119eb63ffffffff9173ffffffffffffffffffffffffffffffffffffffff6040949796971685526060602086015260608501906106f5565b9416910152565b611a9b90949194939293611a078534146118b0565b611a1383868884611b26565b611a6f611a3861028960035473ffffffffffffffffffffffffffffffffffffffff1690565b93866040519889947f1635f5fd0000000000000000000000000000000000000000000000000000000060208701526024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101865285610639565b803b1561019257611b15936000936040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b03925af18015610d8557610d705750565b927f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af591929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23604051806112a9878783611220565b81198111611ba4570190565b611bac6112d3565b0190565b9293610eb19695929160c09573ffffffffffffffffffffffffffffffffffffffff809481809416885216602087015216604085015216606083015260808201528160a082015201906106f5565b9493909195611c0b86611f47565b15611dad57611c1d6113e7848861214c565b73ffffffffffffffffffffffffffffffffffffffff861691823b15610192576040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916600482015260248101829052611d1295610cb7949091906000908290604490829084905af18015611da0575b611d8d575b505b611cba8383838c898d611ecc565b611cdc61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b986040519889967f0166a07a00000000000000000000000000000000000000000000000000000000602089015260248801611bb0565b823b1561019257611b1592600092836040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b80610d7d611d9a926105c4565b38611caa565b611da8610eb4565b611ca5565b81611d1294611dd7610cb794308b73ffffffffffffffffffffffffffffffffffffffff8c16611e43565b611e0f82611e09876114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b54611b98565b611e3d866114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b55611cac565b9092610d8393604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825260a0820182811067ffffffffffffffff821117611ebf575b604052611668565b611ec7610594565b611eb7565b926118ab7f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d03966040518061189c878b8b846117ef565b611f5081612019565b908115611f5b575090565b9050611f66816120a8565b9081612007575b81611f76575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fec4fc8e300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b5191617530fa6000513d82611ffb575b5081611ff4575090565b9050151590565b60201115915038611fea565b9050612012816120ea565b1590611f6d565b612022816120a8565b9081612096575b81612032575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527f1d1d8b6300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b90506120a1816120ea565b1590612029565b6000602091604051838101907f01ffc9a700000000000000000000000000000000000000000000000000000000808352602482015260248152611fda8161061d565b6000602091604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fffffffff00000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b61215581612019565b156121e657604051907fc01e1bd600000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9575b6000916121bb575b501691161490565b6121d3915060203d81116103695761035a8183610639565b386121b3565b6121e1610eb4565b6121ab565b604051907fd6c0b2c400000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9576000916121bb5750169116149056fea2646970667358221220f0ce1b4960361b2d5bf8aac4bc81ea4c00ee5061710e9318ddef54d10c4be7ce64736f6c634300080f0033", "nonce": "0x53", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3", "transactionIndex": "0x2", "blockHash": "0x499b622b32cecccf5340267174c8602d646d68cc48d555922af3c72a46790168", "blockNumber": "0x43d9ca", "from": "0x24A1704636AB7083eaC56294aFF13e1651997638", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x3948d5", "gasUsed": "0x1e371a", "contractAddress": null, "logs": [ { "address": "0xACd2E50B877ab12924a766b8dDBd9272402C7d72", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x499b622b32cecccf5340267174c8602d646d68cc48d555922af3c72a46790168", "blockNumber": "0x43d9ca", "transactionHash": "0x02259eb8c19c8c7af599cfbf1a783429242d43bf732bcf3a655e5b92dcbb6ba3", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e0b" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1696724294, "chain": 11155111, "multi": false, "commit": "37c83b4" } ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/records/UpgradeL1StandardBridge.s.sol/11155111/run-1696724395.json ================================================ { "transactions": [ { "hash": "0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "function": "upgradeAndCall(address,address,bytes)", "arguments": [ "0xfd0Bf71F60660E2f608ed56e1659C450eB113120", "0xACd2E50B877ab12924a766b8dDBd9272402C7d72", "0xc4d66de8000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20" ], "transaction": { "type": "0x02", "from": "0x608081689fe46936fb2fbdf7552cbb1d80ad4822", "to": "0x0389e59aa0a41e4a413ae70f0008e76caa34b1f3", "gas": "0x12955", "value": "0x0", "data": "0x9623609d000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120000000000000000000000000acd2e50b877ab12924a766b8ddbd9272402c7d7200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4", "transactionIndex": "0x2", "blockHash": "0x9dd9403fc25ea32a9bf658d40f6e0f4eb2acef88e6e14c3e6dc90b05aed7fca5", "blockNumber": "0x43d9d1", "from": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "to": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "cumulativeGasUsed": "0xfacc6", "gasUsed": "0xd744", "contractAddress": null, "logs": [ { "address": "0xfd0Bf71F60660E2f608ed56e1659C450eB113120", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x9dd9403fc25ea32a9bf658d40f6e0f4eb2acef88e6e14c3e6dc90b05aed7fca5", "blockNumber": "0x43d9d1", "transactionHash": "0x6829f5d3470433f4544dbdedd6d0854d4e389be36d8b9bcb7ad07eea7e71eee4", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000040000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e0b" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1696724395, "chain": 11155111, "multi": false, "commit": "37c83b4" } ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/script/DeployL1StandardBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/contracts/L1/L1StandardBridge.sol"; import "forge-std/Script.sol"; contract DeployL1StandardBridgeImplementation is Script { address internal DEPLOYER = 0x24A1704636AB7083eaC56294aFF13e1651997638; address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress("L1_STANDARD_BRIDGE_PROXY"); function implSalt() public returns (bytes32) { return keccak256(bytes(vm.envOr("IMPL_SALT", string("allyourbasearebelongtoyou")))); } function run() public { L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY)); CrossDomainMessenger messenger = proxy.messenger(); console.log("Current L1CrossDomainMessenger value: %s", address(messenger)); string memory version = proxy.version(); console.log("Current L1StandardBridge version: %s", version); vm.broadcast(DEPLOYER); L1StandardBridge bridge = new L1StandardBridge{ salt: implSalt() }(); console.log("New L1StandardBridge deployed at %s", address(bridge)); version = bridge.version(); console.log("New L1StandardBridge version: %s", version); require(address(bridge.MESSENGER()) == address(0)); require(address(bridge.messenger()) == address(0)); require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); } } ================================================ FILE: sepolia/2023-10-07-upgrade-l1-standard-bridge/script/UpgradeL1StandardBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "@eth-optimism-bedrock/contracts/L1/L1StandardBridge.sol"; import "@eth-optimism-bedrock/contracts/L1/L1CrossDomainMessenger.sol"; import "forge-std/Script.sol"; import {ProxyAdmin} from "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; contract UpgradeL1StandardBridge is Script { address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress("L1_STANDARD_BRIDGE_PROXY"); address internal NEW_IMPLEMENTATION = 0xACd2E50B877ab12924a766b8dDBd9272402C7d72; address internal PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); address internal PROXY_ADMIN_OWNER = vm.envAddress("PROXY_ADMIN_OWNER"); function run() public { L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY)); CrossDomainMessenger messenger = proxy.messenger(); console.log("Current L1CrossDomainMessenger value: %s", address(messenger)); string memory version = proxy.version(); console.log("Current L1StandardBridge version: %s", version); L1StandardBridge bridge = L1StandardBridge(payable(NEW_IMPLEMENTATION)); console.log("Upgrading L1StandardBridge implementation to: %s", address(bridge)); require(address(bridge.MESSENGER()) == address(0)); require(address(bridge.messenger()) == address(0)); require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN); require(uint256(proxyAdmin.proxyType(L1_STANDARD_BRIDGE_PROXY)) == uint256(ProxyAdmin.ProxyType.CHUGSPLASH)); vm.broadcast(PROXY_ADMIN_OWNER); proxyAdmin.upgradeAndCall({ _proxy: payable(L1_STANDARD_BRIDGE_PROXY), _implementation: address(bridge), _data: abi.encodeCall(L1StandardBridge.initialize, (L1CrossDomainMessenger(address(messenger)))) }); version = proxy.version(); console.log("New L1StandardBridge version: %s", version); console.log("New L1CrossDomainMessenger value: %s", address(proxy.messenger())); require(address(proxy.MESSENGER()) == address(messenger)); require(address(proxy.messenger()) == address(messenger)); require(address(proxy.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(proxy.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); } } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: deploy-balance-tracker deploy-balance-tracker: forge script DeployBalanceTracker --rpc-url $(L1_RPC_URL) --sig "run()" .PHONY: deploy-fee-disburser deploy-fee-disburser: forge script DeployFeeDisburser --rpc-url $(L2_RPC_URL) --sig "run()" .PHONY: verify-balance-tracker verify-balance-tracker: forge verify-contract ${BALANCE_TRACKER_IMPL} ./lib/base-contracts/src/revenue-share/BalanceTracker.sol:BalanceTracker --constructor-args $(shell cast abi-encode "constructor(address)" ${PROFIT_WALLET}) --verifier ${VERIFIER} --verifier-url ${L1_VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${L1_ETHERSCAN_API_KEY} --optimizer-runs=999999 --watch forge verify-contract ${BALANCE_TRACKER_PROXY} Proxy --constructor-args $(shell cast abi-encode "constructor(address)" ${BALANCE_TRACKER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${L1_VERIFIER_URL} --chain-id ${BALANCE_TRACKER_CHAIN_ID} --retries=1 --etherscan-api-key ${L1_ETHERSCAN_API_KEY} --optimizer-runs=999999 --watch .PHONY: verify-fee-disburser verify-fee-disburser: ETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${FEE_DISBURSER_IMPL} ./lib/base-contracts/src/revenue-share/FeeDisburser.sol:FeeDisburser --constructor-args $(shell cast abi-encode "constructor(address,address,uint256)" ${OPTIMISM_WALLET} ${BALANCE_TRACKER_PROXY} ${FEE_DISBURSEMENT_INTERVAL}) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch ETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${FEE_DISBURSER_PROXY} Proxy --constructor-args $(shell cast abi-encode "constructor(address)" ${FEE_DISBURSER_DEPLOYER}) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --num-of-optimizations=99999 --retries=1 --compiler-version v0.8.15+commit.e14f2714 --watch .PHONY: deploy-new-fee-vaults deploy-new-fee-vaults: forge script DeployNewFeeVaults --rpc-url $(L2_RPC_URL) --sig "run()" .PHONY: verify-fee-vaults verify-fee-vaults: ETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${SEQUENCER_FEE_VAULT_IMPL} SequencerFeeVault --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch ETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${L1_FEE_VAULT_IMPL} L1FeeVault --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch ETHERSCAN_API_KEY=$(L2_ETHERSCAN_API_KEY) forge verify-contract ${BASE_FEE_VAULT_IMPL} BaseFeeVault --constructor-args $(shell cast abi-encode "constructor(address,uint256,uint8)" ${FEE_DISBURSER_PROXY} 2000000000000000000 1) --verifier ${VERIFIER} --verifier-url ${L2_VERIFIER_URL} --chain-id ${L2_CHAIN_ID} --optimizer-runs=999999 --retries=1 --watch .PHONY: upgrade-fee-vault-proxy upgrade-fee-vault-proxy: forge script UpgradeFeeVaultProxy --rpc-url $(L2_RPC_URL) --sig "run()" ================================================ FILE: sepolia/2024-01-22-deploy-revshare/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/DeployBalanceTracker.s.sol/11155111/run-1706212422.json ================================================ { "transactions": [ { "hash": "0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9", "transactionType": "CREATE", "contractName": "BalanceTracker", "contractAddress": "0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA", "function": null, "arguments": [ "0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x1312d0", "value": "0x0", "data": "0x60a03461018057601f61119a38819003918201601f19168301916001600160401b038311848410176101855780849260209460405283398101031261018057516001600160a01b03811680820361018057156101205760805260005460ff8160081c166100cb5760ff80821610610090575b604051610ffe908161019c823960805181818161046b015261052e0152f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610071565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b610021610db0565b005b6000803560e01c9081630a5657201461009e575080636d1eb022146100955780637fbbe46f1461008c578063927a1a7714610083578063981949e81461007a5763ba69ebed0361000e5761007561048f565b61000e565b5061007561041f565b50610075610399565b506100756102c3565b50610075610180565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576004359060345482101561010857507f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c1015460805260206080f35b80fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b603454811015610173575b60346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c10190600090565b61017b61010b565b610146565b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405160148152f35b600080fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761023457604052565b61023c6101c0565b604052565b60209067ffffffffffffffff811161025b575b60051b0190565b6102636101c0565b610254565b9080601f830112156101bb5781359061028861028383610241565b6101f0565b9182938184526020808095019260051b8201019283116101bb578301905b8282106102b4575050505090565b813581529083019083016102a6565b50346101bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb5767ffffffffffffffff6004358181116101bb57366023820112156101bb5780600401359061032361028383610241565b908192808352602460208094019160051b830101913683116101bb57602401905b82821061036d57602435858782116101bb57610367610021923690600401610268565b9061066d565b813573ffffffffffffffffffffffffffffffffffffffff811681036101bb578152908301908301610344565b50346101bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb576004356033548110156101bb5773ffffffffffffffffffffffffffffffffffffffff60209160336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015416604051908152f35b50346101bb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101bb57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101bb576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576001600281541461060f576002815560338054906104df821515610817565b835b8281106105785784475a7fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda77610567610556858080808873ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168099f1151590565b604051948552939081906020820190565b0390a361057360018055565b604051f35b83908254811015610602575b8286526105fc6105ca827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff6105f56105eb8561013b565b90549060031b1c90565b9116610dde565b016104e1565b61060a61010b565b610584565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b6000549160ff8360081c161580938194610809575b81156107e9575b5015610765576106cd91836106c460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b61072f57610c50565b6106d357565b6107007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1565b6107606101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610c50565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b303b159150816107fb575b5038610689565b6001915060ff1614386107f4565b600160ff8216109150610682565b1561081e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f000000006064820152fd5b156108a957565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c000000000000000000000000000000000000000000000000006084820152fd5b6020918151811015610968575b60051b010190565b61097061010b565b610960565b1561097c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e2061646472657373283029000000000000006064820152fd5b15610a0757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e203020746172676574000000000000000000006064820152fd5b805190680100000000000000008211610b7e575b60335482603355808310610b3d575b5060208091019060336000527f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a826000925b848410610aed575050505050565b6001838273ffffffffffffffffffffffffffffffffffffffff839451167fffffffffffffffffffffffff000000000000000000000000000000000000000086541617855501920193019290610adf565b827f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8291820191015b818110610b725750610aae565b60008155600101610b65565b610b866101c0565b610a9f565b805190680100000000000000008211610c43575b60345482603455808310610c02575b5060208091019060346000527f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c16000925b848410610bed575050505050565b60018382829351855501920193019290610bdf565b827f46bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c191820191015b818110610c375750610bae565b60008155600101610c2a565b610c4b6101c0565b610b9f565b91908251610c5f811515610817565b60148111610d0657610c73825182146108a2565b60005b818110610c9b575050610c8c610c919293610a8b565b610b8b565b610c99610fa8565b565b80610ceb610ce4610ccb610cb16001958a610953565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b1515610975565b610d00610cf88286610953565b511515610a00565b01610c76565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604460248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e203230000000000000000000000000000000000000000000000000000000006084820152fd5b6040513481527f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a60203392a2565b9081319080821015610ecf57818110610ea057034780821115610e635773ffffffffffffffffffffffffffffffffffffffff7f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c915b610e5e6000808080858a5af19160405193849315159716958360209093929193604081019481520152565b0390a3565b507f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c73ffffffffffffffffffffffffffffffffffffffff82610e33565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50506000907f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c604073ffffffffffffffffffffffffffffffffffffffff8151938585528560208601521692a3565b15610f2457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b610fc260ff60005460081c16610fbd81610f1d565b610f1d565b6001805556fea2646970667358221220776dca8b27759da82dbd27c107427fcdb099a7ec01ffff824492749cf334290e64736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe9", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b", "transactionType": "CREATE2", "contractName": "Proxy", "contractAddress": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "function": null, "arguments": [ "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0xb5d85", "value": "0x0", "data": "0x53c0cf0062ef0fce31978bc0b82e86ac4ba252f2225b3578bac49b137adf18c86080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220914a5c8d83206f4354a6aed19cb9a6fc061333d51350803e95cb7854134ac14664736f6c634300080f00330000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA", "0x7fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020044a0d104e9e788a0c984a2b7eae615afd046b0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea00000" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "gas": "0x4eea9", "value": "0x0", "data": "0x4f1ef2860000000000000000000000003a92d1b1df54870245eff0c8b1a2ebf16d997caa000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001047fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000020044a0d104e9e788a0c984a2b7eae615afd046b0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "function": "changeAdmin(address)", "arguments": [ "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "gas": "0x9111", "value": "0x0", "data": "0x8f2839700000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9", "transactionIndex": "0x15", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": null, "cumulativeGasUsed": "0x1e6156", "gasUsed": "0xead1f", "contractAddress": "0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA", "logs": [ { "address": "0x3A92D1B1dF54870245efF0C8B1a2EBF16d997cAA", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "transactionHash": "0xc432177d1ff094d05ad414e50999eb16f514d8b80ea1177ee967e331166a29b9", "transactionIndex": "0x15", "logIndex": "0xc", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000", "type": "0x2", "effectiveGasPrice": "0xd81aaeb0" }, { "transactionHash": "0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b", "transactionIndex": "0x16", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x26274d", "gasUsed": "0x7c5f7", "contractAddress": null, "logs": [ { "address": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "transactionHash": "0x541cce477b50e3d1fa7c4991ae488f4c0d10e6f8c236cf86644c5ddd4bd92f5b", "transactionIndex": "0x16", "logIndex": "0xd", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000001000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xd81aaeb0" }, { "transactionHash": "0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527", "transactionIndex": "0x17", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "cumulativeGasUsed": "0x29b972", "gasUsed": "0x39225", "contractAddress": null, "logs": [ { "address": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000003a92d1b1df54870245eff0c8b1a2ebf16d997caa" ], "data": "0x", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "transactionHash": "0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527", "transactionIndex": "0x17", "logIndex": "0xe", "removed": false }, { "address": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "transactionHash": "0x3f7c22882159cfe63a1386c4f2dbb7d33fd374763845c8a36ad2d6a036bd2527", "transactionIndex": "0x17", "logIndex": "0xf", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000000000000080000000000000000000000000000000000000000000000400020000000000000000000000000000000000000020000000000000000000040000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xd81aaeb0" }, { "transactionHash": "0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4", "transactionIndex": "0x18", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "cumulativeGasUsed": "0x2a1ca3", "gasUsed": "0x6331", "contractAddress": null, "logs": [ { "address": "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "blockHash": "0xd58fc661a622b36f2de09dac1a54571c75590007d7029f58d5002f45a96fda07", "blockNumber": "0x4ea13a", "transactionHash": "0x3902e92894cb397ad2be779ffe88f08b1f2d1ee3432b0542b07ebd8e9e4220f4", "transactionIndex": "0x18", "logIndex": "0x10", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000001000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xd81aaeb0" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1706212422, "chain": 11155111, "multi": false, "commit": "bb37a30" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/DeployFeeDisburser.s.sol/84532/run-1706221009.json ================================================ { "transactions": [ { "hash": "0x417a7155b7b63a179aa81c94649ed85a5ac6313d3cd872687453dba8a4fdbaaa", "transactionType": "CREATE", "contractName": "FeeDisburser", "contractAddress": "0xCA9be02F8e417D20f33551BA22ddf3f7623FB345", "function": null, "arguments": [ "0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9", "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "604800" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x11a8d3", "value": "0x0", "data": "0x60e0346101f357601f61113438819003918201601f191683019291906001600160401b038411838510176101f85781606092849260409687528339810103126101f35780516001600160a01b03808216929091908382036101f3576020810151928316908184036101f3578501519315610195571561013d576201518083106100c85760805260a05260c05251610f25908161020f823960805181818161015001526107d1015260a0518181816101fb0152610879015260c0518181816102d0015261072c0152f35b835162461bcd60e51b815260206004820152604260248201527f4665654469736275727365723a2046656544697362757273656d656e74496e7460448201527f657276616c2063616e6e6f74206265206c657373207468616e20323420686f75606482015261727360f01b608482015260a490fd5b835162461bcd60e51b815260206004820152602b60248201527f4665654469736275727365723a204c3157616c6c65742063616e6e6f7420626560448201526a206164647265737328302960a81b6064820152608490fd5b845162461bcd60e51b815260206004820152603160248201527f4665654469736275727365723a204f7074696d69736d57616c6c65742063616e6044820152706e6f74206265206164647265737328302960781b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040526004361015610023575b361561001957600080fd5b61002161092a565b005b60003560e01c80630c8cd070146100eb578063235d506d146100e257806336f1a6e5146100d9578063394d2731146100d0578063447eb5ac146100c757806354664de5146100be5780635b201d83146100b557806393819a3f146100ac578063ad41d09c146100a35763b87ea8d40361000e5761009e6103a7565b61000e565b5061009e61036b565b5061009e61032f565b5061009e6102f3565b5061009e610299565b5061009e61025c565b5061009e61021f565b5061009e6101af565b5061009e610174565b5061009e610104565b60009103126100ff57565b600080fd5b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405160fa8152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff576020600054604051908152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff576020600154604051908152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516127108152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516105dc8152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5760206040516188b88152f35b50346100ff5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ff5761002161071f565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8119811161041b570190565b6104236103df565b0190565b1561042e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4665654469736275727365723a2044697362757273656d656e7420696e74657260448201527f76616c206e6f74207265616368656400000000000000000000000000000000006064820152fd5b6105dc90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211811515166104e7570290565b6104ef6103df565b0290565b60fa90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211811515166104e7570290565b1561052e57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4665654469736275727365723a204661696c656420746f2073656e642066756e60448201527f647320746f204f7074696d69736d0000000000000000000000000000000000006064820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105f657604052565b6105fe6105b2565b604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105f657604052565b604051906020820182811067ffffffffffffffff821117610669575b60405260008252565b6106716105b2565b610660565b9073ffffffffffffffffffffffffffffffffffffffff9093929316815260206188b881830152606060408301528351908160608401526000945b8286106106fc575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260809596116106ef575b0116010190565b60008582860101526106e8565b85810182015184870160800152948101946106b0565b506040513d6000823e3d90fd5b60009061075961075183547f00000000000000000000000000000000000000000000000000000000000000009061040f565b421015610427565b610761610bf0565b610769610e18565b610771610e7b565b478015610900574283556107b061079461078c6001546104b2565b612710900490565b61079e6000600155565b6107aa61078c846104f3565b90610ede565b906107f884808080865a73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690f1610527565b47610801610644565b73420000000000000000000000000000000000001090813b156108fc5791866108a17fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad949798936108d1956040519485809481937fe11013dd0000000000000000000000000000000000000000000000000000000083527f000000000000000000000000000000000000000000000000000000000000000060048401610676565b03925af180156108ef575b6108d6575b505491604051938493846040919493926060820195825260208201520152565b0390a1565b806108e36108e9926105e2565b806100f4565b386108b1565b6108f7610712565b6108ac565b8680fd5b50907f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a4090604051a1565b73420000000000000000000000000000000000001133148015610a31575b156109915761096161095c3460015461040f565b600155565b60405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d90602090a2565b73420000000000000000000000000000000000001a3303156109615760846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4665654469736275727365723a204f6e6c79204665655661756c74732063616e60448201527f2073656e642045544820746f20466565446973627572736572000000000000006064820152fd5b507342000000000000000000000000000000000000193314610948565b908160209103126100ff575160028110156100ff5790565b60021115610a7057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b15610aa657565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4665654469736275727365723a204665655661756c74206d757374207769746860448201527f6472617720746f204c32000000000000000000000000000000000000000000006064820152fd5b908160209103126100ff575173ffffffffffffffffffffffffffffffffffffffff811681036100ff5790565b15610b5d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4665654469736275727365723a204665655661756c74206d757374207769746860448201527f6472617720746f2046656544697362757273657220636f6e74726163740000006064820152fd5b908160209103126100ff575190565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b6001734200000000000000000000000000000000000011938381600481885afa908115610e0b575b600091610dde575b50610c5581610a66565b14610a9f565b610cba6040517f0d9019e10000000000000000000000000000000000000000000000000000000081528281600481875afa908115610dd1575b600091610da4575b5073ffffffffffffffffffffffffffffffffffffffff163014610b56565b81316040517fd3e5792b0000000000000000000000000000000000000000000000000000000081528281600481875afa928315610d97575b600093610d68575b50501015610d055750565b803b156100ff57600080916004604051809481937f3ccfd60b0000000000000000000000000000000000000000000000000000000083525af18015610d5b575b610d4c5750565b806108e3610d59926105e2565b565b610d63610712565b610d45565b610d88929350803d10610d90575b610d808183610603565b810190610be1565b903880610cfa565b503d610d76565b610d9f610712565b610cf2565b610dc49150833d8511610dca575b610dbc8183610603565b810190610b2a565b38610c9c565b503d610db2565b610dd9610712565b610c94565b610dfe9150843d8611610e04575b610df68183610603565b810190610a4e565b38610c4b565b503d610dec565b610e13610712565b610c43565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b6001734200000000000000000000000000000000000019938381600481885afa908115610e0b57600091610dde5750610c5581610a66565b6040517fd0e12f900000000000000000000000000000000000000000000000000000000081526020610c5b600173420000000000000000000000000000000000001a938381600481885afa908115610e0b57600091610dde5750610c5581610a66565b90808210610eea575090565b90509056fea2646970667358221220ab543d3c367c06f65dd028bbf46753be38ede9ecaa2bc0ebd8ff9e9cb6953cd064736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe90000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e", "transactionType": "CREATE2", "contractName": "Proxy", "contractAddress": "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "function": null, "arguments": [ "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0xabbf2", "value": "0x0", "data": "0xbf4491d8f9f2e3e841563ec19c29afb358f86d5bec100ce006569acd46b846d36080346100b857601f61089638819003918201601f19168301916001600160401b038311848410176100bd578084926020946040528339810103126100b857516001600160a01b03808216918281036100b8577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f926040927fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610392835493558351921682526020820152a16040516107c290816100d48239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561002c575b361561001f575b61001d6106aa565b005b6100276106aa565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e576100736104f0565b61000e565b50610073610422565b50610073610362565b506100736101d0565b3461012f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012f576100ca610132565b73ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103541633148015610127575b1561011e5761011990610647565b604051f35b506101196106aa565b50331561010b565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015557565b600080fd5b919091602080825283519081818401526000945b8286106101ba575050601f817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09260409596116101ad575b0116010190565b60008582860101526101a6565b858101820151848701604001529481019461016e565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015557610203610132565b6024359067ffffffffffffffff908183116101555736602384011215610155578260040135908282116101555736602483860101116101555761031f9360609273ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561035a575b156103485791602460009392849361029b84610647565b80604051938493018337810184815203915af4903d1561033d5750610313903d838111610330575b604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011685019085821090821117610323575b60405283523d6000602085013e6105bc565b6040519182918261015a565b0390f35b61032b61058c565b610301565b61033861058c565b6102c3565b9150610313906105bc565b50505090506103556106aa565b610313565b503315610284565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff90817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354163314801561041a575b1561040c57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54905b60405191168152f35b906104156106aa565b610403565b5033156103d9565b50346101555760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101555761045a610132565b73ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610382815416331480156104e8575b156104dd577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f92826040938354935581845193168352166020820152a1005b50505061001d6106aa565b50331561049e565b50346101555760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610155576020600073ffffffffffffffffffffffffffffffffffffffff907fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103908282541633148015610584575b1561057957505460405191168152f35b9190506104156106aa565b503315610569565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b156105c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c6564000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff90807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b6000604051a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff811615610708576000808092368280378136915af43d82803e15610704573d90f35b3d90fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a65640000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220914a5c8d83206f4354a6aed19cb9a6fc061333d51350803e95cb7854134ac14664736f6c634300080f00330000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "function": "changeAdmin(address)", "arguments": [ "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "gas": "0x9111", "value": "0x0", "data": "0x8f2839700000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "nonce": "0x4", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x417a7155b7b63a179aa81c94649ed85a5ac6313d3cd872687453dba8a4fdbaaa", "transactionIndex": "0x1", "blockHash": "0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255", "blockNumber": "0x4fbf77", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": null, "cumulativeGasUsed": "0xe4dde", "gasUsed": "0xd96a9", "contractAddress": "0xCA9be02F8e417D20f33551BA22ddf3f7623FB345", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05efe" }, { "transactionHash": "0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e", "transactionIndex": "0x2", "blockHash": "0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255", "blockNumber": "0x4fbf77", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x1613e1", "gasUsed": "0x7c603", "contractAddress": null, "logs": [ { "address": "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "blockHash": "0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255", "blockNumber": "0x4fbf77", "transactionHash": "0xbf0aba9cff7f5f6ac0ab47169f479854b1b308e15b848569c6e4b72a46ad331e", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05efe" }, { "transactionHash": "0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed", "transactionIndex": "0x3", "blockHash": "0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255", "blockNumber": "0x4fbf77", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "cumulativeGasUsed": "0x167712", "gasUsed": "0x6331", "contractAddress": null, "logs": [ { "address": "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13", "blockHash": "0x891986c17eedf56097f70767b818d8c916226d65a2e11ed514d007dca7b80255", "blockNumber": "0x4fbf77", "transactionHash": "0xadb2105b6b1e912ad8510b4c4f6858b419509a54291613e666d4b7bb3f81daed", "transactionIndex": "0x3", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05efe" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1706221009, "chain": 84532, "multi": false, "commit": "38078de" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/DeployNewFeeVaults.s.sol/84532/run-1706826531.json ================================================ { "transactions": [ { "hash": "0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee", "transactionType": "CREATE", "contractName": "SequencerFeeVault", "contractAddress": "0xa6c30A3816abe69A61B64311EE743ce9B2C682A0", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9fc25", "value": "0x0", "data": "0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204c85bf1289044304e0f69cad15906f30ee9b10d0cb6d5e61e3ba8339821da3a564736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xb", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8", "transactionType": "CREATE", "contractName": "L1FeeVault", "contractAddress": "0x6a247B2b85ed05c83dB1C56E1891830f493C35D9", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9d5e6", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220e9bf01fb4d74a970f588233e9f7eac59c8567f6aa27d07713bbf2aef5aee12e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xc", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18", "transactionType": "CREATE", "contractName": "BaseFeeVault", "contractAddress": "0x682EA8eAB30943e53a7390401A0e1706928627F2", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9d5e6", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220f2c4e1b52d303b91ca799355d931950bfc17feab9b8734b5a7308ba15a3619e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xd", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [ "0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee", "0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8", "0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18" ], "returns": {}, "timestamp": 1706826531, "chain": 84532, "multi": false, "commit": "d136524" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/DeployNewFeeVaults.s.sol/84532/run-1706826537.json ================================================ { "transactions": [ { "hash": "0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee", "transactionType": "CREATE", "contractName": "SequencerFeeVault", "contractAddress": "0xa6c30A3816abe69A61B64311EE743ce9B2C682A0", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9fc25", "value": "0x0", "data": "0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204c85bf1289044304e0f69cad15906f30ee9b10d0cb6d5e61e3ba8339821da3a564736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xb", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8", "transactionType": "CREATE", "contractName": "L1FeeVault", "contractAddress": "0x6a247B2b85ed05c83dB1C56E1891830f493C35D9", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9d5e6", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220e9bf01fb4d74a970f588233e9f7eac59c8567f6aa27d07713bbf2aef5aee12e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xc", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18", "transactionType": "CREATE", "contractName": "BaseFeeVault", "contractAddress": "0x682EA8eAB30943e53a7390401A0e1706928627F2", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "1" ], "transaction": { "type": "0x02", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x9d5e6", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220f2c4e1b52d303b91ca799355d931950bfc17feab9b8734b5a7308ba15a3619e064736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000001", "nonce": "0xd", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x713dbc9097a6c9a8b98b68fad6f8b838e25e19f90dba64f2733bc84339dae7ee", "transactionIndex": "0x1", "blockHash": "0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04", "blockNumber": "0x545e22", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": null, "cumulativeGasUsed": "0x8a8e7", "gasUsed": "0x7aeda", "contractAddress": "0xa6c30A3816abe69A61B64311EE743ce9B2C682A0", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06039" }, { "transactionHash": "0xc30b915b40160009f576c4f248566a81649ef5c5ac5b63bc5a6ce74150e8f8a8", "transactionIndex": "0x2", "blockHash": "0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04", "blockNumber": "0x545e22", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": null, "cumulativeGasUsed": "0x103a54", "gasUsed": "0x7916d", "contractAddress": "0x6a247B2b85ed05c83dB1C56E1891830f493C35D9", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06039" }, { "transactionHash": "0xd1347ba27005bc619ca35e04cfd898f549f334076ff85829465eaf628ea05f18", "transactionIndex": "0x3", "blockHash": "0x1ab4f7be624034ba1d9e94296128401fd4204811a0896e0c3d81786b504aff04", "blockNumber": "0x545e22", "from": "0x4672425C27A942bB27e7b9709c1b21ab89a3cA13", "to": null, "cumulativeGasUsed": "0x17cbc1", "gasUsed": "0x7916d", "contractAddress": "0x682EA8eAB30943e53a7390401A0e1706928627F2", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06039" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1706826537, "chain": 84532, "multi": false, "commit": "d136524" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/UpdateFeeVaultRecipient.s.sol/84532/run-1706556198.json ================================================ { "transactions": [ { "hash": "0x875ce1a5d6e75f369d97199adb8b157889eb6f251b19a42ecd99b1eeb957de7b", "transactionType": "CREATE", "contractName": "SequencerFeeVault", "contractAddress": "0xD82e08F9Fc01627418061Bc6c2B90b30b7975702", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "0" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "gas": "0x9fc15", "value": "0x0", "data": "0x60e0346100ac57601f6108f838819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161083090816100c8823960805181818160c10152610271015260a0518181816102a60152610726015260c05181818161012001526103140152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600090813560e01c9283630d9019e1146106d25783633ccfd60b1461024057836354fd4d501461017f5750826384411d6514610146578263d0e12f90146100e8578263d3e5792b1461008d57505063d4ff921814610080575b3880610011565b6100886106da565b610079565b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e45760209051610144817f00000000000000000000000000000000000000000000000000000000000000006107be565bf35b346100e457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100e457602091549051908152f35b913461023d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261023d575080519080820182811067ffffffffffffffff82111761020f5761020b93508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061074f565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b346106ce57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ce57477f00000000000000000000000000000000000000000000000000000000000000001161062657478354811981116105fa57810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261037360608201856107be565ba160028110156105ce576001036104ac575084809281928651915af13d156104a75767ffffffffffffffff3d81811161020f578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761047957855281528460203d92013e5b156103f7575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103ee565b91508394935190602082019267ffffffffffffffff93838110858211176105a257875285835273420000000000000000000000000000000000001091823b1561059e579161054195949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061074f565b03925af1801561059457610557575b5050509051f35b821161056857508252828080610550565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b505050506100885b503461074a5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074a57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b91908251928382526000905b8482106107a65750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610799575b0116010190565b6000858286010152610792565b9060209081808285010151908286010152019061075b565b9060028210156107cb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220a40b3c79c7f5c57e18ab8ceb7af73a3b985de034ecbee5f11d29a0b05e5bf88a64736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x4cfb567975bec4a620fcaa4c946339e214727f4f8404b6a00f649329c0d2ab2d", "transactionType": "CREATE", "contractName": "L1FeeVault", "contractAddress": "0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "0" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "gas": "0x9d5d7", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204a21bf070ee280b60e4d4dbc7cc1fe9d39ca4ffc4f5184afcfcb8377a938561264736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf7958d93a3c1c64d783a726769a17062245d2789d3218fd4da02829ecbc7346e", "transactionType": "CREATE", "contractName": "BaseFeeVault", "contractAddress": "0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A", "function": null, "arguments": [ "0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d", "2000000000000000000", "0" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "gas": "0x9d5d7", "value": "0x0", "data": "0x60e0346100ac57601f6108d538819003918201601f19168301916001600160401b038311848410176100b1578084926060946040528339810103126100ac578051906001600160a01b03821682036100ac57604060208201519101519160028310156100ac5760a05260805260c05260405161080d90816100c8823960805181818160a8015261025d015260a0518181816102920152610708015260c05181818161010801526103000152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c9182630d9019e1146106be575081633ccfd60b1461022a57816354fd4d50146101685750806384411d651461012e578063d0e12f90146100cf5763d3e5792b146100745780610012565b346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb576020905161012c817f000000000000000000000000000000000000000000000000000000000000000061079b565bf35b50346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb57602091549051908152f35b82843461022757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610227575080519080820182811067ffffffffffffffff8211176101f9576101f593508152600582527f312e342e3000000000000000000000000000000000000000000000000000000060208301525191829160208352602083019061072c565b0390f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b80fd5b9050346106ba57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ba57477f00000000000000000000000000000000000000000000000000000000000000001161061257478354811981116105e657810184557f00000000000000000000000000000000000000000000000000000000000000009083518181527fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba606073ffffffffffffffffffffffffffffffffffffffff8516928360208201523388820152a17f00000000000000000000000000000000000000000000000000000000000000007f38e04cbeb8c10f8f568618aa75be0f10b6729b8b4237743b4de20cbcde2839ee60808751858152846020820152338982015261035f606082018561079b565ba160028110156105ba57600103610498575084809281928651915af13d156104935767ffffffffffffffff3d8181116101f9578451917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168301908382109082111761046557855281528460203d92013e5b156103e3575051f35b602060849251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152603060248201527f4665655661756c743a206661696c656420746f2073656e642045544820746f2060448201527f4c322066656520726563697069656e74000000000000000000000000000000006064820152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6103da565b91508394935190602082019267ffffffffffffffff938381108582111761058e57875285835273420000000000000000000000000000000000001091823b1561058a579161052d95949391879389518098819582947fe11013dd0000000000000000000000000000000000000000000000000000000084528a8401526188b8602484015260606044840152606483019061072c565b03925af1801561058057610543575b5050509051f35b82116105545750825238808061053c565b8260416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85513d86823e3d90fd5b8680fd5b6024876041887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024876021877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b602060a49251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e74000000000000000000000000000000000000000000006084820152fd5b8280fd5b8490346100cb57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100cb5760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91908251928382526000905b8482106107835750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09311610776575b0116010190565b600085828601015261076f565b90602090818082850101519082860101520190610738565b9060028210156107a85752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220d6229addc191fcbf52a949026ec8f2ac3a173d93e2142a46789025d6cee8510e64736f6c634300080f003300000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d0000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x4200000000000000000000000000000000000011", "0xD82e08F9Fc01627418061Bc6c2B90b30b7975702" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000d82e08f9fc01627418061bc6c2b90b30b7975702", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x420000000000000000000000000000000000001A", "0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec4000000000000000000000000420000000000000000000000000000000000001a000000000000000000000000fba224a64c664c5fd320c9fd3ced4c18405952d1", "nonce": "0x4", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x4200000000000000000000000000000000000019", "0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec40000000000000000000000004200000000000000000000000000000000000019000000000000000000000000b4be1ce574b27a340322fe70d5634e2aec0ed09a", "nonce": "0x5", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x875ce1a5d6e75f369d97199adb8b157889eb6f251b19a42ecd99b1eeb957de7b", "transactionIndex": "0x1", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": null, "cumulativeGasUsed": "0x87407", "gasUsed": "0x7aece", "contractAddress": "0xD82e08F9Fc01627418061Bc6c2B90b30b7975702", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" }, { "transactionHash": "0x4cfb567975bec4a620fcaa4c946339e214727f4f8404b6a00f649329c0d2ab2d", "transactionIndex": "0x2", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": null, "cumulativeGasUsed": "0x100568", "gasUsed": "0x79161", "contractAddress": "0xfBa224A64C664C5fD320c9Fd3Ced4C18405952D1", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" }, { "transactionHash": "0xf7958d93a3c1c64d783a726769a17062245d2789d3218fd4da02829ecbc7346e", "transactionIndex": "0x3", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": null, "cumulativeGasUsed": "0x1796c9", "gasUsed": "0x79161", "contractAddress": "0xb4BE1Ce574B27A340322fE70d5634E2aEC0eD09A", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" }, { "transactionHash": "0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f", "transactionIndex": "0x4", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x18348d", "gasUsed": "0x9dc4", "contractAddress": null, "logs": [ { "address": "0x4200000000000000000000000000000000000011", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000d82e08f9fc01627418061bc6c2b90b30b7975702" ], "data": "0x", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "transactionHash": "0xda01d3cc398611822dd5d8cd2f0188c84d87fcd4e686c51b7cf6fcb275d0de7f", "transactionIndex": "0x4", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" }, { "transactionHash": "0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32", "transactionIndex": "0x5", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x18dc15", "gasUsed": "0xa788", "contractAddress": null, "logs": [ { "address": "0x420000000000000000000000000000000000001A", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000fba224a64c664c5fd320c9fd3ced4c18405952d1" ], "data": "0x", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "transactionHash": "0x9f82a9e50bad1d05a6f8250c4f5fea986656c6a7f8679f439039e3c7f39cbd32", "transactionIndex": "0x5", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400100000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" }, { "transactionHash": "0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4", "transactionIndex": "0x6", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x19839d", "gasUsed": "0xa788", "contractAddress": null, "logs": [ { "address": "0x4200000000000000000000000000000000000019", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000b4be1ce574b27a340322fe70d5634e2aec0ed09a" ], "data": "0x", "blockHash": "0x023142dbbe39ba9d68efb5474cacfaab76d5de10348168b9687af94d3fef8d3a", "blockNumber": "0x524e21", "transactionHash": "0x202c780887dee87586515334a502511d2a6ff61f45198a750f3a30d1a22a24a4", "transactionIndex": "0x6", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000000000000000040000000000000000000000000800000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1706556198, "chain": 84532, "multi": false, "commit": "ec542ba" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/records/UpgradeFeeVaultProxy.s.sol/84532/run-1706827667.json ================================================ { "transactions": [ { "hash": "0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x4200000000000000000000000000000000000011", "0xa6c30A3816abe69A61B64311EE743ce9B2C682A0" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec40000000000000000000000004200000000000000000000000000000000000011000000000000000000000000a6c30a3816abe69a61b64311ee743ce9b2c682a0", "nonce": "0x6", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x420000000000000000000000000000000000001A", "0x6a247B2b85ed05c83dB1C56E1891830f493C35D9" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec4000000000000000000000000420000000000000000000000000000000000001a0000000000000000000000006a247b2b85ed05c83db1c56e1891830f493c35d9", "nonce": "0x7", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "upgrade(address,address)", "arguments": [ "0x4200000000000000000000000000000000000019", "0x682EA8eAB30943e53a7390401A0e1706928627F2" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xe766", "value": "0x0", "data": "0x99a88ec40000000000000000000000004200000000000000000000000000000000000019000000000000000000000000682ea8eab30943e53a7390401a0e1706928627f2", "nonce": "0x8", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977", "transactionIndex": "0x1", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x154f9", "gasUsed": "0x9dc4", "contractAddress": null, "logs": [ { "address": "0x4200000000000000000000000000000000000011", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000a6c30a3816abe69a61b64311ee743ce9b2c682a0" ], "data": "0x", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "transactionHash": "0x91662d6f236bf3d87aa57def922e33a9e343f5ac2fac526a43e33301ba60f977", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000010000000000000000000000000000008000000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000008000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06671" }, { "transactionHash": "0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c", "transactionIndex": "0x2", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x1fc81", "gasUsed": "0xa788", "contractAddress": null, "logs": [ { "address": "0x420000000000000000000000000000000000001A", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000006a247b2b85ed05c83db1c56e1891830f493c35d9" ], "data": "0x", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "transactionHash": "0x5bc6c3f3ee56519a14eb3763b84f939443a51cdd94d5bb7a4da3f1f184d96f4c", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000008002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06671" }, { "transactionHash": "0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9", "transactionIndex": "0x3", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x2a409", "gasUsed": "0xa788", "contractAddress": null, "logs": [ { "address": "0x4200000000000000000000000000000000000019", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000682ea8eab30943e53a7390401a0e1706928627f2" ], "data": "0x", "blockHash": "0xba3977faf53474f64161037c599811f4ddb68eca85c7e8ce3e16b1be572b1b62", "blockNumber": "0x546057", "transactionHash": "0xfadad7a8989496eb2f2ab1593e3039466876feac290c128432555b5801b1dcc9", "transactionIndex": "0x3", "logIndex": "0x2", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000004000020000000000000000000000000000000000000000040000000000000000000000000000000100000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d06671" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1706827667, "chain": 84532, "multi": false, "commit": "b0fe03f" } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/script/DeployBalanceTracker.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import { BalanceTracker } from "@base-contracts/src/revenue-share/BalanceTracker.sol"; contract DeployBalanceTracker is Script { address payable[] systemAddresses; uint256[] targetBalances; function run() external { address deployer = vm.envAddress("BALANCE_TRACKER_DEPLOYER"); address payable profitWallet = payable(vm.envAddress("PROFIT_WALLET")); address payable outputProposer = payable(vm.envAddress("OUTPUT_PROPOSER")); address payable batchSender = payable(vm.envAddress("BATCH_SENDER")); uint256 outputProposerTargetBalance = vm.envUint("OUTPUT_PROPOSER_TARGET_BALANCE"); uint256 batchSenderTargetBalance = vm.envUint("BATCH_SENDER_TARGET_BALANCE"); address admin = vm.envAddress("BALANCE_TRACKER_ADMIN"); string memory salt = vm.envString("BALANCE_TRACKER_SALT"); console.log("Deployer: %s", deployer); console.log("Profit Wallet: %s", profitWallet); console.log("Batch Sender: %s", batchSender); console.log("Output Proposer: %s", outputProposer); console.log("Batch Sender Target Balance: %s", batchSenderTargetBalance); console.log("Output Proposer Target Balance: %s", outputProposerTargetBalance); console.log("Admin: %s", admin); console.log("Salt: %s", salt); vm.broadcast(deployer); BalanceTracker balanceTrackerImpl = new BalanceTracker(profitWallet); require(balanceTrackerImpl.PROFIT_WALLET() == profitWallet, "DeployBalanceTracker: incorrect profit wallet"); systemAddresses.push(outputProposer); systemAddresses.push(batchSender); targetBalances.push(outputProposerTargetBalance); targetBalances.push(batchSenderTargetBalance); bytes memory initializeCall = abi.encodeCall( BalanceTracker.initialize, ( systemAddresses, targetBalances ) ); vm.broadcast(deployer); Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer); vm.prank(address(0)); require(proxy.admin() == deployer, "DeployBalanceTracker: incorrect proxy admin"); vm.broadcast(deployer); proxy.upgradeToAndCall(payable(address(balanceTrackerImpl)), initializeCall); BalanceTracker balanceTracker = BalanceTracker(payable(address(proxy))); require(balanceTracker.systemAddresses(0) == outputProposer, "DeployBalanceTracker: incorrect output proposer"); require(balanceTracker.systemAddresses(1) == batchSender, "DeployBalanceTracker: incorrect batch sender"); require(balanceTracker.targetBalances(0) == outputProposerTargetBalance, "DeployBalanceTracker: incorrect output proposer target balance"); require(balanceTracker.targetBalances(1) == batchSenderTargetBalance, "DeployBalanceTracker: incorrect batch sender target balance"); vm.broadcast(deployer); proxy.changeAdmin(admin); vm.prank(address(0)); require(proxy.admin() == admin, "DeployBalanceTracker: incorrect proxy admin"); console.log("Balance Tracker Impl address: %s", address(balanceTrackerImpl)); console.log("Balance Tracker Proxy address: %s", address(proxy)); } } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import { console } from "forge-std/console.sol"; import { Script } from "forge-std/Script.sol"; import { Proxy } from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import { FeeDisburser } from "@base-contracts/src/revenue-share/FeeDisburser.sol"; contract DeployFeeDisburser is Script { function run() external { address deployer = vm.envAddress("FEE_DISBURSER_DEPLOYER"); address payable optimismWallet = payable(vm.envAddress("OPTIMISM_WALLET")); address balanceTracker = vm.envAddress("BALANCE_TRACKER_PROXY"); uint256 feeDisbursementInterval = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); address admin = vm.envAddress("FEE_DISBURSER_ADMIN"); string memory salt = vm.envString("FEE_DISBURSER_SALT"); console.log("Deployer: %s", deployer); console.log("Optimism Wallet: %s", optimismWallet); console.log("Balance Tracker: %s", balanceTracker); console.log("Fee Disbursement Interval: %s", feeDisbursementInterval); console.log("Admin: %s", admin); console.log("Salt: %s", salt); vm.broadcast(deployer); FeeDisburser feeDisburserImpl = new FeeDisburser( optimismWallet, balanceTracker, feeDisbursementInterval ); require(feeDisburserImpl.OPTIMISM_WALLET() == optimismWallet, "DeployFeeDisburser: incorrect optimism wallet"); require(feeDisburserImpl.L1_WALLET() == balanceTracker, "DeployFeeDisburser: incorrect l1 wallet"); require(feeDisburserImpl.FEE_DISBURSEMENT_INTERVAL() == feeDisbursementInterval, "DeployFeeDisburser: incorrect fee disbursement interval"); vm.broadcast(deployer); Proxy proxy = new Proxy{ salt: keccak256(abi.encode(salt))}(deployer); vm.prank(address(0)); require(proxy.admin() == deployer, "DeployFeeDisburser: incorrect proxy admin"); vm.broadcast(deployer); proxy.changeAdmin(admin); vm.prank(address(0)); require(proxy.admin() == admin, "DeployFeeDisburser: incorrect proxy admin"); console.log("Fee Disburser Impl address: %s", address(feeDisburserImpl)); console.log("Fee Disburser Proxy address: %s", address(proxy)); } } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/script/DeployNewFeeVaults.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/src/libraries/Predeploys.sol"; import {SequencerFeeVault, FeeVault} from "@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol"; import {L1FeeVault} from "@eth-optimism-bedrock/src/L2/L1FeeVault.sol"; import {BaseFeeVault} from "@eth-optimism-bedrock/src/L2/BaseFeeVault.sol"; contract DeployNewFeeVaults is Script { address internal recipient = vm.envAddress("FEE_DISBURSER_PROXY"); error FeeVaultFailedToUpdate(string feeVaultType, string reason); function run() public { address proxyAdminOwner = vm.envAddress("PROXY_ADMIN_OWNER"); address payable sfvProxy = payable(Predeploys.SEQUENCER_FEE_WALLET); address payable lfvProxy = payable(Predeploys.L1_FEE_VAULT); address payable bfvProxy = payable(Predeploys.BASE_FEE_VAULT); SequencerFeeVault sfvOld = SequencerFeeVault(sfvProxy); L1FeeVault lfvOld = L1FeeVault(lfvProxy); BaseFeeVault bfvOld = BaseFeeVault(bfvProxy); vm.startBroadcast(proxyAdminOwner); SequencerFeeVault sfvNew = new SequencerFeeVault( recipient, sfvOld.MIN_WITHDRAWAL_AMOUNT(), FeeVault.WithdrawalNetwork.L2 ); _checks(sfvOld, sfvNew, "SequencerFeeVault"); L1FeeVault lfvNew = new L1FeeVault( recipient, lfvOld.MIN_WITHDRAWAL_AMOUNT(), FeeVault.WithdrawalNetwork.L2 ); _checks(lfvOld, lfvNew, "L1FeeVault"); BaseFeeVault bfvNew = new BaseFeeVault( recipient, bfvOld.MIN_WITHDRAWAL_AMOUNT(), FeeVault.WithdrawalNetwork.L2 ); _checks(bfvOld, bfvNew, "BaseFeeVault"); console.log("Sequencer Fee Vault Impl address: %s", address(sfvNew)); console.log("L1 Fee Vault Impl address: %s", address(lfvNew)); console.log("Base Fee Vault Impl address: %s", address(bfvNew)); vm.stopBroadcast(); } function _checks( FeeVault _oldFV, FeeVault _newFV, string memory typeOfVault ) internal view { // totalProcessed() should be 0 for existing vaults since no withdraw has done yet if (_newFV.totalProcessed() != _oldFV.totalProcessed()) { revert FeeVaultFailedToUpdate({ feeVaultType: typeOfVault, reason: "totalProcessed mismatch." }); } if (_newFV.MIN_WITHDRAWAL_AMOUNT() != _oldFV.MIN_WITHDRAWAL_AMOUNT()) { revert FeeVaultFailedToUpdate({ feeVaultType: typeOfVault, reason: "MIN_WITHDRAWAL_AMOUNT mismatch." }); } if (_newFV.WITHDRAWAL_NETWORK() != FeeVault.WithdrawalNetwork.L2) { revert FeeVaultFailedToUpdate({ feeVaultType: typeOfVault, reason: "WITHDRAWAL_NETWORK mismatch." }); } if (_newFV.RECIPIENT() != recipient) { revert FeeVaultFailedToUpdate({ feeVaultType: typeOfVault, reason: "incorrect new recipient." }); } } } ================================================ FILE: sepolia/2024-01-22-deploy-revshare/script/UpgradeFeeVaultProxy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/src/libraries/Predeploys.sol"; import "@eth-optimism-bedrock/src/universal/ProxyAdmin.sol"; import {SequencerFeeVault, FeeVault} from "@eth-optimism-bedrock/src/L2/SequencerFeeVault.sol"; import {L1FeeVault} from "@eth-optimism-bedrock/src/L2/L1FeeVault.sol"; import {BaseFeeVault} from "@eth-optimism-bedrock/src/L2/BaseFeeVault.sol"; contract UpgradeFeeVaultProxy is Script { function run() public { ProxyAdmin proxyAdmin = ProxyAdmin(Predeploys.PROXY_ADMIN); address proxyAdminOwner = vm.envAddress("PROXY_ADMIN_OWNER"); address payable sfvProxy = payable(Predeploys.SEQUENCER_FEE_WALLET); address payable lfvProxy = payable(Predeploys.L1_FEE_VAULT); address payable bfvProxy = payable(Predeploys.BASE_FEE_VAULT); address sfvNew = vm.envAddress("SEQUENCER_FEE_VAULT_IMPL"); address lfvNew = vm.envAddress("L1_FEE_VAULT_IMPL"); address bfvNew = vm.envAddress("BASE_FEE_VAULT_IMPL"); vm.startBroadcast(proxyAdminOwner); proxyAdmin.upgrade(sfvProxy, address(sfvNew)); require( proxyAdmin.getProxyImplementation(sfvProxy).codehash == address(sfvNew).codehash, "SequencerFeeVault proxy not upgraded" ); console.log("Upgraded Sequencer Fee Vault Impl."); proxyAdmin.upgrade(lfvProxy, address(lfvNew)); require( proxyAdmin.getProxyImplementation(address(lfvProxy)).codehash == address(lfvNew).codehash, "L1FeeVault proxy not Upgraded" ); console.log("Upgraded L1 Fee Vault Impl."); proxyAdmin.upgrade(bfvProxy, address(bfvNew)); require( proxyAdmin.getProxyImplementation(address(bfvProxy)).codehash == address(bfvNew).codehash, "BaseFeeVault proxy not upgraded" ); console.log("Upgraded Base Fee Vault Impl."); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Incident response commands # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. ## ifndef PORTAL_GUARDIAN_PRIVATE_KEY $(error PORTAL_GUARDIAN_PRIVATE_KEY is undefined) endif # Pause OptimismPortal Commands .PHONY: pause-portal-dryrun pause-portal-dryrun: @forge script --rpc-url $(L1_RPC_URL) \ PausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) .PHONY: pause-portal pause-portal: @forge script --rpc-url $(L1_RPC_URL) \ PausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) \ --broadcast # Unpause OptimismPortal Commands .PHONY: unpause-portal-dryrun unpause-portal-dryrun: @forge script --rpc-url $(L1_RPC_URL) \ UnpausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) .PHONY: unpause-portal unpause-portal: @forge script --rpc-url $(L1_RPC_URL) \ UnpausePortal --private-key $(PORTAL_GUARDIAN_PRIVATE_KEY) \ --broadcast ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/records/PausePortal.s.sol/11155111/run-1709751738.json ================================================ { "transactions": [ { "hash": "0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x49f53e41452C74589E85cA1677426Ba426459e85", "function": "pause()", "arguments": [], "transaction": { "type": "0x02", "from": "0xa9ff930151130fd19da1f03e5077afb7c78f8503", "to": "0x49f53e41452c74589e85ca1677426ba426459e85", "gas": "0xba1b", "value": "0x0", "data": "0x8456cb59", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa", "transactionIndex": "0x10", "blockHash": "0x9c1b181e4cf465cac0530b0d0d2c9bee853f2aabf115fc6cc48f221e0488ee91", "blockNumber": "0x52dbec", "from": "0xA9FF930151130fd19DA1F03E5077AFB7C78F8503", "to": "0x49f53e41452C74589E85cA1677426Ba426459e85", "cumulativeGasUsed": "0x9c721", "gasUsed": "0x86be", "contractAddress": null, "logs": [ { "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "topics": [ "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258" ], "data": "0x000000000000000000000000a9ff930151130fd19da1f03e5077afb7c78f8503", "blockHash": "0x9c1b181e4cf465cac0530b0d0d2c9bee853f2aabf115fc6cc48f221e0488ee91", "blockNumber": "0x52dbec", "transactionHash": "0x8f90f6aeef8ea05db9462f9c4eb5b5b4e7199821a9db17d1b8a482ce5378ceaa", "transactionIndex": "0x10", "logIndex": "0x3", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000010020000000000000000008000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xd68a1817" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1709751738, "chain": 11155111, "multi": false, "commit": "8f6beb5" } ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/records/UnpausePortal.s.sol/11155111/run-1709755240.json ================================================ { "transactions": [ { "hash": "0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x49f53e41452C74589E85cA1677426Ba426459e85", "function": "unpause()", "arguments": [], "transaction": { "type": "0x02", "from": "0xa9ff930151130fd19da1f03e5077afb7c78f8503", "to": "0x49f53e41452c74589e85ca1677426ba426459e85", "gas": "0xb9ab", "value": "0x0", "data": "0x3f4ba83a", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4", "transactionIndex": "0x17", "blockHash": "0x94d9e3db17f89cfb420d54ef911e6344799f3b85e66960aaf1c61bee160c8515", "blockNumber": "0x52dd02", "from": "0xA9FF930151130fd19DA1F03E5077AFB7C78F8503", "to": "0x49f53e41452C74589E85cA1677426Ba426459e85", "cumulativeGasUsed": "0x182260", "gasUsed": "0x866d", "contractAddress": null, "logs": [ { "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "topics": [ "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa" ], "data": "0x000000000000000000000000a9ff930151130fd19da1f03e5077afb7c78f8503", "blockHash": "0x94d9e3db17f89cfb420d54ef911e6344799f3b85e66960aaf1c61bee160c8515", "blockNumber": "0x52dd02", "transactionHash": "0x08671683881a1f6a9ad863ca102f8b7b5b43753cdedc7f7b6b7167b38714a5f4", "transactionIndex": "0x17", "logIndex": "0x6", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400", "type": "0x2", "effectiveGasPrice": "0xbabd99cc" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1709755240, "chain": 11155111, "multi": false, "commit": "6fb47e2" } ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/script/PausePortal.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/src/L1/OptimismPortal.sol"; contract PausePortal is Script { address internal OPTIMISM_PORTAL_PROXY = vm.envAddress("OPTIMISM_PORTAL_PROXY"); address internal GUARDIAN = vm.envAddress("GUARDIAN"); function run() external { OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY)); vm.broadcast(GUARDIAN); optimismPortal.pause(); require(optimismPortal.paused() == true, "PausePortal: failed to pause"); } } ================================================ FILE: sepolia/2024-02-28-pause-unpause-portal/script/UnpausePortal.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/src/L1/OptimismPortal.sol"; contract UnpausePortal is Script { address internal OPTIMISM_PORTAL_PROXY = vm.envAddress("OPTIMISM_PORTAL_PROXY"); address internal GUARDIAN = vm.envAddress("GUARDIAN"); function run() external { OptimismPortal optimismPortal = OptimismPortal(payable(OPTIMISM_PORTAL_PROXY)); vm.broadcast(GUARDIAN); optimismPortal.unpause(); require(optimismPortal.paused() == false, "PausePortal: failed to unpause"); } } ================================================ FILE: sepolia/2024-03-07-ecotone-sysconfig-updates/Makefile ================================================ include ../../Makefile include ../.env include .env # Unpause OptimismPortal Commands .PHONY: update-gas-config update-gas-config: @forge script --rpc-url $(L1_RPC_URL) UpdateGasConfigSepolia --private-key $(PRIVATE_KEY) --broadcast ================================================ FILE: sepolia/2024-03-07-ecotone-sysconfig-updates/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-03-07-ecotone-sysconfig-updates/records/UpdateGasConfig.sol/11155111/run-1709934684.json ================================================ { "transactions": [ { "hash": "0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf272670eb55e895584501d564AfEB048bEd26194", "function": "setGasConfig(uint256,uint256)", "arguments": [ "0", "452312848583266388373324160190187140051835877600158453279134021569375896653" ], "transaction": { "type": "0x02", "from": "0x608081689fe46936fb2fbdf7552cbb1d80ad4822", "to": "0xf272670eb55e895584501d564afeb048bed26194", "gas": "0xc851", "value": "0x0", "data": "0x935f029e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405", "transactionIndex": "0x19", "blockHash": "0x5e6f0954e92038bf301d84303f8d78680affeef1d958eda474c732b1889f9f1c", "blockNumber": "0x531478", "from": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "to": "0xf272670eb55e895584501d564AfEB048bEd26194", "cumulativeGasUsed": "0x1a16da", "gasUsed": "0x9107", "contractAddress": null, "logs": [ { "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d", "blockHash": "0x5e6f0954e92038bf301d84303f8d78680affeef1d958eda474c732b1889f9f1c", "blockNumber": "0x531478", "transactionHash": "0xc63f3e32bc0700085b9a0d522cafc343c1dc92f16190e8d750f6a84c0abab405", "transactionIndex": "0x19", "logIndex": "0x1b", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000060000000000000000000000000000000000000000000000000000000008000000000", "type": "0x2", "effectiveGasPrice": "0x39fe9d8ea7" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1709934684, "chain": 11155111, "multi": false, "commit": "c740cf5" } ================================================ FILE: sepolia/2024-03-07-ecotone-sysconfig-updates/script/UpdateGasConfig.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import "forge-std/Script.sol"; contract UpdateGasConfigSepolia is Script { address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); address internal OWNER = vm.envAddress("OWNER_ADDRESS"); function _postCheck() internal view { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function run() public { vm.startBroadcast(OWNER); SystemConfig(L1_SYSTEM_CONFIG).setGasConfig(0, SCALAR); _postCheck(); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-03-26-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: update-gas-limit update-gas-limit: @forge script --rpc-url $(L1_RPC_URL) UpdateGasLimitSepolia --private-key $(PRIVATE_KEY) --broadcast ================================================ FILE: sepolia/2024-03-26-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-03-26-increase-gas-limit/records/UpdateGasLimit.sol/11155111/run-1711511753.json ================================================ { "transactions": [ { "hash": "0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433", "transactionType": "CALL", "contractName": null, "contractAddress": "0xf272670eb55e895584501d564AfEB048bEd26194", "function": "setGasLimit(uint64)", "arguments": [ "45000000" ], "transaction": { "type": "0x02", "from": "0x608081689fe46936fb2fbdf7552cbb1d80ad4822", "to": "0xf272670eb55e895584501d564afeb048bed26194", "gas": "0xdde6", "value": "0x0", "data": "0xb40a817c0000000000000000000000000000000000000000000000000000000002aea540", "nonce": "0x2", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433", "transactionIndex": "0xf", "blockHash": "0xeb59e80f0164c78ad7e1c83f95daeff844aafdd47211f00b716e2eb2b73d7d28", "blockNumber": "0x54fa18", "from": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "to": "0xf272670eb55e895584501d564AfEB048bEd26194", "cumulativeGasUsed": "0xcc24a", "gasUsed": "0x97ba", "contractAddress": null, "logs": [ { "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002aea540", "blockHash": "0xeb59e80f0164c78ad7e1c83f95daeff844aafdd47211f00b716e2eb2b73d7d28", "blockNumber": "0x54fa18", "transactionHash": "0x63f9d2a57a15ebf0d0779b867168d25d01f5060aac291d14e12d866ffd610433", "transactionIndex": "0xf", "logIndex": "0x9", "removed": false } ], "status": "0x1", "logsBloom": "0x04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000020000000000000000000000000000000000000000000008000000000008000000000", "type": "0x2", "effectiveGasPrice": "0xb4df77d1" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1711511753, "chain": 11155111, "commit": "6ece564" } ================================================ FILE: sepolia/2024-03-26-increase-gas-limit/script/UpdateGasLimit.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import "forge-std/Script.sol"; contract UpdateGasLimitSepolia is Script { address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint64 internal GAS_LIMIT = uint64(vm.envUint("GAS_LIMIT")); address internal OWNER = vm.envAddress("OWNER_ADDRESS"); function _postCheck() internal view { require(SystemConfig(L1_SYSTEM_CONFIG).gasLimit() == GAS_LIMIT); } function run() public { vm.startBroadcast(OWNER); SystemConfig(L1_SYSTEM_CONFIG).setGasLimit(GAS_LIMIT); _postCheck(); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: forge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast .PHONY: verify verify: forge verify-contract 0x6922ac4dbdfedea3a1e5535f12c3171f2b964c91 OptimismMintableERC20Factory \ --watch --chain-id 84532 \ --num-of-optimizations=99999 --retries=1 \ --verifier-url https://sepolia-api.basescan.org/api ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/deployed/addresses.json ================================================ ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed # for relative paths in optimism repo to work remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' ] ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1712769228.json ================================================ { "transactions": [ { "hash": "0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6", "transactionType": "CREATE", "contractName": "OptimismMintableERC20Factory", "contractAddress": "0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "gas": "0x24fcf6", "value": "0x0", "data": "0x608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212202df4e3515813e1e6acc68b8e6669c69c12451a433f10f8f772ab4f305cf2278a64736f6c634300080f0033a2646970667358221220cad1c50fecc4745ea0d4dac6e3422feea951aaf984027aeef5296a626bddc9e264736f6c634300080f0033", "nonce": "0x5a", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6", "transactionIndex": "0x1", "blockHash": "0x2231c79c0a1e0cb90f55ca82a26c264f132589089b26f98f1107c49682b348b1", "blockNumber": "0x81b4f4", "from": "0xfd896Bf5Eba7E1B9843B91ef6182DE16B547273B", "to": null, "cumulativeGasUsed": "0x1d2160", "gasUsed": "0x1c75f1", "contractAddress": "0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455", "logs": [ { "address": "0x11e73c1a710458c7Ee9b5973f1e43D87e89a4455", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x2231c79c0a1e0cb90f55ca82a26c264f132589089b26f98f1107c49682b348b1", "blockNumber": "0x81b4f4", "transactionHash": "0xbd26930635bbb29ed85193494ea69ad8e895b543e6ba0dcb7b03bf84d9ea02f6", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000080000000000001000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f06" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1712769228, "chain": 84532, "commit": "a401461" } ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1712947267.json ================================================ { "transactions": [ { "hash": "0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e", "transactionType": "CREATE2", "contractName": "OptimismMintableERC20Factory", "contractAddress": "0x6539A3F5FBf41B3f601C418712a45660f00FdAE9", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x2760bd", "value": "0x0", "data": "0x3078626135656400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea2646970667358221220f21a65c38ff963b7fcf194d890ef0478048a540d10bfe5324dde6bf3dd5f61eb64736f6c634300080f0033a264697066735822122049fc50fdcc512610be2c5730c8fb01d639e351d34405ed1b6f25a3f6a87eb34664736f6c634300080f0033", "nonce": "0x64", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e", "transactionIndex": "0x1", "blockHash": "0x38426a7f370e978987e9bcb84476d6579d427f9645c706c7e250a0a23f15ecdf", "blockNumber": "0x8310b0", "from": "0xfd896Bf5Eba7E1B9843B91ef6182DE16B547273B", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x1d2fbd", "gasUsed": "0x1c8466", "contractAddress": null, "logs": [ { "address": "0x6539A3F5FBf41B3f601C418712a45660f00FdAE9", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x38426a7f370e978987e9bcb84476d6579d427f9645c706c7e250a0a23f15ecdf", "blockNumber": "0x8310b0", "transactionHash": "0xe57d85ce1eb67b99348f595ad076f537a2c070c717e1834d6acd282163ddc10e", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000008000000000000000000000000000000000000000080000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05f1f" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1712947267, "chain": 84532, "commit": "82171e7" } ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/records/RunERC20FactoryDeploy.s.sol/84532/run-1713280540.json ================================================ { "transactions": [ { "hash": "0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93", "transactionType": "CREATE2", "contractName": "OptimismMintableERC20Factory", "contractAddress": "0xa55d579461bb6be7691c5109e94faaea4557b674", "function": null, "arguments": null, "transaction": { "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x2760bd", "value": "0x0", "input": "0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b6000610020565b610169565b600054610100900460ff16158080156100405750600054600160ff909116105b8061006b57506100593061015a60201b61059d1760201c565b15801561006b575060005460ff166001145b6100d25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff1916600117905580156100f5576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610156576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101786000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212202df4e3515813e1e6acc68b8e6669c69c12451a433f10f8f772ab4f305cf2278a64736f6c634300080f0033a2646970667358221220cad1c50fecc4745ea0d4dac6e3422feea951aaf984027aeef5296a626bddc9e264736f6c634300080f0033", "nonce": "0x65", "chainId": "0x14a34", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x217889", "logs": [ { "address": "0xa55d579461bb6be7691c5109e94faaea4557b674", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x85991a4e54d7a64ae7124cfbce5bd8657e318cec06d3a0ee1769e0e9216505d4", "blockNumber": "0x859b9c", "transactionHash": "0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93", "transactionIndex": "0x5", "logIndex": "0x2", "removed": false } ], "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x8ede91c21d5b4e05688da42e87460d4a49a0c525fa77521f641e0b279f142e93", "transactionIndex": "0x5", "blockHash": "0x85991a4e54d7a64ae7124cfbce5bd8657e318cec06d3a0ee1769e0e9216505d4", "blockNumber": "0x859b9c", "gasUsed": "0x1c8466", "effectiveGasPrice": "0x187e2", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": null, "l1Fee": "0x9dd237d9e33e", "l1GasPrice": "0x684263", "l1GasUsed": "0x1dcd8" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1713280540, "chain": 84532, "commit": "19ee800" } ================================================ FILE: sepolia/2024-04-10-deploy-ERC20Factory/script/RunERC20FactoryDeploy.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {OptimismMintableERC20Factory} from "@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol"; contract RunERC20FactoryDeploy is Script { function run() public { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); new OptimismMintableERC20Factory{salt: '0xBA5ED'}(); } } ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: forge script RunERC20FactoryDeploy --rpc-url $(L2_RPC_URL) --broadcast --verify ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/deployed/addresses.json ================================================ {} ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # note 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' is needed # for relative paths in optimism repo to work remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', 'src/universal=lib/optimism/packages/contracts-bedrock/src/universal' ] ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/inputs/construct-config.sh ================================================ #!/bin/bash DEPLOY_FIELDS='"baseFeeVaultRecipient","batchSenderAddress","controller","deployerAddress","finalSystemOwner","finalizationPeriodSeconds","gasPriceOracleOverhead","gasPriceOracleScalar","l1ChainID","l1FeeVaultRecipient","l2BlockTime","l2ChainID","l2OutputOracleChallenger","l2OutputOracleProposer","l2OutputOracleStartingBlockNumber","l2OutputOracleStartingTimestamp","l2OutputOracleSubmissionInterval","p2pSequencerAddress","portalGuardian","proxyAdminOwnerL2","sequencerFeeVaultRecipient"' DEPLOY_CONFIG_FILE="inputs/deploy-config.json" MISC_CONFIG_FILE="inputs/misc-config.json" FOUNDRY_CONFIG_FILE="inputs/foundry-config.json" # Convert field from hex to decimal VALUE=$(jq -r '.l2GenesisBlockGasLimit' "$DEPLOY_CONFIG_FILE") GAS_LIMIT=$(printf %d $VALUE) # Construct config file which will be the input in deploy script jq -s '.[0] * .[1]' "$DEPLOY_CONFIG_FILE" "$MISC_CONFIG_FILE" | \ jq "with_entries(select([.key] | inside([$DEPLOY_FIELDS])))" | \ jq --arg l2GenesisBlockGasLimit $GAS_LIMIT '. + {l2GenesisBlockGasLimit: $l2GenesisBlockGasLimit | tonumber}' | \ jq --sort-keys | \ jq '{"deployConfig": .}' > "$FOUNDRY_CONFIG_FILE" ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/inputs/deploy-config.json ================================================ ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/inputs/misc-config.json ================================================ ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/records/RunDeployERC20Factory.sol/84532/run-1714484076.json ================================================ { "transactions": [ { "hash": "0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a", "transactionType": "CREATE2", "contractName": "ERC20Factory", "contractAddress": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "function": null, "arguments": null, "transaction": { "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x2a33fe", "value": "0x0", "input": "0x3078424135454400000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061001b600061003d565b61003873420000000000000000000000000000000000001061003d565b610186565b600054610100900460ff161580801561005d5750600054600160ff909116105b8061008857506100763061017760201b61059d1760201c565b158015610088575060005460ff166001145b6100ef5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015610112576000805461ff0019166101001790555b600180546001600160a01b0319166001600160a01b0384161790558015610173576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b61207e806101956000396000f3fe60806040523480156200001157600080fd5b5060043610620000875760003560e01c8063c4d66de81162000062578063c4d66de81462000135578063ce5ac90f146200014e578063e78cea921462000165578063ee9a31a2146200018657600080fd5b806354fd4d50146200008c578063896f93d114620000e15780638cf0629c146200011e575b600080fd5b620000c96040518060400160405280600581526020017f312e392e3000000000000000000000000000000000000000000000000000000081525081565b604051620000d8919062000635565b60405180910390f35b620000f8620000f23660046200075d565b620001a5565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001620000d8565b620000f86200012f366004620007da565b620001bc565b6200014c6200014636600462000871565b620003ba565b005b620000f86200015f3660046200075d565b6200058c565b600154620000f89073ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff16620000f8565b6000620001b48484846200058c565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff851662000267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d4d696e7461626c654552433230466163746f72793a206d7560448201527f73742070726f766964652072656d6f746520746f6b656e20616464726573730060648201526084015b60405180910390fd5b6000858585856040516020016200028294939291906200088f565b604051602081830303815290604052805190602001209050600081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688888888604051620002d290620005b9565b620002e2959493929190620008e9565b8190604051809103906000f590508015801562000303573d6000803e3d6000fd5b5090508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fceeb8e7d520d7f3b65fc11a262b91066940193b05d4f93df07cfdced0eb551cf60405160405180910390a360405133815273ffffffffffffffffffffffffffffffffffffffff80891691908316907f52fe89dd5930f343d25650b62fd367bae47088bcddffd2a88350a6ecdd620cdb9060200160405180910390a39695505050505050565b600054610100900460ff1615808015620003db5750600054600160ff909116105b80620003f75750303b158015620003f7575060005460ff166001145b62000485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200025e565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015620004e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156200058857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000620001b48484846012620001bc565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6116fa806200094f83390190565b6000815180845260005b81811015620005ef57602081850181015186830182015201620005d1565b8181111562000602576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006200064a6020830184620005c7565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146200067657600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112620006bc57600080fd5b813567ffffffffffffffff80821115620006da57620006da6200067b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156200072357620007236200067b565b816040528381528660208588010111156200073d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156200077357600080fd5b6200077e8462000651565b9250602084013567ffffffffffffffff808211156200079c57600080fd5b620007aa87838801620006aa565b93506040860135915080821115620007c157600080fd5b50620007d086828701620006aa565b9150509250925092565b60008060008060808587031215620007f157600080fd5b620007fc8562000651565b9350602085013567ffffffffffffffff808211156200081a57600080fd5b6200082888838901620006aa565b945060408701359150808211156200083f57600080fd5b506200084e87828801620006aa565b925050606085013560ff811681146200086657600080fd5b939692955090935050565b6000602082840312156200088457600080fd5b6200064a8262000651565b73ffffffffffffffffffffffffffffffffffffffff85168152608060208201526000620008c06080830186620005c7565b8281036040840152620008d48186620005c7565b91505060ff8316606083015295945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a060408301526200092460a0830186620005c7565b8281036060840152620009388186620005c7565b91505060ff83166080830152969550505050505056fe60e06040523480156200001157600080fd5b50604051620016fa380380620016fa833981016040819052620000349162000163565b828260036200004483826200029e565b5060046200005382826200029e565b5050506001600160a01b039384166080529390921660a052505060ff1660c0526200036a565b80516001600160a01b03811681146200009157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000be57600080fd5b81516001600160401b0380821115620000db57620000db62000096565b604051601f8301601f19908116603f0116810190828211818310171562000106576200010662000096565b816040528381526020925086838588010111156200012357600080fd5b600091505b8382101562000147578582018301518183018401529082019062000128565b83821115620001595760008385830101525b9695505050505050565b600080600080600060a086880312156200017c57600080fd5b620001878662000079565b9450620001976020870162000079565b60408701519094506001600160401b0380821115620001b557600080fd5b620001c389838a01620000ac565b94506060880151915080821115620001da57600080fd5b50620001e988828901620000ac565b925050608086015160ff811681146200020157600080fd5b809150509295509295909350565b600181811c908216806200022457607f821691505b6020821081036200024557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029957600081815260208120601f850160051c81016020861015620002745750805b601f850160051c820191505b81811015620002955782815560010162000280565b5050505b505050565b81516001600160401b03811115620002ba57620002ba62000096565b620002d281620002cb84546200020f565b846200024b565b602080601f8311600181146200030a5760008415620002f15750858301515b600019600386901b1c1916600185901b17855562000295565b600085815260208120601f198616915b828110156200033b578886015182559484019460019091019084016200031a565b50858210156200035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c051611344620003b6600039600061024401526000818161034b015281816103e001528181610625015261075c0152600081816101a9015261037101526113446000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063ae1f6aaf1161008c578063dd62ed3e11610066578063dd62ed3e14610395578063e78cea9214610349578063ee9a31a2146103db57600080fd5b8063ae1f6aaf14610349578063c01e1bd61461036f578063d6c0b2c41461036f57600080fd5b80639dc29fac116100bd5780639dc29fac14610310578063a457c2d714610323578063a9059cbb1461033657600080fd5b806370a08231146102d257806395d89b411461030857600080fd5b806323b872dd1161012f5780633950935111610114578063395093511461026e57806340c10f191461028157806354fd4d501461029657600080fd5b806323b872dd1461022a578063313ce5671461023d57600080fd5b806306fdde031161016057806306fdde03146101f0578063095ea7b31461020557806318160ddd1461021857600080fd5b806301ffc9a71461017c578063033964be146101a4575b600080fd5b61018f61018a3660046110e3565b610402565b60405190151581526020015b60405180910390f35b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b6101f86104f3565b60405161019b919061112c565b61018f6102133660046111c8565b610585565b6002545b60405190815260200161019b565b61018f6102383660046111f2565b61059d565b60405160ff7f000000000000000000000000000000000000000000000000000000000000000016815260200161019b565b61018f61027c3660046111c8565b6105c1565b61029461028f3660046111c8565b61060d565b005b6101f86040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b61021c6102e036600461122e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f8610735565b61029461031e3660046111c8565b610744565b61018f6103313660046111c8565b61085b565b61018f6103443660046111c8565b61092c565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b7f00000000000000000000000000000000000000000000000000000000000000006101cb565b61021c6103a3366004611249565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101cb7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007f1d1d8b63000000000000000000000000000000000000000000000000000000007fec4fc8e3000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000085168314806104bb57507fffffffff00000000000000000000000000000000000000000000000000000000858116908316145b806104ea57507fffffffff00000000000000000000000000000000000000000000000000000000858116908216145b95945050505050565b6060600380546105029061127c565b80601f016020809104026020016040519081016040528092919081815260200182805461052e9061127c565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b60003361059381858561093a565b5060019392505050565b6000336105ab858285610aee565b6105b6858585610bc5565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061059390829086906106089087906112cf565b61093a565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146106d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084015b60405180910390fd5b6106e18282610e34565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161072991815260200190565b60405180910390a25050565b6060600480546105029061127c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f7074696d69736d4d696e7461626c6545524332303a206f6e6c79206272696460448201527f67652063616e206d696e7420616e64206275726e00000000000000000000000060648201526084016106ce565b6108138282610f27565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161072991815260200190565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561091f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106ce565b6105b6828686840361093a565b600033610593818585610bc5565b73ffffffffffffffffffffffffffffffffffffffff83166109dc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610a7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bbf5781811015610bb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106ce565b610bbf848484840361093a565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610bbf565b73ffffffffffffffffffffffffffffffffffffffff8216610eb1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106ce565b8060026000828254610ec391906112cf565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106ce565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610ae1565b6000602082840312156110f557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461112557600080fd5b9392505050565b600060208083528351808285015260005b818110156111595785810183015185820160400152820161113d565b8181111561116b576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111c357600080fd5b919050565b600080604083850312156111db57600080fd5b6111e48361119f565b946020939093013593505050565b60008060006060848603121561120757600080fd5b6112108461119f565b925061121e6020850161119f565b9150604084013590509250925092565b60006020828403121561124057600080fd5b6111258261119f565b6000806040838503121561125c57600080fd5b6112658361119f565b91506112736020840161119f565b90509250929050565b600181811c9082168061129057607f821691505b6020821081036112c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008219821115611309577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fea26469706673582212209d6a73773a8b3ada7d4c6d75345f8313289c1253717e855c8b5987154ecfb2b164736f6c634300080f0033a2646970667358221220a687cfe67e1c7171a707b2cd7a2d1a0ce8bd4b8d1c8be1013687c9d175d4ae4d64736f6c634300080f0033", "nonce": "0x74", "chainId": "0x14a34", "accessList": null, "type": null }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2c4328", "logs": [ { "address": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7", "blockNumber": "0x8eca3b", "transactionHash": "0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a", "transactionIndex": "0x7", "logIndex": "0x5", "removed": false }, { "address": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7", "blockNumber": "0x8eca3b", "transactionHash": "0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a", "transactionIndex": "0x7", "logIndex": "0x6", "removed": false } ], "logsBloom": "0x00000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd37121f6a788a21e1f6e465791ddc74077738c0df4db805885c8429d5c3a395a", "transactionIndex": "0x7", "blockHash": "0x724060e992f5d54626693c53c8f14519b9c8fd22b5ff1fba0fca13ae2adc00c7", "blockNumber": "0x8eca3b", "gasUsed": "0x1cdd7b", "effectiveGasPrice": "0xf436f", "from": "0xfd896bf5eba7e1b9843b91ef6182de16b547273b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xf10122d428b4bc8a9d050d06a2037259b4c4b83b", "l1Fee": "0x25a83698b8754", "l1GasPrice": "0x307fb4f01", "l1GasUsed": "0x1dddc" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1714484076, "chain": 84532, "commit": "da64ba9" } ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/script/RunDeployERC20Factory.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {ERC20Factory} from "../src/ERC20Factory.sol"; contract RunERC20FactoryDeploy is Script { function run() public { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); new ERC20Factory{salt: '0xBA5ED'}(); } } ================================================ FILE: sepolia/2024-04-30-deployTempERC20Factory/src/ERC20Factory.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {OptimismMintableERC20Factory} from "@eth-optimism-bedrock/src/universal/OptimismMintableERC20Factory.sol"; contract ERC20Factory is OptimismMintableERC20Factory { constructor() { initialize({ _bridge: address(0x4200000000000000000000000000000000000010 ) }); } } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: transfer-l1-proxy-admin-owner transfer-l1-proxy-admin-owner: @forge script TransferL1ProxyAdminOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L1_RPC_URL) --sig "run()" .PHONY: transfer-l2-proxy-admin-owner transfer-l2-proxy-admin-owner: @forge script TransferL2ProxyAdminOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L2_RPC_URL) --sig "run()" .PHONY: transfer-system-config-proxy-owner transfer-system-config-proxy-owner: @forge script TransferSystemConfigProxyOwner --private-key $(PRIVATE_KEY) --broadcast --rpc-url $(L1_RPC_URL) --sig "run()" ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferL1ProxyAdminOwner.s.sol/11155111/run-1717448862.json ================================================ { "transactions": [ { "hash": "0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "function": "transferOwnership(address)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9" ], "transaction": { "type": "0x02", "from": "0x608081689fe46936fb2fbdf7552cbb1d80ad4822", "to": "0x0389e59aa0a41e4a413ae70f0008e76caa34b1f3", "gas": "0xa32b", "value": "0x0", "data": "0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "nonce": "0x3", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede", "transactionIndex": "0x13", "blockHash": "0x45cb3a826cd5fef991612c2f465d6da09f3b2f23128a367b8ef9df46c274eb18", "blockNumber": "0x5c1138", "from": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "to": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "cumulativeGasUsed": "0x155d18", "gasUsed": "0x6f92", "contractAddress": null, "logs": [ { "address": "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000608081689fe46936fb2fbdf7552cbb1d80ad4822", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0x45cb3a826cd5fef991612c2f465d6da09f3b2f23128a367b8ef9df46c274eb18", "blockNumber": "0x5c1138", "transactionHash": "0x643ade451b869d9a95b5b5089e3887303814d9884030b9d6e8069b72c8708ede", "transactionIndex": "0x13", "logIndex": "0x18", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000080000000000000000000080000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000004000000000000000000000000000000000020400000000000000000000000001000000000000000000000000000400000000000000000", "type": "0x2", "effectiveGasPrice": "0xe77df4fe" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1717448862, "chain": 11155111, "commit": "82b71ed" } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferL2ProxyAdminOwner.s.sol/84532/run-1717448942.json ================================================ { "transactions": [ { "hash": "0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4200000000000000000000000000000000000018", "function": "transferOwnership(address)", "arguments": [ "0x20f984546476DDd290eC46318785046eF68a1Cba" ], "transaction": { "type": "0x02", "from": "0x8937037a0bb08658e5a178c182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "gas": "0xbfa3", "value": "0x0", "data": "0xf2fde38b00000000000000000000000020f984546476ddd290ec46318785046ef68a1cba", "nonce": "0x9", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e", "transactionIndex": "0x1", "blockHash": "0xbf944b2cb082b923913b412eac67c4e68d236fd89a2034b311cfc3a551526979", "blockNumber": "0xa56904", "from": "0x8937037a0bB08658e5A178C182e60b12f14720ce", "to": "0x4200000000000000000000000000000000000018", "cumulativeGasUsed": "0x14f3c", "gasUsed": "0x8309", "contractAddress": null, "logs": [ { "address": "0x4200000000000000000000000000000000000018", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008937037a0bb08658e5a178c182e60b12f14720ce", "0x00000000000000000000000020f984546476ddd290ec46318785046ef68a1cba" ], "data": "0x", "blockHash": "0xbf944b2cb082b923913b412eac67c4e68d236fd89a2034b311cfc3a551526979", "blockNumber": "0xa56904", "transactionHash": "0x86c4e558f7d12633352518d37de66a4b47f143e3aa4dbfd159898f2e9560992e", "transactionIndex": "0x1", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000001000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001000000000000000000000000000000000000000001000000000000800000400000000000000000000000000000000000000000000000400000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000", "type": "0x2", "effectiveGasPrice": "0xb2d05eff" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1717448942, "chain": 84532, "commit": "82b71ed" } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/records/TransferSystemConfigProxyOwner.s.sol/11155111/run-1717449020.json ================================================ { "transactions": [ { "hash": "0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf272670eb55e895584501d564AfEB048bEd26194", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x608081689fe46936fb2fbdf7552cbb1d80ad4822", "to": "0xf272670eb55e895584501d564afeb048bed26194", "gas": "0xb547", "value": "0x0", "data": "0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "nonce": "0x4", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0", "transactionIndex": "0xd", "blockHash": "0xef07c027ee215c13711fed9cb291857f49e56914df54a8626d39518b5a679995", "blockNumber": "0x5c1144", "from": "0x608081689Fe46936fB2fBDF7552CbB1D80ad4822", "to": "0xf272670eb55e895584501d564AfEB048bEd26194", "cumulativeGasUsed": "0xc67b9", "gasUsed": "0x833f", "contractAddress": null, "logs": [ { "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000608081689fe46936fb2fbdf7552cbb1d80ad4822", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0xef07c027ee215c13711fed9cb291857f49e56914df54a8626d39518b5a679995", "blockNumber": "0x5c1144", "transactionHash": "0x2ddaa53c173eef0b3d23a3ae504ce55d375a8335c1815e444f6886ead83dd3c0", "transactionIndex": "0xd", "logIndex": "0x3", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000420400000000000000000000000001000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xdf0fc016" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1717449020, "chain": 11155111, "commit": "82b71ed" } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferL1ProxyAdminOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@eth-optimism-bedrock/src/universal/ProxyAdmin.sol"; contract TransferL1ProxyAdminOwner is Script { address internal PROXY_CONTRACT = vm.envAddress("PROXY_ADMIN"); address internal OLD_OWNER = vm.envAddress("OLD_PROXY_ADMIN_OWNER"); address internal NEW_OWNER = vm.envAddress("NEW_PROXY_ADMIN_OWNER"); function run() public { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT); require(proxyAdmin.owner() == OLD_OWNER, "L1 ProxyAdmin owner is not the expected owner"); vm.startBroadcast(OLD_OWNER); proxyAdmin.transferOwnership(NEW_OWNER); require(proxyAdmin.owner() == NEW_OWNER, "L1 ProxyAdmin owner did not get updated"); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferL2ProxyAdminOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@eth-optimism-bedrock/src/libraries/Predeploys.sol"; import "@eth-optimism-bedrock/src/universal/ProxyAdmin.sol"; contract TransferL2ProxyAdminOwner is Script { address internal PROXY_CONTRACT = Predeploys.PROXY_ADMIN; address internal OLD_OWNER = vm.envAddress("OLD_PROXY_ADMIN_OWNER_L2"); address internal NEW_OWNER = vm.envAddress("NEW_PROXY_ADMIN_OWNER_L2"); function run() public { ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_CONTRACT); require(proxyAdmin.owner() == OLD_OWNER, "L2 ProxyAdmin owner is not the expected owner"); vm.startBroadcast(OLD_OWNER); proxyAdmin.transferOwnership(NEW_OWNER); require(proxyAdmin.owner() == NEW_OWNER, "L2 ProxyAdmin owner did not get updated"); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-05-30-transfer-proxyadmin-owners/script/TransferSystemConfigProxyOwner.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; contract TransferSystemConfigProxyOwner is Script { address internal SYSTEM_CONFIG_PROXY = vm.envAddress("SYSTEM_CONFIG_PROXY"); address internal OLD_OWNER = vm.envAddress("OLD_SYSTEM_CONFIG_OWNER"); address internal NEW_OWNER = vm.envAddress("NEW_SYSTEM_CONFIG_OWNER"); function run() public { require( OwnableUpgradeable(SYSTEM_CONFIG_PROXY).owner() == OLD_OWNER, "System config owner is not the expected owner" ); vm.startBroadcast(OLD_OWNER); OwnableUpgradeable(SYSTEM_CONFIG_PROXY).transferOwnership(NEW_OWNER); require(OwnableUpgradeable(SYSTEM_CONFIG_PROXY).owner() == NEW_OWNER, "System config owner did not get updated"); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif # Batcher .PHONY: sign-update-batcher sign-update-batcher: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateBatcherHash \ --sig "sign()" .PHONY: execute-update-batcher execute-update-batcher: forge script --rpc-url $(L1_RPC_URL) UpdateBatcherHash \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-batcher sign-rollback-batcher: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackBatcherHash \ --sig "sign()" .PHONY: execute-rollback-batcher execute-rollback-batcher: forge script --rpc-url $(L1_RPC_URL) RollbackBatcherHash \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/README.md ================================================ # Update Batcher and Proposer addresses in L1 for sSepolia-alpha Status: ready to execute ## Objective We are updating batcher address for sepolia to a key that is managed by the internal key management service. This runbook implements scripts which allow system owner to execute: 1. `UpdateBatcherHash` -- Updates the batcher hash in `SystemConfig` to be the new key. 2. `RollbackBatcherHash` -- Rollback the batcher upgrade. The values we are sending are statically defined in the `.env`. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd sepolia/2024-08-26-update-batcher-hash make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-batcher ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "SystemConfigProxy" at address `0xf272670eb55e895584501d564AfEB048bEd26194`. We should see the nonce increment from 5 to 6: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000005 After: 0x00000000000000000000000000000000000000000000000000000000000000006 ``` 2. Verify the new batcher hash value is appropriately updated under "SystemConfigProxy" at address `0xf272670eb55e895584501d564AfEB048bEd26194`. ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000067 Before: 0x0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47 After: 0x000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-batcher ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-batcher ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000006 After: 0x00000000000000000000000000000000000000000000000000000000000000007 ``` 2. Verify the new batcher hash value is appropriately updated under "SystemConfigProxy" at address `0xf272670eb55e895584501d564AfEB048bEd26194`. Key: 0x0000000000000000000000000000000000000000000000000000000000000067 Before: 0x000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3 After: 0x0000000000000000000000006cdebe940bc0f26850285caca097c11c33103e47 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-batcher ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/records/UpdateBatcherHash.s.sol/11155111/run-1724971345.json ================================================ { "transactions": [ { "hash": "0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b" ], "transaction": { "from": "0xee316db0edaee45347dfc498795a01311f085225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x2193e", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd89e2d", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c9b26f61000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ac0d29bc3394aac501aab964e662bebdae0bd2792813e5e75f649e4bccdf01cc3528d0bd1e99cfebe4c2fa1a5ddaff3d529f1c1fcf284d9c1916c2924f80b0141b83e4cf7601ceddc980db4da5db1bf6463e4895b80f010ed67bbebf17d71ddd2811761391f9c8e98f0fa8917ffce9488fb5cef73eac997bfe048943443a336b191cd78d632c8b5b54e387fdad1ae7877cd0715586ffb8873762df9a88fcc48951f320acd725f2d2af4002fd513075f2ce31ef32627d621450120bd186404b9ea50e1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e", "blockNumber": "0x64a79d", "transactionHash": "0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4", "transactionIndex": "0x40", "logIndex": "0x63", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3", "blockHash": "0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e", "blockNumber": "0x64a79d", "transactionHash": "0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4", "transactionIndex": "0x40", "logIndex": "0x64", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x93a9679d733c159bb90824a51a06ddc9e8a673793cca3da7d36bdd52965426bf0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e", "blockNumber": "0x64a79d", "transactionHash": "0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4", "transactionIndex": "0x40", "logIndex": "0x65", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000800000000000000000000000000000000000020000000000000000000000000400000020000000000000000000000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0xf814110a0c24045bbf0bdb8fae62c37ed5dc2f27e7d82f3a49218dd37a494ab4", "transactionIndex": "0x40", "blockHash": "0x7d399510fe11c9ac38a904655bf1d5b75cbf35fccfca97d0425dd523244dd61e", "blockNumber": "0x64a79d", "gasUsed": "0x184f5", "effectiveGasPrice": "0x10d66bdc", "from": "0xee316db0edaee45347dfc498795a01311f085225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1724971345, "chain": 11155111, "commit": "751652e" } ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/script/RollbackBatcherHash.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Vm} from "forge-std/Vm.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract RollbackBatcherHash is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); address internal ROLLBACK_BATCH_SENDER = vm.envAddress("ROLLBACK_BATCH_SENDER"); function _convertAddressToBytes32(address _address) internal pure returns (bytes32) { return bytes32(uint256(uint160(_address))); } function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require( SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(ROLLBACK_BATCH_SENDER), "Rollback Deploy: batcherHash is incorrect" ); console.log("New batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); console.log("Current batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setBatcherHash, (_convertAddressToBytes32(ROLLBACK_BATCH_SENDER))) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _incrementedNonce = _getNonce(safe) + 1; return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce); } function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x0000000000000000000000000000000000000000000000000000000000000067, // slot of batcher hash value: _convertAddressToBytes32(vm.envAddress("NEW_BATCH_SENDER")) }); return SimulationStateOverride({contractAddress: L1_SYSTEM_CONFIG, overrides: _stateOverrides}); } } ================================================ FILE: sepolia/2024-08-26-update-batcher-hash/script/UpdateBatcherHash.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Vm} from "forge-std/Vm.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpdateBatcherHash is MultisigBuilder { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); address internal NEW_BATCH_SENDER = vm.envAddress("NEW_BATCH_SENDER"); function _convertAddressToBytes32(address _address) internal pure returns (bytes32) { return bytes32(uint256(uint160(_address))); } function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { require( SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(NEW_BATCH_SENDER), "Rollback Deploy: batcherHash is incorrect" ); console.log("New batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); console.log("Current batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); calls[0] = IMulticall3.Call3({ target: L1_SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(SystemConfig.setBatcherHash, (_convertAddressToBytes32(NEW_BATCH_SENDER))) }); return calls; } function _ownerSafe() internal view override returns (address) { return SYSTEM_CONFIG_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: sepolia/2024-09-11-deploy-new-PDG/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 # Sepolia using hd-path of 1 endif # Proposer .PHONY: execute-deploy-dispute-game execute-deploy-dispute-game: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployNewPDG --broadcast ================================================ FILE: sepolia/2024-09-11-deploy-new-PDG/README.md ================================================ # Deploy new PermissionedDisputeGame Status: ready to execute ## Objective We are deploying a new `PermissionedDisputeGame` so that it has the new proposer address This runbook implements scripts which allow system owner to execute: 1. `DeployNewPDG` -- Deploys a new `PermissionedDisputeGame` with the new proposer address. The values we are sending are statically defined in the `.env`. ## Deploy the new PDG This step doesn't have to be done with multisig, we can use an EoA to deploy by running `make execute-deploy-dispute-game`. We should see the following output from the console ``` == Logs == New permissioned dispute game address: New proposer: 0x037637067c1DbE6d2430616d8f54Cb774Daa5999 ``` ================================================ FILE: sepolia/2024-09-11-deploy-new-PDG/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-09-11-deploy-new-PDG/records/DeployNewPDG.s.sol/11155111/run-1726092565.json ================================================ { "transactions": [ { "hash": "0x12dd3fa33babc9460a698a5029037a9f89395a9b4186d12f495ff45c19400158", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x593d20c4c69485b95d11507239be2c725ea2a6fd", "function": null, "arguments": [ "1", "0x030de10d9da911a2b180ecfae2aeaba8758961fc28262ce989458c6f9a547922", "73", "30", "10800", "302400", "0x47B0E34C1054009e696BaBAAd56165e1e994144d", "0x27A6128F707de3d99F89Bf09c35a4e0753E1B808", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "gas": "0x6a01f8", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220e8b96106d78f2f7838688804cd7a7c1b73cf9ac778dc3b912e31933126cd1a1364736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000001030de10d9da911a2b180ecfae2aeaba8758961fc28262ce989458c6f9a5479220000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000047b0e34c1054009e696babaad56165e1e994144d00000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0x15", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xe28667", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x12dd3fa33babc9460a698a5029037a9f89395a9b4186d12f495ff45c19400158", "transactionIndex": "0x54", "blockHash": "0x309cabfcc2090a93830a32865e216b22932fe04db884e06ea60f3ede39092f75", "blockNumber": "0x65d81f", "gasUsed": "0x5191f1", "effectiveGasPrice": "0x18f56d16", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": null, "contractAddress": "0x593d20c4c69485b95d11507239be2c725ea2a6fd" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1726092565, "chain": 11155111, "commit": "c38e34b" } ================================================ FILE: sepolia/2024-09-11-deploy-new-PDG/script/DeployNewPDG.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import "forge-std/Script.sol"; contract DeployNewPDG is Script { address internal NEW_PROPOSER = vm.envAddress("NEW_PROPOSER"); address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress("PERMISSIONED_DISPUTE_GAME"); function run() public { PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME); vm.startBroadcast(); PermissionedDisputeGame newPdgImpl = new PermissionedDisputeGame({ _gameType: pdg.gameType(), _absolutePrestate: pdg.absolutePrestate(), _maxGameDepth: pdg.maxGameDepth(), _splitDepth: pdg.splitDepth(), _clockExtension: pdg.clockExtension(), _maxClockDuration: pdg.maxClockDuration(), _vm: pdg.vm(), _weth: pdg.weth(), _anchorStateRegistry: pdg.anchorStateRegistry(), _l2ChainId: pdg.l2ChainId(), _proposer: NEW_PROPOSER, _challenger: pdg.challenger() }); require(newPdgImpl.proposer() == NEW_PROPOSER, "Deploy: proposer is incorrect"); console.log("New permissioned dispute game address: ", address(newPdgImpl)); console.log("New proposer: ", newPdgImpl.proposer()); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-09-11-update-proposer/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1# Sepolia using hd-path of 1 endif .PHONY: sign-update-proposer sign-update-proposer: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateProposer \ --sig "sign()" .PHONY: execute-update-proposer execute-update-proposer: forge script --rpc-url $(L1_RPC_URL) UpdateProposer \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback-proposer sign-rollback-proposer: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) RollbackProposer \ --sig "sign()" .PHONY: execute-rollback-proposer execute-rollback-proposer: forge script --rpc-url $(L1_RPC_URL) RollbackProposer \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" ================================================ FILE: sepolia/2024-09-11-update-proposer/README.md ================================================ # Update Sepolia proposer key Status: ready to execute ## Objective We are updating proposer address for sepolia to a key that is managed by the internal key management service. This runbook implements scripts which allow system owner to execute: 1. `UpdateProposer` -- Upgrade `DisputeGameFactory` to have the new `PermissionedDisputeGame`. 2. `RollbackProposer` -- Rollback the `DisputeGame` upgrade. The values we are sending are statically defined in the `.env`. ## Approving the Update transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd sepolia/2024-09-11-update-proposer make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-update-proposer ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x0fe884546476dDd290eC46318785046ef68a0BA9`. We should see the nonce increment from 5 to 6: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000007 After: 0x00000000000000000000000000000000000000000000000000000000000000008 ``` 2. Verify the new `PermissionedDisputeGame` is appropriately updated under "Proxy" at address `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1`. ``` Key: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e Before: 0x000000000000000000000000ccefe451048eaa7df8d0d709be3aa30d565694d2 After: 0x000000000000000000000000 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-update-proposer ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ``` shell make sign-rollback-proposer ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x0fe884546476dDd290eC46318785046ef68a0BA9`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000008 After: 0x00000000000000000000000000000000000000000000000000000000000000009 ``` 2. Verify the new `PermissionedDisputeGame` is appropriately updated under "Proxy" at address `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1`. ``` Key: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e Before: 0x000000000000000000000000 After: 0x000000000000000000000000ccefe451048eaa7df8d0d709be3aa30d565694d2 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ``` shell make sign-rollback-proposer ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: sepolia/2024-09-11-update-proposer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-09-11-update-proposer/records/UpdateProposer.s.sol/11155111/run-1726095157.json ================================================ { "transactions": [ { "hash": "0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c" ], "transaction": { "from": "0xee316db0edaee45347dfc498795a01311f085225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x215f8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000014482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb9b12f", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000014482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37de44ceddfe0d043dc30107adf1c25ac015c6743cca2e8cccd3217116d2fb1497091c96e766527739e705d6c22e40a27ad82608a2079c872a316c98de1fb01e51b2f8c71a1fe41899428e14ce8bbdcb3f9f965b8957bd2a3b9e3d1b5ad7d5da1c5666aa54b9541a4c63774bd81eeff9058d740fd1d0ec7e72c00842aff60d0361c1cb041c1b13a684791dd6d1822570b9057550e143d9007ab56cfd1b56155ebfb6f671139719827247609626375c0a2fd33b9462ec11441fa615d22f5d65ee9cec01c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000007000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33", "blockNumber": "0x65d8c9", "transactionHash": "0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3", "transactionIndex": "0x61", "logIndex": "0x7a", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000593d20c4c69485b95d11507239be2c725ea2a6fd", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33", "blockNumber": "0x65d8c9", "transactionHash": "0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3", "transactionIndex": "0x61", "logIndex": "0x7b", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xfdfeed9d2a7a52a4b6db8977516aa020f5105a304562582c92f0cc08825cfac90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33", "blockNumber": "0x65d8c9", "transactionHash": "0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3", "transactionIndex": "0x61", "logIndex": "0x7c", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000000000000000000000048000000000000400000000000000000000000000040000040000000000000000000000010000000000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000002000000000004000000000000000000004000000000000000000000000000000000000000020000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x8f590ae32fce8f00d539178dc0ca44d863987e262b7f56b3136e165aa5d1ebc3", "transactionIndex": "0x61", "blockHash": "0x5a800f6960b61e50548b272d75ced6fc7b4ed36b053c3287bbbb6b81e3ca0f33", "blockNumber": "0x65d8c9", "gasUsed": "0x18296", "effectiveGasPrice": "0x1856d2d9", "from": "0xee316db0edaee45347dfc498795a01311f085225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1726095157, "chain": 11155111, "commit": "72af3f7" } ================================================ FILE: sepolia/2024-09-11-update-proposer/script/RollbackProposer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {GameTypes} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import {Vm} from "forge-std/Vm.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract RollbackProposer is MultisigBuilder { address internal OLD_PROPOSER = vm.envAddress("OLD_PROPOSER"); address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress("PERMISSIONED_DISPUTE_GAME"); address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY_OWNER"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY); IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON); require(PermissionedDisputeGame(address(gameImpl)).proposer() == OLD_PROPOSER, "Deploy: proposer is incorrect"); console.log("Updated proposer to: "); console.log(OLD_PROPOSER); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { PermissionedDisputeGame newPdgImpl = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME); require(newPdgImpl.proposer() == OLD_PROPOSER, "Deploy: proposer is incorrect"); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: DISPUTE_GAME_FACTORY_PROXY, allowFailure: false, callData: abi.encodeCall( DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(PERMISSIONED_DISPUTE_GAME)) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return DISPUTE_GAME_FACTORY_PROXY_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _incrementedNonce = _getNonce(safe) + 1; return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _incrementedNonce); } function _addGenericOverrides() internal view override returns (SimulationStateOverride memory) { SimulationStorageOverride[] memory _stateOverrides = new SimulationStorageOverride[](1); _stateOverrides[0] = SimulationStorageOverride({ key: 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, // slot of PermissionedDisputeGame value: 0x000000000000000000000000c7f2cf4845c6db0e1a1e91ed41bcd0fcc1b0e141 }); return SimulationStateOverride({contractAddress: DISPUTE_GAME_FACTORY_PROXY, overrides: _stateOverrides}); } } ================================================ FILE: sepolia/2024-09-11-update-proposer/script/UpdateProposer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {GameTypes} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import {Vm} from "forge-std/Vm.sol"; import { MultisigBuilder, IMulticall3, IGnosisSafe, console, Enum } from "@base-contracts/script/universal/MultisigBuilder.sol"; contract UpdateProposer is MultisigBuilder { address internal NEW_PROPOSER = vm.envAddress("NEW_PROPOSER"); address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); address internal NEW_PERMISSIONED_DISPUTE_GAME = vm.envAddress("NEW_PERMISSIONED_DISPUTE_GAME"); address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY_OWNER"); function _postCheck(Vm.AccountAccess[] memory, SimulationPayload memory) internal view override { DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY); IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON); require(PermissionedDisputeGame(address(gameImpl)).proposer() == NEW_PROPOSER, "Deploy: proposer is incorrect"); console.log("Updated proposer to: "); console.log(NEW_PROPOSER); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { PermissionedDisputeGame newPdgImpl = PermissionedDisputeGame(NEW_PERMISSIONED_DISPUTE_GAME); require(newPdgImpl.proposer() == NEW_PROPOSER, "Deploy: proposer is incorrect"); IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1); calls[0] = IMulticall3.Call3({ target: DISPUTE_GAME_FACTORY_PROXY, allowFailure: false, callData: abi.encodeCall( DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(newPdgImpl))) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return DISPUTE_GAME_FACTORY_PROXY_OWNER; } function _addOverrides(address _safe) internal view override returns (SimulationStateOverride memory) { IGnosisSafe safe = IGnosisSafe(payable(_safe)); uint256 _nonce = _getNonce(safe); return overrideSafeThresholdOwnerAndNonce(_safe, DEFAULT_SENDER, _nonce); } } ================================================ FILE: sepolia/2024-10-09-increase-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1# Sepolia uses hd-path of 1 endif .PHONY: sign-upgrade sign-upgrade: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/UpgradeGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign-rollback sign-rollback: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/RollbackGasLimit.sol \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: sepolia/2024-10-09-increase-gas-limit/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: DONE ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes two scripts which allow our signers to sign two different calls for our Incident Multisig, which are both defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: 1. `UpgradeGasLimit` -- This script will update the gas limit to our new limit of 60M gas 2. `RollbackGasLimit` -- This script establishes a rollback call in the case we need to revert to gas The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd sepolia/2024-10-09-increase-gas-limit make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from 8 to 9: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x0000000000000000000000000000000000000000000000000000000000000008 After: 0x00000000000000000000000000000000000000000000000000000000000000009 ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from 45M to 60M: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000002aea540 After: 0x0000000000000000000000000000000000000000000000000000000003938700 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: 0x00000000000000000000000000000000000000000000000000000000000000009 After: 0x0000000000000000000000000000000000000000000000000000000000000000a ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: 0x0000000000000000000000000000000000000000000000000000000003938700 After: 0x0000000000000000000000000000000000000000000000000000000002aea540 ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: sepolia/2024-10-09-increase-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-10-09-increase-gas-limit/records/UpgradeGasLimit.sol/11155111/run-1728578106.json ================================================ { "transactions": [ { "hash": "0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000393870000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b" ], "transaction": { "from": "0x420c8fe1ddb0593c71487445576c87c17f177179", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x2254b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x9754bb", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000003938700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3243db38f8b30ec8cde3ac552857d3f10369a6025775f612ed6be53f160dcce561af0b2efe04cc99bf2ef47aade6ab46f9c034232f86ffaf1823258a324b89dc91c46d849f9fd90e5bca0ddbe04bb4a200f334e7dc5dbbc478fc36010fd30192c72138331d0220772fd02a8df63f142c83a77d8fd29401f5bd3e4c7d56f327719d51c79690e737327ae098a38f829681cfc6bac7b727a1394ae72918b6751b1b58432590f742d0b5bf07e906288b945eaa2611d014cde6d93a16e1a8001f3160699091b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7", "blockNumber": "0x688ae9", "transactionHash": "0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053", "transactionIndex": "0x2b", "logIndex": "0x57", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003938700", "blockHash": "0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7", "blockNumber": "0x688ae9", "transactionHash": "0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053", "transactionIndex": "0x2b", "logIndex": "0x58", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1e5fb075847c66bf9847f8928514ae754aac6775a03631fa7bd090e0bfa41e820000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7", "blockNumber": "0x688ae9", "transactionHash": "0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053", "transactionIndex": "0x2b", "logIndex": "0x59", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000100000004000000000000000000000000800000000000000000000000000000000000020000000000000000000000000400000020000000000000000000000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x46e866262cef4758f01c98f3af1e93a26ba199be67c89d35a5c294a99ea9a053", "transactionIndex": "0x2b", "blockHash": "0x197a0824233d97b90f9b068f1fde2e5d122765cb936b2a9f132af8e7ed0954d7", "blockNumber": "0x688ae9", "gasUsed": "0x18daf", "effectiveGasPrice": "0x405d87585", "from": "0x420c8fe1ddb0593c71487445576c87c17f177179", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1728578106, "chain": 11155111, "commit": "8c82c9c" } ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif # Overwriting this from top level makefile to change the branch .PHONY: checkout-op-commit checkout-op-commit: rm -rf lib/optimism mkdir -p lib/optimism cd lib/optimism; \ git init; \ git remote add origin $(OPTIMISM_REPO); \ git fetch --depth=1 origin tag $(OPTIMISM_VERSION) --no-tags; \ git checkout $(OPTIMISM_VERSION); \ git apply ../../$(OPTIMISM_CONTRACT_PATCH) .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySystemConfig --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --verify --broadcast .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "sign()" .PHONY: run-upgrade execute: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfig \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/README.md ================================================ ## Upgrade to new system config with 400m max gas limit Base is continuing to scale and we need higher block gas limit to support the increased demand. ### Steps 1. pull main branch of https://github.com/base-org/contract-deployments: `git clone git@github.com:base-org/contract-deployments.git` 2. ledger needs to be connected and unlocked 3. deploying contracts (base team): ```shell cd sepolia/2024-12-06-increase-max-gas-limit make deps make deploy ``` 4. sign ```shell cd sepolia/2024-12-06-increase-max-gas-limit make deps # skip if already installed make sign ``` 5. execute: ```shell cd sepolia/2024-12-06-increase-max-gas-limit make execute ``` ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', 'src/=lib/optimism/packages/contracts-bedrock/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/patch/max-gas-limit.patch ================================================ diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol index 67a8353ae..ae72faf92 100644 --- a/packages/contracts-bedrock/src/L1/SystemConfig.sol +++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol @@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken { /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks /// on L2 are not too large to process and prove. Over time, this value can be increased as various /// optimizations and improvements are made to the system at large. - uint64 internal constant MAX_GAS_LIMIT = 200_000_000; + uint64 internal constant MAX_GAS_LIMIT = 400_000_000; /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation. uint256 public overhead; @@ -115,8 +115,8 @@ contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken { event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data); /// @notice Semantic version. - /// @custom:semver 2.2.0 - string public constant version = "2.2.0"; + /// @custom:semver 2.2.0+max-gas-limit-400M + string public constant version = "2.2.0+max-gas-limit-400M"; /// @notice Constructs the SystemConfig contract. Cannot set /// the owner to `address(0)` due to the Ownable contract's ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/records/UpgradeSystemConfig.s.sol/11155111/run-1733527237.json ================================================ { "transactions": [ { "hash": "0xe05704f078ac0599f1d88e0e287eda779817506c2f51456a2b7bd82b966a00f1", "transactionType": "CREATE2", "contractName": "Simulation", "contractAddress": "0x06036c9d89f70b103d47cb3a9e4a069658a5c667", "function": null, "arguments": null, "transaction": { "from": "0xaa2489debf1ef02ab83ba6cde4419e662de9254e", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x273e9d", "input": "0x0000000000000000000000000000000000000000000000000000000000000000611ef061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100555760003560e01c8062be68721461005a5780630482b1631461006f57806342257f7414610082578063986bfec3146100ab575b600080fd5b61006d610068366004611385565b6100be565b005b61006d61007d36600461140d565b610117565b61009561009036600461165a565b610b45565b6040516100a29190611686565b60405180910390f35b6100956100b9366004611700565b610bf0565b610112838383600060405190808252806020026020018201604052801561010c57816020015b6040805180820190915260008152606060208201528152602001906001900390816100e45790505b50610117565b505050565b604080518082018252601081527f54454e4445524c595f50524f4a45435400000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c9161019a916004016117bb565b600060405180830381865afa1580156101b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101fd9190810190611802565b604080518082018252601181527f54454e4445524c595f555345524e414d45000000000000000000000000000000602082015290517fd145736c000000000000000000000000000000000000000000000000000000008152919250600091737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916102849190600401611879565b600060405180830381865afa1580156102a1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102e79190810190611802565b60408051808201909152600381527f2535420000000000000000000000000000000000000000000000000000000000602082015290915060005b84518110156106a857600085828151811061033e5761033e6118c0565b6020026020010151905060008211156103745782604051602001610362919061190b565b60405160208183030381529060405292505b80516040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201528390737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261043d9190810190611802565b60405160200161044e92919061194c565b604051602081830303815290604052925060005b8160200151518110156106715780156104985783604051602001610486919061190b565b60405160208183030381529060405293505b837f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663b11a19e8846020015184815181106104ee576104ee6118c0565b6020026020010151600001516040518263ffffffff1660e01b815260040161051891815260200190565b600060405180830381865afa158015610535573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261057b9190810190611802565b60208401518051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163b11a19e891869081106105ae576105ae6118c0565b6020026020010151602001516040518263ffffffff1660e01b81526004016105d891815260200190565b600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261063b9190810190611802565b60405160200161064d939291906119ce565b6040516020818303038152906040529350808061066990611abe565b915050610462565b50826040516020016106839190611af6565b60405160208183030381529060405292505080806106a090611abe565b915050610321565b50806040516020016106ba9190611b37565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290527f6900a3ae000000000000000000000000000000000000000000000000000000008252466004830152915060009083908590737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610757573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261079d9190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8c166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa15801561081b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108619190810190611802565b6040517f56ca623e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156108df573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109259190810190611802565b8660405160200161093b96959493929190611b78565b6040516020818303038152906040529050611f2c8751600261095d9190611ce0565b82516109699190611d1d565b1115610a5b57806040516020016109809190611d35565b604051602081830303815290604052905061099a81610ca9565b6040517f71aad10d000000000000000000000000000000000000000000000000000000008152610a5690737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d906109ee908b90600401611d9c565b600060405180830381865afa158015610a0b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a519190810190611802565b610ca9565b610b3b565b6040517f71aad10d0000000000000000000000000000000000000000000000000000000081528190737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d90610aad908b90600401611d9c565b600060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b109190810190611802565b604051602001610b21929190611daf565b6040516020818303038152906040529050610b3b81610ca9565b5050505050505050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff841681526000906020810182604051908082528060200260200182016040528015610bca57816020015b6040805180820190915260008082526020820152815260200190600190039081610ba35790505b5090529050610bd98482610d3b565b9050610be6848285610ded565b9150505b92915050565b6040805180820190915260008152606060208201526040805180820190915273ffffffffffffffffffffffffffffffffffffffff851681526000906020810182604051908082528060200260200182016040528015610c7557816020015b6040805180820190915260008082526020820152815260200190600190039081610c4e5790505b5090529050610c848582610d3b565b9050610c91858286610ea6565b9050610c9e858285610ded565b9150505b9392505050565b610d3881604051602401610cbd9190611d9c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526110b9565b50565b6040805180820190915260008152606060208201528273ffffffffffffffffffffffffffffffffffffffff1663e75235b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf9190611e07565b600103610dcd575080610bea565b604080518082019091526004815260016020820152610ca29083906110c2565b604080518082019091526000815260606020820152818473ffffffffffffffffffffffffffffffffffffffff1663affed0e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e729190611e07565b03610e7e575081610ca2565b604080518082019091526005815260208101839052610e9e9084906110c2565b949350505050565b60408051808201909152600081526060602082015260008473ffffffffffffffffffffffffffffffffffffffff1663a0e67e2b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610f08573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f4e9190810190611e20565b905060005b8151811015610fc4578373ffffffffffffffffffffffffffffffffffffffff16828281518110610f8557610f856118c0565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610fb2578492505050610ca2565b80610fbc81611abe565b915050610f53565b50604080518082019091526003815260016020820152610fe59085906110c2565b604080518082019091527fe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0815273ffffffffffffffffffffffffffffffffffffffff8516602082015290945061103c9085906110c2565b6040805180820190915273ffffffffffffffffffffffffffffffffffffffff8516606082015260026080820152909450610c9e9085908060a08101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602091820120825260019101526110c2565b610d38816111ff565b604080518082019091526000815260606020820152600083602001515160016110eb9190611d1d565b67ffffffffffffffff81111561110357611103611242565b60405190808252806020026020018201604052801561114857816020015b60408051808201909152600080825260208201528152602001906001900390816111215790505b50905060005b8460200151518110156111a95784602001518181518110611171576111716118c0565b602002602001015182828151811061118b5761118b6118c0565b602002602001018190525080806111a190611abe565b91505061114e565b508281856020015151815181106111c2576111c26118c0565b60209081029190910181019190915260408051808201909152945173ffffffffffffffffffffffffffffffffffffffff1685528401525090919050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610d3857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561129457611294611242565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156112e1576112e1611242565b604052919050565b600067ffffffffffffffff82111561130357611303611242565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261134057600080fd5b813561135361134e826112e9565b61129a565b81815284602083860101111561136857600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561139a57600080fd5b83356113a581611220565b9250602084013567ffffffffffffffff8111156113c157600080fd5b6113cd8682870161132f565b92505060408401356113de81611220565b809150509250925092565b600067ffffffffffffffff82111561140357611403611242565b5060051b60200190565b6000806000806080858703121561142357600080fd5b61142d8535611220565b8435935067ffffffffffffffff6020860135111561144a57600080fd5b61145a866020870135870161132f565b92506114696040860135611220565b6040850135915067ffffffffffffffff6060860135111561148957600080fd5b85601f60608701358701011261149e57600080fd5b6114b161134e60608701358701356113e9565b6060860135860180358083526020808401939260059290921b909101018810156114da57600080fd5b602060608801358801015b60608801358801803560051b0160200181101561164d5767ffffffffffffffff8135111561151257600080fd5b8035606089013589010160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828c0301121561154e57600080fd5b611556611271565b6115636020830135611220565b6020820135815267ffffffffffffffff6040830135111561158357600080fd5b8a603f60408401358401011261159857600080fd5b6115ae61134e60206040850135850101356113e9565b6020604084810135850182810135808552928401939260061b01018d10156115d557600080fd5b6040808501358501015b6040858101358601602081013560061b010181101561162e576040818f03121561160857600080fd5b611610611271565b813581526020808301358183015290845292909201916040016115df565b50806020840152505080855250506020830192506020810190506114e5565b5094979396509194505050565b6000806040838503121561166d57600080fd5b823561167881611220565b946020939093013593505050565b6020808252825173ffffffffffffffffffffffffffffffffffffffff168282015282810151604080840181905281516060850181905260009392830191849160808701905b808410156116f457845180518352860151868301529385019360019390930192908201906116cb565b50979650505050505050565b60008060006060848603121561171557600080fd5b833561172081611220565b9250602084013561173081611220565b929592945050506040919091013590565b60005b8381101561175c578181015183820152602001611744565b8381111561176b576000848401525b50505050565b60008151808452611789816020860160208601611741565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601060408201527f54454e4445524c595f50524f4a454354000000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b60006020828403121561181457600080fd5b815167ffffffffffffffff81111561182b57600080fd5b8201601f8101841361183c57600080fd5b805161184a61134e826112e9565b81815285602083850101111561185f57600080fd5b611870826020830160208601611741565b95945050505050565b60408152601160408201527f54454e4445524c595f555345524e414d450000000000000000000000000000006060820152608060208201526000610ca26080830184611771565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151611901818560208601611741565b9290920192915050565b6000825161191d818460208701611741565b7f2c00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000835161195e818460208801611741565b7f25374222636f6e747261637441646472657373223a22000000000000000000009083019081528351611998816016840160208801611741565b7f222c2273746f72616765223a253542000000000000000000000000000000000060169290910191820152602501949350505050565b600084516119e0818460208901611741565b7f253742226b6579223a22000000000000000000000000000000000000000000009083019081528451611a1a81600a840160208901611741565b7f222c2276616c7565223a22000000000000000000000000000000000000000000600a92909101918201528351611a58816015840160208801611741565b7f22253744000000000000000000000000000000000000000000000000000000006015929091019182015260190195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aef57611aef611a8f565b5060010190565b60008251611b08818460208701611741565b7f2535442537440000000000000000000000000000000000000000000000000000920191825250600601919050565b60008251611b49818460208701611741565b7f2535440000000000000000000000000000000000000000000000000000000000920191825250600301919050565b7f68747470733a2f2f64617368626f6172642e74656e6465726c792e636f2f0000815260008751611bb081601e850160208c01611741565b7f2f00000000000000000000000000000000000000000000000000000000000000601e918401918201528751611bed81601f840160208c01611741565b7f2f73696d756c61746f722f6e65773f6e6574776f726b3d000000000000000000601f92909101918201528651611c2b816036840160208b01611741565b7f26636f6e7472616374416464726573733d000000000000000000000000000000603692909101918201528551611c69816047840160208a01611741565b7f2666726f6d3d000000000000000000000000000000000000000000000000000060479290910191820152611ca1604d8201866118ef565b7f2673746174654f76657272696465733d0000000000000000000000000000000081529050611cd360108201856118ef565b9998505050505050505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611d1857611d18611a8f565b500290565b60008219821115611d3057611d30611a8f565b500190565b60008251611d47818460208701611741565b7f0a496e736572742074686520666f6c6c6f77696e672068657820696e746f20749201918252507f6865202752617720696e707574206461746127206669656c643a0000000000006020820152603a01919050565b602081526000610ca26020830184611771565b60008351611dc1818460208801611741565b7f2672617746756e6374696f6e496e7075743d00000000000000000000000000009083019081528351611dfb816012840160208801611741565b01601201949350505050565b600060208284031215611e1957600080fd5b5051919050565b60006020808385031215611e3357600080fd5b825167ffffffffffffffff811115611e4a57600080fd5b8301601f81018513611e5b57600080fd5b8051611e6961134e826113e9565b81815260059190911b82018301908381019087831115611e8857600080fd5b928401925b82841015611eaf578351611ea081611220565b82529284019290840190611e8d565b97965050505050505056fea2646970667358221220283474ba77b92d33cd2ac4c86126748fbbdefd6ee7a11433b35b02a8b7cadf7c64736f6c634300080f0033", "nonce": "0x9", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x83f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b" ], "transaction": { "from": "0xaa2489debf1ef02ab83ba6cde4419e662de9254e", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x277f1", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c383f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xa", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x513852", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xe05704f078ac0599f1d88e0e287eda779817506c2f51456a2b7bd82b966a00f1", "transactionIndex": "0x2b", "blockHash": "0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b", "blockNumber": "0x6e4361", "gasUsed": "0x1ad76f", "effectiveGasPrice": "0x1cab03", "from": "0xaa2489debf1ef02ab83ba6cde4419e662de9254e", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x52e86b", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c383f709e74d249d80828045315d4ec710e43f6940e6e979112a63924ef36a471a69975d580701e585c07babad95d46a99355316db1c37df8066894c376ec4165d1c83d5085e98fb6b5a68ad1e23ef380eae9ab2ca4963450bbc7d93e1231c5357db7c3b30b2a16d0f9e42628b5802d7c7d28db5552dc43eb8895a2afead0c360cb81b6bef18446c2d31cad0ea6049a942f3e3aa739e429bb84780f35e27dff09db9d17c99c6d40221e506bfa199b7ad2fc06d51d2e3f17e1a42c2f0279355aeda1bad1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b", "blockNumber": "0x6e4361", "transactionHash": "0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da", "transactionIndex": "0x2c", "logIndex": "0x69", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000031aad1062c25ce545c14bd9ee64dedef6c6b6fac" ], "data": "0x", "blockHash": "0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b", "blockNumber": "0x6e4361", "transactionHash": "0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da", "transactionIndex": "0x2c", "logIndex": "0x6a", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x575a799ff9212271195dbf0b0b2ff3482da04050a6e8f5bed0f7324dcbf66fe70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b", "blockNumber": "0x6e4361", "transactionHash": "0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da", "transactionIndex": "0x2c", "logIndex": "0x6b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000000400000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000100000000000000000000000000000000000000000200000008000000200000000800000000000000000000000000000000000000000000000100000000000400000000000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x6e6431b2fbad4d52bb409a6b4741cbca4e41f6ebe119e50b69b0424bf513d9da", "transactionIndex": "0x2c", "blockHash": "0x07582c7a37bc0bd3aa60800db8faf43c7e3360202abd57c0c2942254587ce82b", "blockNumber": "0x6e4361", "gasUsed": "0x1b019", "effectiveGasPrice": "0x1cab03", "from": "0xaa2489debf1ef02ab83ba6cde4419e662de9254e", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [ "lib/base-contracts/script/universal/Simulation.sol:Simulation:0x06036C9d89F70b103d47CB3a9E4A069658A5C667" ], "pending": [], "returns": {}, "timestamp": 1733527237, "chain": 11155111, "commit": "a62c6dd" } ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/script/DeploySystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; contract DeploySystemConfig is Script { function run() public { vm.startBroadcast(); SystemConfig systemConfigImpl = new SystemConfig(); console.log("SystemConfig implementation deployed at: ", address(systemConfigImpl)); vm.stopBroadcast(); } } ================================================ FILE: sepolia/2024-12-06-increase-max-gas-limit/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {MultisigBuilder, Simulation} from "@base-contracts/script/universal/MultisigBuilder.sol"; interface IProxyAdmin { function upgrade(address _proxy, address _implementation) external; } interface IProxy { function implementation() external view returns (address); } contract UpgradeSystemConfig is MultisigBuilder { address internal SAFE_ADDRESS = vm.envAddress("SAFE_ADDRESS"); address internal PROXY_ADMIN_ADDRESS = vm.envAddress("PROXY_ADMIN_ADDRESS"); address internal SYSTEM_CONFIG_ADDRESS = vm.envAddress("SYSTEM_CONFIG_ADDRESS"); address internal NEW_IMPLEMENTATION = vm.envAddress("NEW_IMPLEMENTATION"); function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { // NOTE: Bypass `proxyCallIfNotAdmin` modifier. vm.prank(PROXY_ADMIN_ADDRESS); require(IProxy(SYSTEM_CONFIG_ADDRESS).implementation() == NEW_IMPLEMENTATION); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3); calls[0] = IMulticall3.Call3({ target: PROXY_ADMIN_ADDRESS, allowFailure: false, // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`). callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG_ADDRESS, NEW_IMPLEMENTATION)) }); return calls; } function _ownerSafe() internal view override returns (address) { return SAFE_ADDRESS; } } ================================================ FILE: sepolia/2025-01-23-upgrade-balance-tracker/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Foundry commands ## .PHONY: sim-upgrade sim-upgrade: forge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker --sig "run()" -vvvv .PHONY: upgrade upgrade: forge script --rpc-url $(L1_RPC_URL) UpgradeBalanceTracker --sig "run()" --broadcast -vvvv ================================================ FILE: sepolia/2025-01-23-upgrade-balance-tracker/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-01-23-upgrade-balance-tracker/records/UpgradeBalanceTracker.s.sol/11155111/run-1738252251.json ================================================ { "transactions": [ { "hash": "0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c", "transactionType": "CREATE", "contractName": "BalanceTracker", "contractAddress": "0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21", "function": null, "arguments": [ "0x5A822ea15764a6090b86B1EABfFc051cEC99AFE9" ], "transaction": { "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "gas": "0x11f9e4", "value": "0x0", "input": "0x60a060405234801561001057600080fd5b506040516110d53803806110d583398101604081905261002f9161017c565b6001600160a01b0381166100a55760405162461bcd60e51b815260206004820152603260248201527f42616c616e6365547261636b65723a2050524f4649545f57414c4c45542063616044820152716e6e6f74206265206164647265737328302960701b60648201526084015b60405180910390fd5b6001600160a01b0381166080526100ba6100c0565b506101ac565b600054610100900460ff16156101285760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840161009c565b60005460ff908116101561017a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561018e57600080fd5b81516001600160a01b03811681146101a557600080fd5b9392505050565b608051610f006101d56000396000818161016b0152818161087d01526108aa0152610f006000f3fe6080604052600436106100695760003560e01c8063927a1a7711610043578063927a1a7714610114578063981949e814610159578063ba69ebed1461018d57600080fd5b80630a565720146100aa5780636d1eb022146100dd5780637fbbe46f146100f257600080fd5b366100a55760405134815233907f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a9060200160405180910390a2005b600080fd5b3480156100b657600080fd5b506100ca6100c5366004610c5b565b6101a2565b6040519081526020015b60405180910390f35b3480156100e957600080fd5b506100ca601481565b3480156100fe57600080fd5b5061011261010d366004610d81565b6101c3565b005b34801561012057600080fd5b5061013461012f366004610c5b565b6106ca565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d4565b34801561016557600080fd5b506101347f000000000000000000000000000000000000000000000000000000000000000081565b34801561019957600080fd5b50610112610701565b603481815481106101b257600080fd5b600091825260209091200154905081565b600054600290610100900460ff161580156101e5575060005460ff8083169116105b610276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055825180610336576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f00000000606482015260840161026d565b60148111156103ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f42616c616e6365547261636b65723a2073797374656d41646472657373657320908201527f63616e6e6f7420686176652061206c656e67746820677265617465722074686160648201527f6e20323000000000000000000000000000000000000000000000000000000000608482015260a40161026d565b825181146104a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604760248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f616e642074617267657442616c616e636573206c656e677468206d757374206260648201527f6520657175616c00000000000000000000000000000000000000000000000000608482015260a40161026d565b60005b8181101561063557600073ffffffffffffffffffffffffffffffffffffffff168582815181106104d9576104d9610e5d565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420636f6e7461696e206164647265737328302900000000000000606482015260840161026d565b600084828151811061059857610598610e5d565b60200260200101511161062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f42616c616e6365547261636b65723a2074617267657442616c616e636573206360448201527f616e6e6f7420636f6e7461696e20302074617267657400000000000000000000606482015260840161026d565b6001016104a7565b508351610649906033906020870190610b81565b50825161065d906034906020860190610c0b565b50610666610921565b50600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b603381815481106106da57600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60026001540361076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026d565b600260015560335480610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603c60248201527f42616c616e6365547261636b65723a2073797374656d4164647265737365732060448201527f63616e6e6f7420686176652061206c656e677468206f66207a65726f00000000606482015260840161026d565b60005b818110156108745761086c6033828154811061082357610823610e5d565b6000918252602090912001546034805473ffffffffffffffffffffffffffffffffffffffff909216918490811061085c5761085c610e5d565b90600052602060002001546109c2565b600101610805565b504760006108a37f00000000000000000000000000000000000000000000000000000000000000005a84610ad0565b90508015157f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167fbadd9d7563efca77438dc132e885aa156837e0b784469f68fbd810cbfb6cda778460405161091091815260200190565b60405180910390a350506001805550565b600054610100900460ff166109b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161026d565b6109c0610ae4565b565b73ffffffffffffffffffffffffffffffffffffffff821631818110610a3a57604080516000808252602082018190529173ffffffffffffffffffffffffffffffffffffffff8616917f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c910160405180910390a3505050565b6000610a468284610e8c565b9050476000818311610a585782610a5a565b815b90506000610a69875a84610ad0565b90508015158773ffffffffffffffffffffffffffffffffffffffff167f74273f98770936abfe9aad12868d2dbe403347b74b7f3a539d0359c123d5d31c8685604051610abf929190918252602082015260400190565b60405180910390a350505050505050565b6000806000806000858888f1949350505050565b600054610100900460ff16610b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161026d565b60018055565b828054828255906000526020600020908101928215610bfb579160200282015b82811115610bfb57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190610ba1565b50610c07929150610c46565b5090565b828054828255906000526020600020908101928215610bfb579160200282015b82811115610bfb578251825591602001919060010190610c2b565b5b80821115610c075760008155600101610c47565b600060208284031215610c6d57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610cea57610cea610c74565b604052919050565b600067ffffffffffffffff821115610d0c57610d0c610c74565b5060051b60200190565b600082601f830112610d2757600080fd5b81356020610d3c610d3783610cf2565b610ca3565b82815260059290921b84018101918181019086841115610d5b57600080fd5b8286015b84811015610d765780358352918301918301610d5f565b509695505050505050565b60008060408385031215610d9457600080fd5b823567ffffffffffffffff80821115610dac57600080fd5b818501915085601f830112610dc057600080fd5b81356020610dd0610d3783610cf2565b82815260059290921b84018101918181019089841115610def57600080fd5b948201945b83861015610e3057853573ffffffffffffffffffffffffffffffffffffffff81168114610e215760008081fd5b82529482019490820190610df4565b96505086013592505080821115610e4657600080fd5b50610e5385828601610d16565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082821015610ec5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50039056fea2646970667358221220107f4708b221cb3330d6bf60ef5b3fd77dc7dadbffa0b50f05d00597f9c6fe4864736f6c634300080f00330000000000000000000000005a822ea15764a6090b86b1eabffc051cec99afe9", "nonce": "0x17", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95", "transactionType": "CALL", "contractName": null, "contractAddress": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0x16E4e4Cc0aa385Dcb683c25d3a8f38d84f649D21", "0x7fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea00000" ], "transaction": { "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "gas": "0x1644d", "value": "0x0", "input": "0x4f1ef28600000000000000000000000016e4e4cc0aa385dcb683c25d3a8f38d84f649d21000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001047fbbe46f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000ad78ebc5ac620000000000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000000000000000000", "nonce": "0x18", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x31881b", "logs": [ { "address": "0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e", "blockNumber": "0x740778", "transactionHash": "0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c", "transactionIndex": "0x1d", "logIndex": "0x2f", "removed": false } ], "logsBloom": "0x00000080000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000800000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x45f4dd35fb7bc1127e735191cce0a44ab61fccc065084a4f917018f5d0d1443c", "transactionIndex": "0x1d", "blockHash": "0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e", "blockNumber": "0x740778", "gasUsed": "0xdd4fb", "effectiveGasPrice": "0x3143c382d", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": null, "contractAddress": "0x16e4e4cc0aa385dcb683c25d3a8f38d84f649d21" }, { "status": "0x1", "cumulativeGasUsed": "0x328a10", "logs": [ { "address": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000016e4e4cc0aa385dcb683c25d3a8f38d84f649d21" ], "data": "0x", "blockHash": "0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e", "blockNumber": "0x740778", "transactionHash": "0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95", "transactionIndex": "0x1e", "logIndex": "0x30", "removed": false }, { "address": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e", "blockNumber": "0x740778", "transactionHash": "0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95", "transactionIndex": "0x1e", "logIndex": "0x31", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000001000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000400000000000000000000000000000000000000000000000000020000000000001000000000000000000000", "type": "0x2", "transactionHash": "0xaeb77a62a6de63be08a05100c6b6e5ccd3ca988960f0ba0df76bd8ab391b2b95", "transactionIndex": "0x1e", "blockHash": "0xa80f85b47d540bded1eb9fd9ee6dbdc4edd878f905f97eaf45cfcf2c84d9106e", "blockNumber": "0x740778", "gasUsed": "0x101f5", "effectiveGasPrice": "0x3143c382d", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x8d1b5e5614300f5c7ada01ffa4ccf8f1752d9a57", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1738252251, "chain": 11155111, "commit": "06f1d28" } ================================================ FILE: sepolia/2025-01-23-upgrade-balance-tracker/script/UpgradeBalanceTracker.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {BalanceTracker} from "@base-contracts/src/revenue-share/BalanceTracker.sol"; import {Proxy} from "@eth-optimism-bedrock/src/universal/Proxy.sol"; contract UpgradeBalanceTracker is Script { Proxy proxy; BalanceTracker balanceTracker; bytes initializeCall; address deployer; address payable profitWallet; address payable outputProposer; address payable batchSender; uint256 outputProposerTargetBalance; uint256 batchSenderTargetBalance; function setUp() public { deployer = vm.envAddress("BALANCE_TRACKER_DEPLOYER"); profitWallet = payable(vm.envAddress("PROFIT_WALLET")); outputProposer = payable(vm.envAddress("OUTPUT_PROPOSER")); batchSender = payable(vm.envAddress("BATCH_SENDER")); outputProposerTargetBalance = vm.envUint("OUTPUT_PROPOSER_TARGET_BALANCE"); batchSenderTargetBalance = vm.envUint("BATCH_SENDER_TARGET_BALANCE"); address payable proxyAddress = payable(vm.envAddress("BALANCE_TRACKER_PROXY")); console.log("Deployer: %s", deployer); console.log("Profit Wallet: %s", profitWallet); console.log("Output Proposer: %s", outputProposer); console.log("Batch Sender: %s", batchSender); console.log("Output Proposer Target Balance: %s", outputProposerTargetBalance); console.log("Batch Sender Target Balance: %s", batchSenderTargetBalance); console.log("Proxy Address: %s", proxyAddress); address payable[] memory systemAddresses = new address payable[](2); uint256[] memory targetBalances = new uint256[](2); systemAddresses[0] = outputProposer; systemAddresses[1] = batchSender; targetBalances[0] = outputProposerTargetBalance; targetBalances[1] = batchSenderTargetBalance; initializeCall = abi.encodeCall(BalanceTracker.initialize, (systemAddresses, targetBalances)); proxy = Proxy(proxyAddress); balanceTracker = BalanceTracker(payable(address(proxy))); _preChecks(); } function run() public { address balanceTrackerImpl = _deployImplementation(); _upgradeProxy(balanceTrackerImpl); _postChecks(balanceTrackerImpl); console.log("Balance Tracker Impl address: %s", address(balanceTrackerImpl)); console.log("Balance Tracker Proxy address: %s", address(proxy)); } function _deployImplementation() private returns (address) { vm.broadcast(deployer); return address(new BalanceTracker(profitWallet)); } function _upgradeProxy(address balanceTrackerImpl) private { vm.broadcast(deployer); proxy.upgradeToAndCall(balanceTrackerImpl, initializeCall); } function _preChecks() private view { require(balanceTracker.PROFIT_WALLET() == profitWallet, "Precheck: incorrect profit wallet"); require(balanceTracker.systemAddresses(0) != outputProposer, "Precheck: incorrect output proposer"); require(balanceTracker.systemAddresses(1) != batchSender, "Precheck: incorrect batch sender"); require( balanceTracker.targetBalances(0) == outputProposerTargetBalance, "Precheck: incorrect output proposer target balance" ); require( balanceTracker.targetBalances(1) == batchSenderTargetBalance, "Precheck: incorrect batch sender target balance" ); } function _postChecks(address balanceTrackerImpl) private { vm.prank(address(0)); require(proxy.implementation() == balanceTrackerImpl, "Postcheck: incorrect implementation"); require(balanceTracker.PROFIT_WALLET() == profitWallet, "Postcheck: incorrect profit wallet"); require(balanceTracker.systemAddresses(0) == outputProposer, "Postcheck: incorrect output proposer"); require(balanceTracker.systemAddresses(1) == batchSender, "Postcheck: incorrect batch sender"); require( balanceTracker.targetBalances(0) == outputProposerTargetBalance, "Postcheck: incorrect output proposer target balance" ); require( balanceTracker.targetBalances(1) == batchSenderTargetBalance, "Postcheck: incorrect batch sender target balance" ); } } ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif ## # NestedMultisigBuilder commands # The following commands can be used for tasks that utilize the NestedMultisigBuilder. # Note that --ledger --hd-paths can be replaced with --private-key $(PRIVATE_KEY) # in any command when using a local key. # See more documentation on the various steps in NestedMultisigBuilder.sol. ## .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/README.md ================================================ # Upgrade Fault Proofs Status: EXECUTED https://sepolia.etherscan.io/tx/0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c ## Description This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-02-14-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Dispute Game Implementations ```bash make deploy ``` This will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction Coinbase signer: ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/VALIDATION.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the upgrade transactions. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Changes ### `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1` (`DisputeGameFactory`) - **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x00000000000000000000000068f600e592799c16d1b096616edbf1681fb9c0de`
**After**: `0x00000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0x68f600e592799c16D1b096616eDbf1681FB9c0De` to the newly deployed contract address (`0x71ff927ee7b96f873c249093846aa292f374aef4`). **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal. - **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x000000000000000000000000b7fb44a61fde2b9db28a84366e168b14d1a1b103`
**After**: `0x000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e222`
**Meaning**: Updates the `FaultDisputeGame` implementation address from `0xB7fB44a61fdE2b9DB28a84366e168b14D1a1b103` to the newly deployed contract address (`0x605b4248500c0a144e39bbb04c05c539e388e222`). **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal. You should also see nonce updates for the `ProxyAdminOwner` (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) and the address you're signing with. ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/addresses.json ================================================ { "faultDisputeGame": "0x605b4248500c0a144e39bbb04c05c539e388e222", "permissionedDisputeGame": "0x71ff927ee7b96f873c249093846aa292f374aef4" } ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1740598045.json ================================================ { "transactions": [ { "hash": "0x959fd4e59dab152c5c6995dd0a9d8e244c0b813b237f2067b67ddc108545a01f", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0x605b4248500c0a144e39bbb04c05c539e388e222", "function": null, "arguments": [ "0", "0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x674a99", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34", "nonce": "0x6", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xe23132ad95f1ca4a6dd0674dba51d46d803421e01479dfc67d25e4829f1ac635", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x71ff927ee7b96f873c249093846aa292f374aef4", "function": null, "arguments": [ "1", "0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x27A6128F707de3d99F89Bf09c35a4e0753E1B808", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x6a01f8", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0x7", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13f4a11", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x959fd4e59dab152c5c6995dd0a9d8e244c0b813b237f2067b67ddc108545a01f", "transactionIndex": "0x81", "blockHash": "0x8731b3635689713524ae3e90e748e2595646c21f8ac2952618bf0545f6b485c4", "blockNumber": "0x76e426", "gasUsed": "0x4f7ad6", "effectiveGasPrice": "0x14ea0fa28", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0x605b4248500c0a144e39bbb04c05c539e388e222" }, { "status": "0x1", "cumulativeGasUsed": "0x1b26e46", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xe23132ad95f1ca4a6dd0674dba51d46d803421e01479dfc67d25e4829f1ac635", "transactionIndex": "0xef", "blockHash": "0xe5e9e57503fab8b334563dde0d99acc384bdde130d99888c22944377a7dea23e", "blockNumber": "0x76e427", "gasUsed": "0x5191f1", "effectiveGasPrice": "0x158661088", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0x71ff927ee7b96f873c249093846aa292f374aef4" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1740598045, "chain": 11155111, "commit": "d866d94" } ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1740768733.json ================================================ { "transactions": [ { "hash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xd5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x27eaa", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x15dd2a3", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e22200000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3d5ce3c302dfed2ea3aa5f0a6a1d9c3b0468e751fdd47c7b6ad196d592d3af958464d4eda1edea343ca38b9151be7cc8001e4de27b56eb114e56b9de7db2d059b1c520698d15c39b3ebc5026f7a5e153837116e5cf6aa49ab90351087a24b510ba145e046f9ea9235bfca523bc309edc6b0173b19d8cf2d8cbba276161a259432661cf568fb5da4070a87f7a286ae806604d2c958cabe12d8906a1b41d752491717af7b4b9724f363a8a2e388906f3a8e229cc9e1ba8696b28a83bf4301afeab073331c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0", "blockNumber": "0x771993", "transactionHash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionIndex": "0xdc", "logIndex": "0xc2", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000605b4248500c0a144e39bbb04c05c539e388e222", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0", "blockNumber": "0x771993", "transactionHash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionIndex": "0xdc", "logIndex": "0xc3", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000071ff927ee7b96f873c249093846aa292f374aef4", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0", "blockNumber": "0x771993", "transactionHash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionIndex": "0xdc", "logIndex": "0xc4", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8df062d0be6ef3f76009bbff88fe6a8d535de83e9c3f3e3652b21b5fa707b6430000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0", "blockNumber": "0x771993", "transactionHash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionIndex": "0xdc", "logIndex": "0xc5", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000002000000000000000000000000000000000048000000000000400000000000000000004000000040000140000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000000400000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000000001000000000000040000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x77e5103ef33ab5f6d30c14dfad94ac1c6fd902b714df67d01191b75dd3f28e0c", "transactionIndex": "0xdc", "blockHash": "0x466f730b3961f5d88852608a6e3837a557277eb87b03802be51c0502196dfff0", "blockNumber": "0x771993", "gasUsed": "0x1b4b2", "effectiveGasPrice": "0xbb55f2ab", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1740768733, "chain": 11155111, "commit": "00bb837" } ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import { FaultDisputeGame, IAnchorStateRegistry, IDelayedWETH, IBigStepper } from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); DisputeGameFactory dgfProxy; uint256 maxGameDepth; uint256 splitDepth; uint256 l2ChainId; address proposer; address challenger; Duration clockExtension; Duration maxClockDuration; IDelayedWETH faultDisputeGameWeth; IDelayedWETH permissionedDisputeGameWeth; IAnchorStateRegistry anchorStateRegistry; IBigStepper bigStepper; function setUp() public { dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); absolutePrestate = currentFdg.absolutePrestate(); maxGameDepth = currentFdg.maxGameDepth(); splitDepth = currentFdg.splitDepth(); clockExtension = currentFdg.clockExtension(); maxClockDuration = currentFdg.maxClockDuration(); bigStepper = currentFdg.vm(); faultDisputeGameWeth = currentFdg.weth(); anchorStateRegistry = currentFdg.anchorStateRegistry(); l2ChainId = currentFdg.l2ChainId(); permissionedDisputeGameWeth = currentPdg.weth(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); } function run() public { (address fdg, address pdg) = _deployContracts(); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { vm.startBroadcast(); address fdg = address( new FaultDisputeGame( GameTypes.CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, faultDisputeGameWeth, anchorStateRegistry, l2ChainId ) ); address pdg = address( new PermissionedDisputeGame( GameTypes.PERMISSIONED_CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, permissionedDisputeGameWeth, anchorStateRegistry, l2ChainId, proposer, challenger ) ); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: sepolia/2025-02-14-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {MultisigBuilder} from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {GameTypes, GameType, Duration, Hash} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {FaultDisputeGame} from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is MultisigBuilder { using stdJson for string; address internal _OWNER_SAFE = vm.envAddress("OWNER_SAFE"); DisputeGameFactory dgfProxy; address fdgImpl; address pdgImpl; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = DisputeGameFactory(SystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(GameTypes.CANNON, fdgImpl); _precheckDisputeGameImplementation(GameTypes.PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(GameType targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType.raw()); FaultDisputeGame currentImpl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(targetGameType)))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } FaultDisputeGame faultDisputeGame = FaultDisputeGame(newImpl); require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), "10"); require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), "20"); require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require( uint64(Duration.unwrap(currentImpl.maxClockDuration())) == uint64(Duration.unwrap(faultDisputeGame.maxClockDuration())), "70" ); require( uint64(Duration.unwrap(currentImpl.clockExtension())) == uint64(Duration.unwrap(faultDisputeGame.clockExtension())), "80" ); if (targetGameType.raw() == GameTypes.PERMISSIONED_CANNON.raw()) { PermissionedDisputeGame currentPDG = PermissionedDisputeGame(address(currentImpl)); PermissionedDisputeGame permissionedDisputeGame = PermissionedDisputeGame(address(faultDisputeGame)); require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), "90"); require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(address(dgfProxy.gameImpls(GameTypes.CANNON)) == fdgImpl, "post-110"); require(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON)) == pdgImpl, "post-120"); _postcheckHasAnchorState(GameTypes.CANNON); _postcheckHasAnchorState(GameTypes.PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(GameType gameType) internal view { console.log("check anchor state exists", gameType.raw()); FaultDisputeGame impl = FaultDisputeGame(address(dgfProxy.gameImpls(GameType(gameType)))); (Hash root, uint256 rootBlockNumber) = FaultDisputeGame(address(impl)).anchorStateRegistry().anchors(gameType); require(root.raw() != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2); calls[0] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(DisputeGameFactory.setImplementation, (GameTypes.CANNON, IDisputeGame(fdgImpl))) }); calls[1] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall( DisputeGameFactory.setImplementation, (GameTypes.PERMISSIONED_CANNON, IDisputeGame(pdgImpl)) ) }); return calls; } function _ownerSafe() internal view override returns (address) { return _OWNER_SAFE; } } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address)" $(SAFE_A) .PHONY: sign-b sign-b: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address)" $(SAFE_B) # This step is run once per "child" safe, and can be run by anyone (doesn't have to be a signer) .PHONY: approve approve: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address,bytes)" $(SAFE_A) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: approve-b approve-b: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address,bytes)" $(SAFE_B) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast # This step is run once after all children safes have approved and can be run by anyone (doesn't have to be a signer) .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/README.md ================================================ # Upgrade Fault Proofs Status: EXECUTED https://sepolia.etherscan.io/tx/0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4 ## Description This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-03-12-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Dispute Game Implementations ```bash make deploy ``` This will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/VALIDATION.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the upgrade transactions. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Sepolia State Overrides ### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Nested Safe [For CB Signers] `0x646132A1667ca7aD00d36616AFBA1A28116C770A` (`CB Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ## Sepolia State Changes ### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000012`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000013`
**Meaning**: Nonce increment. #### For CB Signers - **Key**: `0xb8af1766c34180f8ca25988586bcc2d31b0506d064a8da05beb4a6e443b79e71`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Sets an approval for this transaction from the signer. **Verify**: Compute the expected key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` ### Nested Safe [For CB Signers] `0x646132A1667ca7aD00d36616AFBA1A28116C770A` (`CB Nested Safe`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Nonce increment. ### `0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1` (`DisputeGameFactory`) - **Key**: `0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e`
**Before**: `0x000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16`
**After**: `0x00000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f`
**Meaning**: Updates the `PermissionedDisputeGame` implementation address from `0xcca6a4916fa6de5d671cc77760a3b10b012cca16` to `0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f`. **Verify**: You can verify the key derivation by running `cast index uint32 1 101` in your terminal. - **Key**: `0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b`
**Before**: `0x0000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb279`
**After**: `0x00000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b`
**Meaning**: Updates the `FaultDisputeGame` implementation address from `0x9cd8b02e84df3ef61db3b34123206568490cb279` to `0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b`. **Verify**: You can verify the key derivation by running `cast index uint32 0 101` in your terminal. ### Signing Address Nonce increment. ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/addresses.json ================================================ { "faultDisputeGame": "0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b", "permissionedDisputeGame": "0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1741808714.json ================================================ { "transactions": [ { "hash": "0xc3c95b71b3b100c8e837317a428c9fc2698b07883fbe50de54a29fff45dda4c3", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0x9cd8b02e84df3ef61db3b34123206568490cb279", "function": null, "arguments": [ "0", "0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x674a99", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34", "nonce": "0xa", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x445fa39934c8b95c530b60699d80cb6fe7f58712bf6d698c5224bff6c0c8e270", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0xcca6a4916fa6de5d671cc77760a3b10b012cca16", "function": null, "arguments": [ "1", "0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x27A6128F707de3d99F89Bf09c35a4e0753E1B808", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x6a01f8", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0xb", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x503376", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc3c95b71b3b100c8e837317a428c9fc2698b07883fbe50de54a29fff45dda4c3", "transactionIndex": "0x1", "blockHash": "0x8d77e783fb5d4b7250fd563b7a251d7309c6ed6d7026c9c77b096bc1ba7e0622", "blockNumber": "0x786081", "gasUsed": "0x4f7ad6", "effectiveGasPrice": "0x26e7ff09e", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0x9cd8b02e84df3ef61db3b34123206568490cb279" }, { "status": "0x1", "cumulativeGasUsed": "0xa1c567", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x445fa39934c8b95c530b60699d80cb6fe7f58712bf6d698c5224bff6c0c8e270", "transactionIndex": "0x2", "blockHash": "0x8d77e783fb5d4b7250fd563b7a251d7309c6ed6d7026c9c77b096bc1ba7e0622", "blockNumber": "0x786081", "gasUsed": "0x5191f1", "effectiveGasPrice": "0x26e7ff09e", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0xcca6a4916fa6de5d671cc77760a3b10b012cca16" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1741808714, "chain": 11155111, "commit": "fe21b92" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1743014041.json ================================================ { "transactions": [ { "hash": "0x9be0564bb34ff311914554d06cdf62fc3254837c8fa6aa1acecd9e399eb3b4c9", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b", "function": null, "arguments": [ "0", "0x0354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee01", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x674a99", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620064b1380380620064b1833981016040819052620000359162000435565b620000436001607e6200050c565b60ff168811156200006757604051633beff19960e11b815260040160405180910390fd5b600019871480620000845750876200008188600162000532565b10155b15620000a35760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000c65760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000173573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019991906200056d565b1115620001b95760405163b4e1243360e01b815260040160405180910390fd5b6000620001da876001600160401b0316620003e260201b62000c891760201c565b620001f0906001600160401b0316600262000587565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025991906200054d565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000297573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bd91906200056d565b620002dc896001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316620002f1919062000532565b905060006200030c8383620003e560201b62003a261760201c565b90506001600160401b03811115620003375760405163235dfb2b60e21b815260040160405180910390fd5b62000356886001600160401b0316620003e260201b62000c891760201c565b6001600160401b0316816001600160401b03161115620003895760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b039081166101005290811661014052166101605261018052620005a9565b90565b6000818311620003f65781620003f8565b825b9392505050565b80516001600160401b03811681146200041757600080fd5b919050565b6001600160a01b03811681146200043257600080fd5b50565b6000806000806000806000806000806101408b8d0312156200045657600080fd5b8a5163ffffffff811681146200046b57600080fd5b809a505060208b0151985060408b0151975060608b015196506200049260808c01620003ff565b9550620004a260a08c01620003ff565b945060c08b0151620004b4816200041c565b60e08c0151909450620004c7816200041c565b6101008c0151909350620004db816200041c565b809250506101208b015190509295989b9194979a5092959850565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff841680821015620005295762000529620004f6565b90039392505050565b60008219821115620005485762000548620004f6565b500190565b6000602082840312156200056057600080fd5b8151620003f8816200041c565b6000602082840312156200058057600080fd5b5051919050565b6000816000190483118215151615620005a457620005a4620004f6565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615d826200072f600039600081816106bb01528181611fbb015281816120260152612059015260008181610a1e01526139390152600081816106130152818161178a01526125e80152600081816105270152818161194c01528181612480015281816129ea0152613e1301526000818161088d015281816125a701526139c80152600081816104b401528181611eba015281816132420152613597015260008181610a7101528181610f6001528181611e2a01528181612089015281816120e801528181612bf60152612c38015260008181610aa401528181611c7301528181611d9901528181611ff7015281816130950152818161379601528181613f0a015281816146270152818161475501528181614856015261492b015260008181610b4b01528181611d3c01528181611e8e01528181612d0601528181612d8c01528181612f8b01526130b601526000818161078601526131540152615d826000f3fe6080604052600436106102f25760003560e01c806370872aa51161018f578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b18578063fa315aa914610b3c578063fe2bbeb214610b6f57600080fd5b8063ec5e630814610a95578063eff0f59214610ac8578063f8f43ff614610af857600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a0f578063d8cc1a3c14610a42578063dabd396d14610a6257600080fd5b8063c6f0308c14610937578063cf09e0d0146109c1578063d5d44d80146109e257600080fd5b80638d450a9511610143578063bcef3b551161011d578063bcef3b55146108b7578063bd8da956146108f7578063c395e1ca1461091757600080fd5b80638d450a9514610777578063a445ece6146107aa578063bbdc02db1461087657600080fd5b80638129fc1c116101745780638129fc1c1461071a5780638980e0cc146107225780638b85902b1461073757600080fd5b806370872aa5146106f25780637b0f0adc1461070757600080fd5b80633fc8cef3116102485780635c0cba33116101fc5780636361506d116101d65780636361506d1461066c5780636b6716c0146106ac5780636f034409146106df57600080fd5b80635c0cba3314610604578063609d33341461063757806360e274641461064c57600080fd5b806354fd4d501161022d57806354fd4d501461055e57806357da950e146105b45780635a5fa2d9146105e457600080fd5b80633fc8cef314610518578063472777c61461054b57600080fd5b80632810e1d6116102aa57806337b1b2291161028457806337b1b229146104655780633a768463146104a55780633e3ac912146104d857600080fd5b80632810e1d6146103de5780632ad69aeb146103f357806330dbe5701461041357600080fd5b806319effeb4116102db57806319effeb414610339578063200d2ed21461038457806325fc2ace146103bf57600080fd5b806301935130146102f757806303c2924d14610319575b600080fd5b34801561030357600080fd5b506103176103123660046154e1565b610b9f565b005b34801561032557600080fd5b5061031761033436600461553c565b610ec0565b34801561034557600080fd5b506000546103669068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561039057600080fd5b506000546103b290700100000000000000000000000000000000900460ff1681565b60405161037b919061558d565b3480156103cb57600080fd5b506008545b60405190815260200161037b565b3480156103ea57600080fd5b506103b2611566565b3480156103ff57600080fd5b506103d061040e36600461553c565b61180b565b34801561041f57600080fd5b506001546104409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161037b565b34801561047157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610440565b3480156104b157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b3480156104e457600080fd5b50600054610508907201000000000000000000000000000000000000900460ff1681565b604051901515815260200161037b565b34801561052457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b6103176105593660046155ce565b611841565b34801561056a57600080fd5b506105a76040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161037b9190615665565b3480156105c057600080fd5b506008546009546105cf919082565b6040805192835260208301919091520161037b565b3480156105f057600080fd5b506103d06105ff366004615678565b611853565b34801561061057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610440565b34801561064357600080fd5b506105a761188d565b34801561065857600080fd5b506103176106673660046156b6565b61189b565b34801561067857600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103d0565b3480156106b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b6103176106ed3660046156e8565b611a42565b3480156106fe57600080fd5b506009546103d0565b6103176107153660046155ce565b61251b565b610317612528565b34801561072e57600080fd5b506002546103d0565b34801561074357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103d0565b34801561078357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b3480156107b657600080fd5b506108226107c5366004615678565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff16606082015260800161037b565b34801561088257600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161037b565b3480156108c357600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103d0565b34801561090357600080fd5b50610366610912366004615678565b612a81565b34801561092357600080fd5b506103d0610932366004615727565b612c60565b34801561094357600080fd5b50610957610952366004615678565b612e43565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e00161037b565b3480156109cd57600080fd5b506000546103669067ffffffffffffffff1681565b3480156109ee57600080fd5b506103d06109fd3660046156b6565b60036020526000908152604090205481565b348015610a1b57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610a4e57600080fd5b50610317610a5d366004615759565b612eda565b348015610a6e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610366565b348015610aa157600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610ad457600080fd5b50610508610ae3366004615678565b60046020526000908152604090205460ff1681565b348015610b0457600080fd5b50610317610b133660046155ce565b613509565b348015610b2457600080fd5b50610b2d6139c6565b60405161037b939291906157e3565b348015610b4857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103d0565b348015610b7b57600080fd5b50610508610b8a366004615678565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610bcb57610bcb61555e565b14610c02576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c55576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c8c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610ca3610c9e36869003860186615837565b613a40565b14610cda576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cef9291906158c4565b604051809103902014610d2e576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d77610d7284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613a9c92505050565b613b09565b90506000610d9e82600881518110610d9157610d916158d4565b6020026020010151613cbf565b9050602081511115610ddc576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610e51576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610eec57610eec61555e565b14610f23576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610f3857610f386158d4565b906000526020600020906005020190506000610f5384612a81565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fbc576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611005576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561102257508515155b156110bd578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110555781611071565b600186015473ffffffffffffffffffffffffffffffffffffffff165b905061107d8187613d73565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff166060830152611160576fffffffffffffffffffffffffffffffff6040820152600181526000869003611160578195505b600086826020015163ffffffff166111789190615932565b90506000838211611189578161118b565b835b602084015190915063ffffffff165b818110156112d75760008682815481106111b6576111b66158d4565b6000918252602080832090910154808352600690915260409091205490915060ff1661120e576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028281548110611223576112236158d4565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112805750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b156112c257600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b505080806112cf9061594a565b91505061119a565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9093169290921790915584900361155b57606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558915801561145757506000547201000000000000000000000000000000000000900460ff165b156114cc5760015473ffffffffffffffffffffffffffffffffffffffff1661147f818a613d73565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611559565b61151373ffffffffffffffffffffffffffffffffffffffff8216156114f1578161150d565b600189015473ffffffffffffffffffffffffffffffffffffffff165b89613d73565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff1660028111156115945761159461555e565b146115cb576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661162f576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008154811061165b5761165b6158d4565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611696576001611699565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561174a5761174a61555e565b02179055600281111561175f5761175f61555e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b5050505090565b6005602052816000526040600020818154811061182757600080fd5b90600052602060002001600091509150505481565b905090565b61184e8383836001611a42565b505050565b6000818152600760209081526040808320600590925282208054825461188490610100900463ffffffff1682615982565b95945050505050565b606061183c60546020613e74565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040812080549082905590819003611900576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b15801561199057600080fd5b505af11580156119a4573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a02576040519150601f19603f3d011682016040523d82523d6000602084013e611a07565b606091505b505090508061184e576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054700100000000000000000000000000000000900460ff166002811115611a6e57611a6e61555e565b14611aa5576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110611aba57611aba6158d4565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514611ba1576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000611c61826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611c9c5750611c997f00000000000000000000000000000000000000000000000000000000000000006002615932565b81145b8015611ca6575084155b15611cdd576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611d03575086155b15611d3a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611d94576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dbf7f00000000000000000000000000000000000000000000000000000000000000006001615932565b8103611dd157611dd186888588613ec6565b34611ddb83612c60565b14611e12576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611e1d88612a81565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611e85576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611eb260017f0000000000000000000000000000000000000000000000000000000000000000615982565b8303611ff0577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615999565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb591906159b6565b611fe9907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159cf565b9050612083565b61201b60017f0000000000000000000000000000000000000000000000000000000000000000615982565b830361205657611fe97f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159fb565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6120b7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b67ffffffffffffffff166120d28367ffffffffffffffff1690565b67ffffffffffffffff16111561211957612116817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615a2b565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615612197576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c8152602001908152602001600020600160028054905061242d9190615982565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b1580156124c557600080fd5b505af11580156124d9573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b61184e8383836000611a42565b60005471010000000000000000000000000000000000900460ff161561257a576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561262e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126529190615a54565b90925090508161268e576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146126c157639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401351161275b576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b600080600054700100000000000000000000000000000000900460ff166002811115612aaf57612aaf61555e565b14612ae6576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110612afb57612afb6158d4565b600091825260208220600590910201805490925063ffffffff90811614612b6a57815460028054909163ffffffff16908110612b3957612b396158d4565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090612ba290700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b612bb69067ffffffffffffffff1642615982565b612bd5612b95846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16612be99190615932565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612c365780611884565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612cff836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612d5e576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612d798383615aa7565b9050670de0b6b3a76400006000612db0827f0000000000000000000000000000000000000000000000000000000000000000615abb565b90506000612dce612dc9670de0b6b3a764000086615abb565b614077565b90506000612ddc84846142d2565b90506000612dea8383614321565b90506000612df78261434f565b90506000612e1682612e11670de0b6b3a76400008f615abb565b614537565b90506000612e248b83614321565b9050612e30818d615abb565b9f9e505050505050505050505050505050565b60028181548110612e5357600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115612f0657612f0661555e565b14612f3d576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028781548110612f5257612f526158d4565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050612fb17f00000000000000000000000000000000000000000000000000000000000000006001615932565b61304d826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614613087576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561317e576130da7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615982565b6001901b6130f9846fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff166131159190615af8565b156131525761314961313a60016fffffffffffffffffffffffffffffffff8716615b0c565b865463ffffffff166000614607565b60030154613174565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506131a8565b600385015491506131a561313a6fffffffffffffffffffffffffffffffff86166001615b35565b90505b600882901b60088a8a6040516131bf9291906158c4565b6040518091039020901b14613200576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061320b8c6146eb565b9050600061321a836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290613294908f908f908f908f908a90600401615ba9565b6020604051808303816000875af11580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d791906159b6565b600485015491149150600090600290613382906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61341e896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6134289190615be3565b6134329190615c06565b60ff161590508115158103613473576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156134ca576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156135355761353561555e565b1461356c576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061357b8661471a565b9350935093509350600061359185858585614b23565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136249190615999565b90506001890361371c5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84613680367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156136f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061371691906159b6565b5061155b565b600289036137485773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8489613680565b600389036137745773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8487613680565b600489036138fb5760006137ba6fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614bdd565b6009546137c79190615932565b6137d2906001615932565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061383b57367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036054013561383d565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138f491906159b6565b505061155b565b60058903613994576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016136d3565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060613a1f61188d565b9050909192565b6000818311613a355781613a37565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613a7f949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613aeb576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b1985614c8b565b919450925090506001816001811115613b3457613b3461555e565b14613b6b576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613b778385615932565b14613bae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613bc55790505093506000835b8651811015613cb357600080613c386040518060400160405280858c60000151613c1c9190615982565b8152602001858c60200151613c319190615932565b9052614c8b565b509150915060405180604001604052808383613c549190615932565b8152602001848b60200151613c699190615932565b815250888581518110613c7e57613c7e6158d4565b6020908102919091010152613c94600185615932565b9350613ca08183615932565b613caa9084615932565b92505050613bf2565b50845250919392505050565b60606000806000613ccf85614c8b565b919450925090506000816001811115613cea57613cea61555e565b14613d21576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d2b8284615932565b855114613d64576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61188485602001518484615129565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff90931692839290613dc2908490615932565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613e5757600080fd5b505af1158015613e6b573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613ee56fffffffffffffffffffffffffffffffff84166001615b35565b90506000613ef582866001614607565b9050600086901a8380613fe15750613f2e60027f0000000000000000000000000000000000000000000000000000000000000000615af8565b6004830154600290613fd2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613fdc9190615c06565b60ff16145b156140395760ff811660011480613ffb575060ff81166002145b614034576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b613e6b565b60ff811615613e6b576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401612752565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136140d657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261430f57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561433f5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d7821361437d57919050565b680755bf798b4a1bf1e5821261439b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a37670de0b6b3a76400008361454f86614077565b6145599190615c28565b6145639190615ce4565b61434f565b6000806145f5837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826146505761464b6fffffffffffffffffffffffffffffffff86167f00000000000000000000000000000000000000000000000000000000000000006151be565b61466b565b61466b856fffffffffffffffffffffffffffffffff1661534a565b905060028481548110614680576146806158d4565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff8281169116146146e357815460028054909163ffffffff169081106146ce576146ce6158d4565b90600052602060002090600502019150614691565b509392505050565b60008060008060006146fc8661471a565b935093509350935061471084848484614b23565b9695505050505050565b600080600080600085905060006002828154811061473a5761473a6158d4565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614811906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161484b576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614912906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561498757825463ffffffff166149517f00000000000000000000000000000000000000000000000000000000000000006001615932565b830361495b578391505b6002818154811061496e5761496e6158d4565b906000526020600020906005020193508094505061484f565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149f06149db856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015614abf576000614a28836fffffffffffffffffffffffffffffffff16614568565b6fffffffffffffffffffffffffffffffff161115614a93576000614a6a614a6260016fffffffffffffffffffffffffffffffff8616615b0c565b896001614607565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a50614a999050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614b15565b6000614ae1614a626fffffffffffffffffffffffffffffffff85166001615b35565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614b905760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611884565b8282604051602001614bbe9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614c6a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614cce576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614cf3576000600160009450945094505050615122565b60b78111614e09576000614d08608083615982565b905080876000015111614d47576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614dbf57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614df6576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250615122915050565b60bf8111614f67576000614e1e60b783615982565b905080876000015111614e5d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ebf576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f07576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f118184615932565b895111614f4a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f55836001615932565b97509550600094506151229350505050565b60f78111614fcc576000614f7c60c083615982565b905080876000015111614fbb576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250615122915050565b6000614fd960f783615982565b905080876000015111615018576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361507a576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c603781116150c2576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6150cc8184615932565b895111615105576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615110836001615932565b97509550600194506151229350505050565b9193909250565b60608167ffffffffffffffff81111561514457615144615808565b6040519080825280601f01601f19166020018201604052801561516e576020820181803683370190505b50905081156151b75760006151838486615932565b90506020820160005b848110156151a457828101518282015260200161518c565b848111156151b3576000858301525b5050505b9392505050565b60008161525d846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152735763b34b5c226000526004601cfd5b61527c8361534a565b90508161531b826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a3a57613a37615331836001615932565b6fffffffffffffffffffffffffffffffff8316906153ef565b600081196001830116816153de827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061547c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154aa57600080fd5b50813567ffffffffffffffff8111156154c257600080fd5b6020830191508360208285010111156154da57600080fd5b9250929050565b600080600083850360a08112156154f757600080fd5b608081121561550557600080fd5b50839250608084013567ffffffffffffffff81111561552357600080fd5b61552f86828701615498565b9497909650939450505050565b6000806040838503121561554f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600383106155c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806000606084860312156155e357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561562057602081850181015186830182015201615604565b81811115615632576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a3760208301846155fa565b60006020828403121561568a57600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146156b357600080fd5b50565b6000602082840312156156c857600080fd5b81356151b781615691565b803580151581146156e357600080fd5b919050565b600080600080608085870312156156fe57600080fd5b84359350602085013592506040850135915061571c606086016156d3565b905092959194509250565b60006020828403121561573957600080fd5b81356fffffffffffffffffffffffffffffffff811681146151b757600080fd5b6000806000806000806080878903121561577257600080fd5b86359550615782602088016156d3565b9450604087013567ffffffffffffffff8082111561579f57600080fd5b6157ab8a838b01615498565b909650945060608901359150808211156157c457600080fd5b506157d189828a01615498565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061188460608301846155fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006080828403121561584957600080fd5b6040516080810181811067ffffffffffffffff82111715615893577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561594557615945615903565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361597b5761597b615903565b5060010190565b60008282101561599457615994615903565b500390565b6000602082840312156159ab57600080fd5b81516151b781615691565b6000602082840312156159c857600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159f2576159f2615903565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615a2257615a22615903565b02949350505050565b600067ffffffffffffffff83811690831681811015615a4c57615a4c615903565b039392505050565b60008060408385031215615a6757600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615ab657615ab6615a78565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615af357615af3615903565b500290565b600082615b0757615b07615a78565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615a4c57615a4c615903565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156159f2576159f2615903565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615bbd606083018789615b60565b8281036020840152615bd0818688615b60565b9150508260408301529695505050505050565b600060ff821660ff841680821015615bfd57615bfd615903565b90039392505050565b600060ff831680615c1957615c19615a78565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615c6957615c69615903565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ca457615ca4615903565b60008712925087820587128484161615615cc057615cc0615903565b87850587128184161615615cd657615cd6615903565b505050929093029392505050565b600082615cf357615cf3615a78565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615d4757615d47615903565b50059056fea264697066735822122009f1e45c4f315024e4f04a5b89d32ce43577e96a7582781ac417a31839b953d364736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000000354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee010000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce01000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34", "nonce": "0x2a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa38f8816db0369338432333bcb42b82683eabe981add85a727e15053ef49bfe7", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f", "function": null, "arguments": [ "1", "0x0354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee01", "73", "30", "10800", "302400", "0x69470D6970Cd2A006b84B1d4d70179c892cFCE01", "0x27A6128F707de3d99F89Bf09c35a4e0753E1B808", "0x4C8BA32A5DAC2A720bb35CeDB51D6B067D104205", "84532", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "gas": "0x6a01f8", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3100000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220bc931b2ee20208c16632a7dcd9ed8f036d3c35b01291fc2486bcabad1f932bbb64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010354eee87a1775d96afee8977ef6d5d6bd3612b256170952a01bf1051610ee010000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000069470d6970cd2a006b84b1d4d70179c892cfce0100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000004c8ba32a5dac2a720bb35cedb51d6b067d1042050000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0x2b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x17b9c44", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9be0564bb34ff311914554d06cdf62fc3254837c8fa6aa1acecd9e399eb3b4c9", "transactionIndex": "0x5d", "blockHash": "0x2471593ab027117ca408f39f0a66ba8a8dac103f4a72f4d36ec35ccd586c39b1", "blockNumber": "0x79dfec", "gasUsed": "0x4f7ad6", "effectiveGasPrice": "0xd3440318", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0x76d7f861bbc8cbef20bad1a3f385eb95dd22306b" }, { "status": "0x1", "cumulativeGasUsed": "0x1ce3494", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa38f8816db0369338432333bcb42b82683eabe981add85a727e15053ef49bfe7", "transactionIndex": "0x5f", "blockHash": "0x2471593ab027117ca408f39f0a66ba8a8dac103f4a72f4d36ec35ccd586c39b1", "blockNumber": "0x79dfec", "gasUsed": "0x5191f1", "effectiveGasPrice": "0xd3440318", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": null, "contractAddress": "0x58d465e2e31b811fdbbe5461627a0a88c3c1be2f" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743014041, "chain": 11155111, "commit": "774edec" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x24663", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x879c53", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "logIndex": "0x71", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb6e6351c545c91626a847c43d1d7c3c1329bc2dee25a18912ae28cc460a5ddd80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "logIndex": "0x72", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "gasUsed": "0x1a5a4", "effectiveGasPrice": "0x4efe860f", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743022789, "chain": 11155111, "commit": "d59ef03" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1741902924.json ================================================ { "transactions": [ { "hash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca1600000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x27eaa", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xabb03c", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb27900000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3ab6f3448f83421084d88c034af68d616fbe6ae4805edeef89ed8254cd698e231187ded090ef1e3f93afbcbff04243c5caa6ce0d4eb3a3e6c1938d72a78d3b5951c07f086cc26f31a2ab81d4679249f7dfce82da306227e13d2c434f8e913460a8a777063bc1b0a832f3f55fbd9bf01d2fb2c07f32b0ac9453abd4bba9859c3e73a1b96c5a03ba5e83b328c1b2876e9c66d991b5eaaaccc7a3a9ba8513862fbaf0b603f7a51f2afe1b6dfd57f5b799cfb602b37f312d29cebd0d4439c7224cd7efbed1b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33", "blockNumber": "0x787d64", "transactionHash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionIndex": "0x81", "logIndex": "0xac", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000009cd8b02e84df3ef61db3b34123206568490cb279", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33", "blockNumber": "0x787d64", "transactionHash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionIndex": "0x81", "logIndex": "0xad", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000cca6a4916fa6de5d671cc77760a3b10b012cca16", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33", "blockNumber": "0x787d64", "transactionHash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionIndex": "0x81", "logIndex": "0xae", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x70e917f84f42536c13ff9dbdcdb7f0f9d4be6964380f3215f4bcd3f39168554c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33", "blockNumber": "0x787d64", "transactionHash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionIndex": "0x81", "logIndex": "0xaf", "removed": false } ], "logsBloom": "0x00000000400004000000200000000000000000000000000000000080044000000000000200000000000000000000000000000000000000000000000000048000000000000404000000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000001000000000000000000000000000000000400100000000000000004000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0xdf0e41681492a95315a94e19afc6669702f605299a28afd71c35204a03b0faae", "transactionIndex": "0x81", "blockHash": "0xce7de570673cf15254415b72977fb4406726e69601f16e91486627756ce6ca33", "blockNumber": "0x787d64", "gasUsed": "0x1b4b2", "effectiveGasPrice": "0x81caa6", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1741902924, "chain": 11155111, "commit": "a2556de" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022548.json ================================================ { "transactions": [ { "hash": "0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf22ccc04db6ca82cca4d8ecd551ffc166cd58cd1849869d4e3a4d0cdf814650d15375fa4b21f5c1e7d9b811033ac6c3b85885ac609cbcf853c6826add9d7ac611cb6064ed3727c360f6de90ac02966eac697f80e88e258876c95b7e70fba11e2ba2ed5b38b688a4dca753ae88d2d7097ba523d331e3fedf781a70ee7532e598e181c07ebcd019f6254bbb558ff2e70b0196a08d5743bc441d3da9a23d55f7178be6c0b92b753c5f0f022091c0a3c4657a27e4c828d11d1c330c3ba49a87a030e53d51c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x29134", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f22ccc04db6ca82cca4d8ecd551ffc166cd58cd1849869d4e3a4d0cdf814650d15375fa4b21f5c1e7d9b811033ac6c3b85885ac609cbcf853c6826add9d7ac611cb6064ed3727c360f6de90ac02966eac697f80e88e258876c95b7e70fba11e2ba2ed5b38b688a4dca753ae88d2d7097ba523d331e3fedf781a70ee7532e598e181c07ebcd019f6254bbb558ff2e70b0196a08d5743bc441d3da9a23d55f7178be6c0b92b753c5f0f022091c0a3c4657a27e4c828d11d1c330c3ba49a87a030e53d51c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x154baa2", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236", "blockNumber": "0x79e2aa", "transactionHash": "0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9", "transactionIndex": "0xa3", "logIndex": "0x174", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4e518e529af7a4e9063bf89378d62dba65e3f6e76564002b75000ffccc432ec40000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236", "blockNumber": "0x79e2aa", "transactionHash": "0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9", "transactionIndex": "0xa3", "logIndex": "0x175", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000800000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0xbb085665165d455e1e3bcc336b7eb8845b3bf6ae801db62b00d1d0f840a228b9", "transactionIndex": "0xa3", "blockHash": "0xca3adffb91b71cec0fc81b78918e68eb74101a0fa82b9a107e9d67e13e9e0236", "blockNumber": "0x79e2aa", "gasUsed": "0x1dbcf", "effectiveGasPrice": "0x3ab1dbd8", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743022548, "chain": 11155111, "commit": "d59ef03" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022789.json ================================================ { "transactions": [ { "hash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e0813621500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x24663", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413c6e1874c4c2aba140a920c8465fdd8b86497c31ca25aa1126f7d26d7ddc9c852693fa40516cf466e123f43208375b1cbc3f2774d77a9712ee7901c3450e96851c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x879c53", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e08136215", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "logIndex": "0x71", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb6e6351c545c91626a847c43d1d7c3c1329bc2dee25a18912ae28cc460a5ddd80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "logIndex": "0x72", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000010000000000000000000000100000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x8fb8ceb96e6aef263f54d5e566aa20747e4a5d454b18f2ea6b37181b3a186bcd", "transactionIndex": "0x5e", "blockHash": "0x6c44eca49f1aefb2a9fb5e1a9c1aebed6e67025d55de5127db6df94a256e6616", "blockNumber": "0x79e2be", "gasUsed": "0x1a5a4", "effectiveGasPrice": "0x4efe860f", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743022789, "chain": 11155111, "commit": "d59ef03" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1743022908.json ================================================ { "transactions": [ { "hash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x220f8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x99747f", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000120000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b", "blockNumber": "0x79e2c8", "transactionHash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionIndex": "0x5f", "logIndex": "0x9c", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000076d7f861bbc8cbef20bad1a3f385eb95dd22306b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b", "blockNumber": "0x79e2c8", "transactionHash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionIndex": "0x5f", "logIndex": "0x9d", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000058d465e2e31b811fdbbe5461627a0a88c3c1be2f", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b", "blockNumber": "0x79e2c8", "transactionHash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionIndex": "0x5f", "logIndex": "0x9e", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xef98b0515031f92c2834fcc96ffd18a141d31ac6875228500d99c30e081362150000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b", "blockNumber": "0x79e2c8", "transactionHash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionIndex": "0x5f", "logIndex": "0x9f", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000100000000000000080000000000000000000048000000000000402002000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000080000000000000000000000400000000000000000000000000000100", "type": "0x2", "transactionHash": "0xec809a93b8c946a64587fff87ac64586a3e17a5626b916279e39c87854a94bf4", "transactionIndex": "0x5f", "blockHash": "0xa25b84ef728e09b889f14c8208c5e3f3289344d9ada797b534d6854f333bd41b", "blockNumber": "0x79e2c8", "gasUsed": "0x18a8d", "effectiveGasPrice": "0x556a560d", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1743022908, "chain": 11155111, "commit": "d59ef03" } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import { FaultDisputeGame, IAnchorStateRegistry, IDelayedWETH, IBigStepper } from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, Duration, Claim, LibClaim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; using LibClaim for Claim; SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim immutable absolutePrestate; DisputeGameFactory dgfProxy; uint256 maxGameDepth; uint256 splitDepth; uint256 l2ChainId; address proposer; address challenger; Duration clockExtension; Duration maxClockDuration; IDelayedWETH faultDisputeGameWeth; IDelayedWETH permissionedDisputeGameWeth; IAnchorStateRegistry anchorStateRegistry; IBigStepper bigStepper; constructor() { absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); } function setUp() public { dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); maxGameDepth = currentFdg.maxGameDepth(); splitDepth = currentFdg.splitDepth(); clockExtension = currentFdg.clockExtension(); maxClockDuration = currentFdg.maxClockDuration(); bigStepper = currentFdg.vm(); faultDisputeGameWeth = currentFdg.weth(); anchorStateRegistry = currentFdg.anchorStateRegistry(); l2ChainId = currentFdg.l2ChainId(); permissionedDisputeGameWeth = currentPdg.weth(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); } function _postCheck(address fdg, address pdg) private view { require(FaultDisputeGame(fdg).absolutePrestate().raw() == vm.envBytes32("ABSOLUTE_PRESTATE"), "Postcheck 1"); require( PermissionedDisputeGame(pdg).absolutePrestate().raw() == vm.envBytes32("ABSOLUTE_PRESTATE"), "Postcheck 2" ); } function run() public { console.log("FDG Args:"); console.logBytes( abi.encode( GameTypes.CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, faultDisputeGameWeth, anchorStateRegistry, l2ChainId ) ); console.log("PDG Args:"); console.logBytes( abi.encode( GameTypes.PERMISSIONED_CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, permissionedDisputeGameWeth, anchorStateRegistry, l2ChainId, proposer, challenger ) ); (address fdg, address pdg) = _deployContracts(); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { vm.startBroadcast(); address fdg = address( new FaultDisputeGame( GameTypes.CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, faultDisputeGameWeth, anchorStateRegistry, l2ChainId ) ); address pdg = address( new PermissionedDisputeGame( GameTypes.PERMISSIONED_CANNON, absolutePrestate, maxGameDepth, splitDepth, clockExtension, maxClockDuration, bigStepper, permissionedDisputeGameWeth, anchorStateRegistry, l2ChainId, proposer, challenger ) ); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: sepolia/2025-03-12-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {NestedMultisigBuilder} from "@base-contracts/script/universal/NestedMultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IDisputeGameFactory { function gameImpls(uint32) external view returns (address); function setImplementation(uint32, address) external; } interface IPermissionedDisputeGame { function challenger() external view returns (address); function proposer() external view returns (address); } interface ISystemConfig { function disputeGameFactory() external view returns (address); } interface IFaultDisputeGame { function vm() external view returns (address); function weth() external view returns (address); function anchorStateRegistry() external view returns (address); function l2ChainId() external view returns (uint64); function splitDepth() external view returns (uint64); function maxGameDepth() external view returns (uint64); function maxClockDuration() external view returns (uint64); function clockExtension() external view returns (uint64); } interface IAnchorStateRegistry { function anchors(uint32) external view returns (bytes32, uint256); } /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is NestedMultisigBuilder { using stdJson for string; address internal _OWNER_SAFE = vm.envAddress("OWNER_SAFE"); uint32 private constant CANNON = 0; uint32 private constant PERMISSIONED_CANNON = 1; IDisputeGameFactory dgfProxy; address fdgImpl; address pdgImpl; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(CANNON, fdgImpl); _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType); IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl); require(address(currentImpl.vm()) == address(faultDisputeGame.vm()), "10"); require(address(currentImpl.weth()) == address(faultDisputeGame.weth()), "20"); require(address(currentImpl.anchorStateRegistry()) == address(faultDisputeGame.anchorStateRegistry()), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), "70"); require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), "80"); if (targetGameType == PERMISSIONED_CANNON) { IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl)); IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame)); require(address(currentPDG.proposer()) == address(permissionedDisputeGame.proposer()), "90"); require(address(currentPDG.challenger()) == address(permissionedDisputeGame.challenger()), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(address(dgfProxy.gameImpls(CANNON)) == fdgImpl, "post-110"); require(address(dgfProxy.gameImpls(PERMISSIONED_CANNON)) == pdgImpl, "post-120"); _postcheckHasAnchorState(CANNON); _postcheckHasAnchorState(PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(uint32 gameType) internal view { console.log("check anchor state exists", gameType); IFaultDisputeGame impl = IFaultDisputeGame(address(dgfProxy.gameImpls(gameType))); (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(IFaultDisputeGame(address(impl)).anchorStateRegistry()).anchors(gameType); require(root != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2); calls[0] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)) }); calls[1] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)) }); return calls; } function _ownerSafe() internal view override returns (address) { return _OWNER_SAFE; } } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deps deps: forge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604 .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySafes --account testnet-admin --broadcast -vvvv .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateSigners \ --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/README.md ================================================ # Mirror Mainnet Hierarchy Status: EXECUTED https://sepolia.etherscan.io/tx/0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684 ## Description This task contains two scripts. One for deploying new Gnosis Safe contracts, and one for updating the `ProxyAdminOwner` owners to be a 2-of-2 with 2 new safes as owners. The two new safes have the exact same owners as the current `ProxyAdminOwner`. One safe has the same threshold as the current `ProxyAdminOwner`, the other safe has a threshold of 1. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-03-14-mirror-mainnet-hierarchy make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Gnosis Safes ```bash make deploy ``` This will output the new addresses of the `GnosisSafe` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./Validation.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/Validation.md ================================================ # Validation This document can be used to validate the state diff resulting from the execution of the AddSigners transaction. For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## State Changes ### `0x0fe884546476dDd290eC46318785046ef68a0BA9` (`ProxyAdminOwner`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Before**: `0x000000000000000000000000000000000000000000000000000000000000000e`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**Meaning**: Decrease owner count from 14 to 2. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**Meaning**: Update threshold from 1 to 2. This is really decreasing from 3 to 2 but the simulation presents this way because of the state override. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000011`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000012`
**Meaning**: Nonce increment. - **Key**: `0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a`
**Meaning**: Adds `0x6af0674791925f767060dd52f7fb20984e8639d8` to the owners linked list pointing to `0x646132a1667ca7ad00d36616afba1a28116c770a` **Verify**: Verify key with `cast index address 0x6af0674791925f767060dd52f7fb20984e8639d8 2` - **Key**: `0xda056de0e460c75e5163abc19a3eb1ec6a9ada3e95462ea3fc0925b123fc73d9`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Adds `0x646132a1667ca7ad00d36616afba1a28116c770a` as the tail of the owners linked list. **Verify**: Verify key with `cast index address 0x646132a1667ca7ad00d36616afba1a28116c770a 2` - **Key**: `0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6`
**Before**: `0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0xee316db0edaee45347dfc498795a01311f085225` from the owners list. Was previously pointing to `0x420c8fE1dDb0593c71487445576c87c17f177179`. **Verify**: Verify key with `cast index address 0xee316db0edaee45347dfc498795a01311f085225 2` - **Key**: `0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd`
**Before**: `0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0xb2d9a52e76841279ef0372c534c539a4f68f8c0b` from the owners list. Was previously pointing to `0xee316db0edaee45347dfc498795a01311f085225`. **Verify**: Verify key with `cast index address 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b 2` - **Key**: `0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a`
**Before**: `0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0xa8c40cc18581ff25c0d2605631514cca6590c503` from the owners list. Was previously pointing to `0x2fa5d8294575a8fa880a8aec008b860fb6a70e26`. **Verify**: Verify key with `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2` - **Key**: `0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d`
**Before**: `0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252` from the owners list. Was previously pointing to `0xb2d9a52e76841279ef0372c534c539a4f68f8c0b`. **Verify**: Verify key with `cast index address 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 2` - **Key**: `0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8`
**Before**: `0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x2fa5d8294575a8fa880a8aec008b860fb6a70e26` from the owners list. Was previously pointing to `0x79dc63ba7b5d9817a0f0840cd5373292e86735e4`. **Verify**: Verify key with `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2` - **Key**: `0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208`
**Before**: `0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x4ffd98b5eea905ec25aa3daf180552f67873ed78` from the owners list. Was previously pointing to `0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799`. **Verify**: Verify key with `cast index address 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 2` - **Key**: `0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324`
**Before**: `0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0` from the owners list. Was previously pointing to `0xb04e501237d9a941b130172868201dee9b965c38`. **Verify**: Verify key with `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2` - **Key**: `0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648`
**Before**: `0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x79dc63ba7b5d9817a0f0840cd5373292e86735e4` from the owners list. Was previously pointing to `0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0`. **Verify**: Verify key with `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2` - **Key**: `0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3`
**Before**: `0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x7f10098bd53519c739ca8a404afe127647d94774` from the owners list. Was previously pointing to `0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252`. **Verify**: Verify key with `cast index address 0x7f10098bd53519c739ca8a404afe127647d94774 2` - **Key**: `0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08`
**Before**: `0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0xb04e501237d9a941b130172868201dee9b965c38` from the owners list. Was previously pointing to `0x4ffd98b5eea905ec25aa3daf180552f67873ed78`. **Verify**: Verify key with `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2` - **Key**: `0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a`
**Before**: `0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799` from the owners list. Was previously pointing to `0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d`. **Verify**: Verify key with `cast index address 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 2` - **Key**: `0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5`
**Before**: `0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d` from the owners list. Was previously pointing to `0xaa2489debf1ef02ab83ba6cde4419e662de9254e`. **Verify**: Verify key with `cast index address 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d 2` - **Key**: `0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f`
**Before**: `0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0x420c8fe1ddb0593c71487445576c87c17f177179` from the owners list. Was previously pointing to `0xa8c40cc18581ff25c0d2605631514cca6590c503`. **Verify**: Verify key with `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2` - **Key**: `0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**Meaning**: Removes `0xaa2489debf1ef02ab83ba6cde4419e662de9254e` from the owners list. Was previously pointing to `0x0000000000000000000000000000000000000001` which marks the tail of the list. **Verify**: Verify key with `cast index address 0xaa2489debf1ef02ab83ba6cde4419e662de9254e 2` - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Before**: `0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774`
**After**: `0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8`
**Meaning**: Updates head of owners linked list from `0x7f10098BD53519c739cA8A404afE127647D94774` to `0x6af0674791925f767060dd52f7fb20984e8639d8` **Verify**: Verify key with `cast index address 0x0000000000000000000000000000000000000001 2` You should also see nonce updates for the address you're signing with. ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/addresses.json ================================================ { "SafeA": "0x646132a1667ca7ad00d36616afba1a28116c770a", "SafeB": "0x6af0674791925f767060dd52f7fb20984e8639d8" } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/records/DeploySafes.s.sol/11155111/run-1742037481.json ================================================ { "transactions": [ { "hash": "0xa4d699bb96247f5ebc9d0279e2a7396ab1761998522726721508f021cc818007", "transactionType": "CREATE", "contractName": "GnosisSafeProxy", "contractAddress": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111", "function": null, "arguments": [ "0xFFcaF1c5cc584d6cfb17DbC1944d900459b45227" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x240cc", "value": "0x0", "input": "0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c63430008180033000000000000000000000000ffcaf1c5cc584d6cfb17dbc1944d900459b45227", "nonce": "0x2c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2", "transactionType": "CALL", "contractName": "GnosisSafeProxy", "contractAddress": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111", "gas": "0xa2075", "value": "0x0", "input": "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x4d3b2b34c34368e2003a0deface5469e17a566f6f37b0c0270e4489c022fd2d9", "transactionType": "CREATE", "contractName": "GnosisSafeProxy", "contractAddress": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1", "function": null, "arguments": [ "0xFFcaF1c5cc584d6cfb17DbC1944d900459b45227" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x240cc", "value": "0x0", "input": "0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c63430008180033000000000000000000000000ffcaf1c5cc584d6cfb17dbc1944d900459b45227", "nonce": "0x2e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496", "transactionType": "CALL", "contractName": "GnosisSafeProxy", "contractAddress": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1", "gas": "0xa2075", "value": "0x0", "input": "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc9ef04", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa4d699bb96247f5ebc9d0279e2a7396ab1761998522726721508f021cc818007", "transactionIndex": "0x93", "blockHash": "0xad28547ae36d25ee161a1cc5e737e9c34fd8ac3335d145a2ebc81774275d86a6", "blockNumber": "0x78a6bc", "gasUsed": "0x1bbb1", "effectiveGasPrice": "0x1d0f71a53", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111" }, { "status": "0x1", "cumulativeGasUsed": "0xdda6d4", "logs": [ { "address": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0x57f14f0e97238f5d80d21dbadd891e89fac6d51e90a16ebe4daf0875b591473f", "blockNumber": "0x78a6bd", "transactionHash": "0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2", "transactionIndex": "0x81", "logIndex": "0xde", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000080000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3b4661bbeb1542bc1b69996706e9dff578f6b618425b4c2fa348c537dd675ea2", "transactionIndex": "0x81", "blockHash": "0x57f14f0e97238f5d80d21dbadd891e89fac6d51e90a16ebe4daf0875b591473f", "blockNumber": "0x78a6bd", "gasUsed": "0x754e5", "effectiveGasPrice": "0x1d0fe9337", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x06c8f4371b708d0b4911aa2cca07bf14904a3111", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0xdce8db", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x4d3b2b34c34368e2003a0deface5469e17a566f6f37b0c0270e4489c022fd2d9", "transactionIndex": "0x93", "blockHash": "0xb83bb371e7ab57edc1c070e7c5df76084dbbb43ffbcb6664dd8a90ba37f99ca4", "blockNumber": "0x78a6c0", "gasUsed": "0x1bbb1", "effectiveGasPrice": "0x1da661a16", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1" }, { "status": "0x1", "cumulativeGasUsed": "0x1abe611", "logs": [ { "address": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000295f73c663843302591290b7dd4520bf23e6a5f0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0x69615d6be5b2872a650d663203b7ad1f52e791adf4d5e0eab6400be94e66895c", "blockNumber": "0x78a6c2", "transactionHash": "0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496", "transactionIndex": "0xdd", "logIndex": "0x13e", "removed": false } ], "logsBloom": "0x00000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000010000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd9bbae3caaa1dd5bd2f0436f25945d379d2f74716f9e637eba5ff5725e7f9496", "transactionIndex": "0xdd", "blockHash": "0x69615d6be5b2872a650d663203b7ad1f52e791adf4d5e0eab6400be94e66895c", "blockNumber": "0x78a6c2", "gasUsed": "0x754e5", "effectiveGasPrice": "0x1b3200815", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xb9d174e999f2450ae87ca69e367c433ee25a01c1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1742037481, "chain": 11155111, "commit": "1fc54a0" } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/records/DeploySafes.s.sol/11155111/run-1742418121.json ================================================ { "transactions": [ { "hash": "0x33d11d8394d8739755583bd623de6815e4c68aa92ee9c9df7b36802df143e891", "transactionType": "CREATE", "contractName": "GnosisSafeProxy", "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": null, "arguments": [ "0x90Ff2f4fAB3fB886cC60A1A5D5cAc2E774b5ce03" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x240cc", "value": "0x0", "input": "0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c6343000818003300000000000000000000000090ff2f4fab3fb886cc60a1a5d5cac2e774b5ce03", "nonce": "0x3c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d", "transactionType": "CALL", "contractName": "GnosisSafeProxy", "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x9fa30", "value": "0x0", "input": "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd4f7bfb3fb4e4ed56eaab70d448ca5cf6c305318323bb5261d7aa33a1c46aabd", "transactionType": "CREATE", "contractName": "GnosisSafeProxy", "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": null, "arguments": [ "0x90Ff2f4fAB3fB886cC60A1A5D5cAc2E774b5ce03" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x240cc", "value": "0x0", "input": "0x608060405234801561000f575f80fd5b5060405161018f38038061018f83398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b609f806100f05f395ff3fe608060405273ffffffffffffffffffffffffffffffffffffffff5f54167fa619486e000000000000000000000000000000000000000000000000000000005f3503604b57805f5260205ff35b365f80375f80365f845af490503d5f803e806064573d5ffd5b503d5ff3fea26469706673582212208e538dc4db03bb49b0d91fd4fa5ba3f26e23132bbe3332b7604c9091af9fca0564736f6c6343000818003300000000000000000000000090ff2f4fab3fb886cc60a1a5d5cac2e774b5ce03", "nonce": "0x3e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322", "transactionType": "CALL", "contractName": "GnosisSafeProxy", "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x9fa30", "value": "0x0", "input": "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xb47c78", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x33d11d8394d8739755583bd623de6815e4c68aa92ee9c9df7b36802df143e891", "transactionIndex": "0x62", "blockHash": "0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb", "blockNumber": "0x791e63", "gasUsed": "0x1bbb1", "effectiveGasPrice": "0x4a3403", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a" }, { "status": "0x1", "cumulativeGasUsed": "0xbe077f", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb", "blockNumber": "0x791e63", "transactionHash": "0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d", "transactionIndex": "0x64", "logIndex": "0x5e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000800000000000000000000004000020000000000000000000000000000000000000000020000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd7bcf57ba663611d93071803be5d5885046466ff62fadfaf712e35fc2bab563d", "transactionIndex": "0x64", "blockHash": "0xe7569d6c35342af09dbb186d7b966d6031bf68b6df462d1703982336d58a0abb", "blockNumber": "0x791e63", "gasUsed": "0x73930", "effectiveGasPrice": "0x4a3403", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x84a35f", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd4f7bfb3fb4e4ed56eaab70d448ca5cf6c305318323bb5261d7aa33a1c46aabd", "transactionIndex": "0x3d", "blockHash": "0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06", "blockNumber": "0x791e64", "gasUsed": "0x1bbb1", "effectiveGasPrice": "0x47efd8", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8" }, { "status": "0x1", "cumulativeGasUsed": "0x8bdc8f", "logs": [ { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094efe8be8e8e726cbc2ce0cda98ae0d55de2453b000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06", "blockNumber": "0x791e64", "transactionHash": "0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322", "transactionIndex": "0x3e", "logIndex": "0x3f", "removed": false } ], "logsBloom": "0x00000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000008000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000010000000000020000000000000000000000008000000", "type": "0x2", "transactionHash": "0x540728ac420b0f7419fe921668168ddc9699da29200ed80cbd19fb65083ae322", "transactionIndex": "0x3e", "blockHash": "0xabaed8f1d2483cd33e88c29c567a3f2803e758acf276b7a4f9ffa8c86868eb06", "blockNumber": "0x791e64", "gasUsed": "0x73930", "effectiveGasPrice": "0x47efd8", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1742418121, "chain": 11155111, "commit": "1e1892c" } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/records/UpdateSigners.s.sol/11155111/run-1742902176.json ================================================ { "transactions": [ { "hash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x61debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x6387d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c361debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x29", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1218b35", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013a000000000000000000000000000000000000000000000000000000000000014a0000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c00000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c361debecb43919d000fc9ca914bdac8110ec2b861194f3703fd45abbb5df3f86c5749e26def15da219e3ade4bedeaa1574c9b87889c6c5fbeaf556e30425746d21b5e7ff885782581c15a35d0ec3b55fbabc1aff635b8f0b6d87e28e8928a5acf2b6e09cf7eaee698f91032ce59a58d4d4df59b2ab23de53908474390c2ba6c8cdb1c5140bcc600ac3de8b031dc88d687ce634b52cc95b03f48e8426bd76126dc674848b09b85eba9b976055fecade4f701fad2e2e94af35fd8b7d835b27c2469a5281c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000110000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x85", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x86", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x87", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x88", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x89", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8a", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8b", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8c", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8d", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8e", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x8f", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x90", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x91", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x92", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x93", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x94", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x95", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x96", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x029b34c668dd36404f34d80690f20068c5aa5c9318d6e014b5d9583a53aa4b9c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "logIndex": "0x97", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000010000000000000000000000000000000000020004000008000000200000040800000000000000000000000000000000000000000000000000000000000400000000001000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x401023c69aa9195f540d19019365b081a557c19b9ceb00f8f13615fb20ac9684", "transactionIndex": "0x52", "blockHash": "0xc042b32bf38cd1b675991658153f434222d50a3807ffc4238aa4585c64796076", "blockNumber": "0x79bb99", "gasUsed": "0x440e2", "effectiveGasPrice": "0x2dbdbca0f", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1742902176, "chain": 11155111, "commit": "d3774bb" } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/script/DeploySafes.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Script} from "forge-std/Script.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {GnosisSafeProxy} from "safe-smart-account/proxies/GnosisSafeProxy.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; contract DeploySafes is Script { using Strings for address; address private SAFE_IMPLEMENTATION = vm.envAddress("L1_GNOSIS_SAFE_IMPLEMENTATION"); address private FALLBACK_HANDLER = vm.envAddress("L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER"); address private OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address private zAddr; // Need to deploy a SafeA and a SafeB with the same owners as current proxy admin owner function run() public { GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address[] memory owners = ownerSafe.getOwners(); vm.startBroadcast(); // First safe maintains the same owners + threshold as the current proxy admin owner address safeA = _createAndInitProxy(owners, ownerSafe.getThreshold()); // Second safe just uses threshold of 1 address safeB = _createAndInitProxy(owners, 1); vm.stopBroadcast(); vm.writeFile( "addresses.json", string.concat( "{", "\"SafeA\": \"", safeA.toHexString(), "\",", "\"SafeB\": \"", safeB.toHexString(), "\"" "}" ) ); } function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) { GnosisSafe proxy = GnosisSafe(payable(address(new GnosisSafeProxy(SAFE_IMPLEMENTATION)))); proxy.setup(owners, threshold, zAddr, "", FALLBACK_HANDLER, zAddr, 0, payable(zAddr)); return address(proxy); } } ================================================ FILE: sepolia/2025-03-14-mirror-mainnet-hierarchy/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigBuilder} from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {OwnerManager} from "safe-smart-account/base/OwnerManager.sol"; // Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2 // `SAFE_A` and `SAFE_B` should have same owners as `OWNER_SAFE` // `SAFE_A` should have same threshold as `OWNER_SAFE`. `SAFE_B` should have threshold 1 contract UpdateSigners is MultisigBuilder { using stdJson for string; address payable private SAFE_A; address payable private SAFE_B; uint256 internal constant THRESHOLD = 2; address payable internal OWNER_SAFE = payable(vm.envAddress("OWNER_SAFE")); string private ADDRESSES; address[] private A_OWNERS; address[] private B_OWNERS; uint256 private A_THRESHOLD; uint256 private B_THRESHOLD; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); ADDRESSES = vm.readFile(path); SAFE_A = payable(ADDRESSES.readAddress(".SafeA")); SAFE_B = payable(ADDRESSES.readAddress(".SafeB")); A_OWNERS = GnosisSafe(SAFE_A).getOwners(); A_THRESHOLD = GnosisSafe(SAFE_A).getThreshold(); B_OWNERS = GnosisSafe(SAFE_B).getOwners(); B_THRESHOLD = GnosisSafe(SAFE_B).getThreshold(); address[] memory ownerSafeOwners = GnosisSafe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = GnosisSafe(OWNER_SAFE).getThreshold(); require(ownerSafeOwners.length == A_OWNERS.length, "Precheck owner count mismatch - A"); require(ownerSafeOwners.length == B_OWNERS.length, "Precheck owner count mismatch - B"); require(ownerSafeThreshold == A_THRESHOLD, "Precheck threshold mismatch - A"); require(B_THRESHOLD == 1, "Precheck threshold mismatch - B"); for (uint256 i; i < ownerSafeOwners.length; i++) { require(ownerSafeOwners[i] == A_OWNERS[i], "Precheck owner mismatch - A"); require(ownerSafeOwners[i] == B_OWNERS[i], "Precheck owner mismatch - B"); } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address[] memory aOwners = GnosisSafe(SAFE_A).getOwners(); address[] memory bOwners = GnosisSafe(SAFE_B).getOwners(); uint256 aThreshold = GnosisSafe(SAFE_A).getThreshold(); uint256 bThreshold = GnosisSafe(SAFE_B).getThreshold(); address[] memory ownerSafeOwners = GnosisSafe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = GnosisSafe(OWNER_SAFE).getThreshold(); require(aThreshold == A_THRESHOLD, "Postcheck new signer threshold mismatch - A"); require(bThreshold == B_THRESHOLD, "Postcheck new signer threshold mismatch - B"); require(aOwners.length == A_OWNERS.length, "Postcheck length mismatch - A"); require(bOwners.length == B_OWNERS.length, "Postcheck length mismatch - B"); require(ownerSafeThreshold == THRESHOLD, "Postcheck owner threshold mismatch"); require(ownerSafeOwners.length == 2, "Postcheck owner count mismatch"); require(ownerSafeOwners[0] == SAFE_B, "Postcheck new signer mismatch - B"); require(ownerSafeOwners[1] == SAFE_A, "Postcheck new signer mismatch - A"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length); calls[0] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD)) }); calls[1] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD)) }); address prevOwner = SAFE_A; for (uint256 i; i < A_OWNERS.length; i++) { calls[2 + i] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD)) }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deps deps: forge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5 .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySafes --account testnet-admin --broadcast -vvvv .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig "sign()" .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpdateSigners \ --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/README.md ================================================ # Nested Ownership Transfer Status: EXECUTED (https://sepolia.etherscan.io/tx/0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed) ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-04-01-nested-ownership-transfer make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Safes ```bash make deploy ``` This will output the new addresses of the `SafeA` and `SafeB` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Sepolia Safe A: `0x646132a1667ca7ad00d36616afba1a28116c770a` > > - Domain Hash: `0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e` > - Message Hash: `0xbd6dbdbc796e78642497d9f5a0d57bbc4a82ecda60dc03ecf9e0211b29c262ba` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### Nested Safe `0x646132a1667ca7ad00d36616afba1a28116c770a` (`Safe A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000003
  Raw Old Value:     0x000000000000000000000000000000000000000000000000000000000000000e
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002
  Decoded Kind:      uint256
  Decoded Old Value: 14
  Decoded New Value: 2

  Summary:           Update owner count to 2. This turns Safe A into a 2-of-2.

----- DecodedStateDiff[1] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000004
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002
  Decoded Kind:      uint256
  Decoded Old Value: 1
  Decoded New Value: 2

  Summary:           Update threshold to 2. This turns Safe A into a 2-of-2.

----- DecodedStateDiff[2] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004
  Decoded Kind:      uint256
  Decoded Old Value: 3
  Decoded New Value: 4

  Summary:           Nonce increment.

----- DecodedStateDiff[3] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f

  Summary:           Adds 0x6af0674791925f767060dd52f7fb20984e8639d8 to owners linked list. 
                     Confirm slot key with `cast index address 0x6af0674791925f767060dd52f7fb20984e8639d8 2`.

----- DecodedStateDiff[4] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6
  Raw Old Value:     0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x420c8fE1dDb0593c71487445576c87c17f177179
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xee316db0edaee45347dfc498795a01311f085225 from owners linked list. 
                     Confirm slot key with `cast index address 0xee316db0edaee45347dfc498795a01311f085225 2`.

----- DecodedStateDiff[5] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd
  Raw Old Value:     0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xEE316Db0eDaee45347DfC498795a01311F085225
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b from owners linked list. 
                     Confirm slot key with `cast index address 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b 2`.

----- DecodedStateDiff[6] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a
  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list. 
                     Confirm slot key with `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.

----- DecodedStateDiff[7] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d
  Raw Old Value:     0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 from owners linked list. 
                     Confirm slot key with `cast index address 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 2`.

----- DecodedStateDiff[8] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8
  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list. 
                     Confirm slot key with `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.

----- DecodedStateDiff[9] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x0000000000000000000000000000000000000001

  Summary:           Sets 0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f as tail of owners linked list.
                     Confirm slot key with `cast index address 0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f 2`.

----- DecodedStateDiff[10] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208
  Raw Old Value:     0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x9B43cC2EF6fa521127Ade09e20efD6ABBC5BF799
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 from owners linked list. 
                     Confirm slot key with `cast index address 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 2`.

----- DecodedStateDiff[11] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324
  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from owners linked list. 
                     Confirm slot key with `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`.

----- DecodedStateDiff[12] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648
  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list. 
                     Confirm slot key with `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.

----- DecodedStateDiff[13] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3
  Raw Old Value:     0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x9986ccaf9E3DE0fFEF82a0f7fA3a06D5aFe07252
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x7f10098bd53519c739ca8a404afe127647d94774 from owners linked list. 
                     Confirm slot key with `cast index address 0x7f10098bd53519c739ca8a404afe127647d94774 2`.

----- DecodedStateDiff[14] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08
  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list. 
                     Confirm slot key with `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.

----- DecodedStateDiff[15] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a
  Raw Old Value:     0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 from owners linked list. 
                     Confirm slot key with `cast index address 0x9b43cc2ef6fa521127ade09e20efd6abbc5bf799 2`.

----- DecodedStateDiff[16] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5
  Raw Old Value:     0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xaa2489DEbF1EF02ab83bA6Cde4419E662De9254E
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d from owners linked list. 
                     Confirm slot key with `cast index address 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d 2`.

----- DecodedStateDiff[17] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f
  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x420c8fe1ddb0593c71487445576c87c17f177179 from owners linked list. 
                     Confirm slot key with `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`.

----- DecodedStateDiff[18] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000001
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xaa2489debf1ef02ab83ba6cde4419e662de9254e from owners linked list. 
                     Confirm slot key with `cast index address 0xaa2489debf1ef02ab83ba6cde4419e662de9254e 2`.

----- DecodedStateDiff[19] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Signer Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0
  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774
  Raw New Value:     0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8
  Decoded Kind:      address
  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774
  Decoded New Value: 0x6AF0674791925f767060Dd52f7fB20984E8639d8

  Summary:           Sets 0x6AF0674791925f767060Dd52f7fB20984E8639d8 as head of owners linked list. 
                     Confirm slot key with `cast index address 0x0000000000000000000000000000000000000001 2`.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/addresses.json ================================================ { "SafeA": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "SafeB": "0x6af0674791925f767060dd52f7fb20984e8639d8" } ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/records/DeploySafes.s.sol/11155111/run-1744716601.json ================================================ { "transactions": [ { "hash": "0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0xc9672", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000304b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x44", "chainId": "0xaa36a7" }, "additionalContracts": [ { "transactionType": "CREATE2", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1608374", "logs": [ { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e2600000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3", "blockNumber": "0x7bf2cf", "transactionHash": "0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b", "transactionIndex": "0xb8", "logIndex": "0xd8", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3", "blockNumber": "0x7bf2cf", "transactionHash": "0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b", "transactionIndex": "0xb8", "logIndex": "0xd9", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000800000000000000000000000000000500000000000000000000000100000000000000000000000800000000000200000000000200000000000000000000000000000000000000000000000000000000100020000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000040000000100020000000000000000000000000000000", "type": "0x2", "transactionHash": "0x06ac9646be51c5ccfbcd31e2b87e890ff0814ccc1a02b4e3e37594663d4c925b", "transactionIndex": "0xb8", "blockHash": "0xaf0772965041571f7e1f46f14b3eebf35a4b82be8371f0c330f19be079f8d3e3", "blockNumber": "0x7bf2cf", "gasUsed": "0x89b62", "effectiveGasPrice": "0x14e8d6", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744716601, "chain": 11155111, "commit": "ce529a4" } ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/records/UpdateSigners.s.sol/11155111/run-1744741044.json ================================================ { "transactions": [ { "hash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c0000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0aabddd720f0c670007858063f29f49f87c7d2e23ade4d679da96fc7440d6de809fe2d74eed292b62eea2af8eaef47d5e61e3325d6223a20ea5888c84f4a41fd1c6b0e3daa1c37efd9ba0397c001c70282967d90420d3d2bdc8fc89adb43c06c7760b5ca4d94a8a273ac6404836551bc546ea156286b793897ebb22d068319489a1c7edcc70d91c853972111ab9ee4748e65f59ff7e89853a4958f63fdc4a838020c683a1cd7c5767deb1bf07c83781c7820dcb0ccba08a8dff800342915b489898e1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x5625d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001380000000000000000000000000000000000000000000000000000000000000120482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008c000000000000000000000000000000000000000000000000000000000000009c00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ec00000000000000000000000000000000000000000000000000000000000000fc000000000000000000000000000000000000000000000000000000000000010c0000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c30aabddd720f0c670007858063f29f49f87c7d2e23ade4d679da96fc7440d6de809fe2d74eed292b62eea2af8eaef47d5e61e3325d6223a20ea5888c84f4a41fd1c6b0e3daa1c37efd9ba0397c001c70282967d90420d3d2bdc8fc89adb43c06c7760b5ca4d94a8a273ac6404836551bc546ea156286b793897ebb22d068319489a1c7edcc70d91c853972111ab9ee4748e65f59ff7e89853a4958f63fdc4a838020c683a1cd7c5767deb1bf07c83781c7820dcb0ccba08a8dff800342915b489898e1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x32", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa0adda", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xb6", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xb7", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xb8", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xb9", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xba", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xbb", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xbc", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xbd", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xbe", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xbf", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc0", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc1", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc2", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc3", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc4", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc5", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc6", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd88eaab177142f98fb9e965bccf167e6cc8d8d5ed30a686936781dab4427252c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "logIndex": "0xc7", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x184c5b76524863dca1d4d9d9c86c83b4d67e1c94c5feb277add4c1526025a5ed", "transactionIndex": "0x5d", "blockHash": "0x9672d564a148049379cd2254ed775a4c067c299d2395dbaafa9838b1017d1373", "blockNumber": "0x7bfa82", "gasUsed": "0x3ae79", "effectiveGasPrice": "0x115d07", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744741044, "chain": 11155111, "commit": "ef5ecfc" } ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/script/DeploySafes.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Script} from "forge-std/Script.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; contract DeploySafes is Script { using Strings for address; address public immutable SAFE_IMPLEMENTATION; address public immutable FALLBACK_HANDLER; address public immutable SAFE_PROXY_FACTORY; address public immutable OWNER_SAFE; address public zAddr; address[] public OWNER_SAFE_OWNERS; uint256 public OWNER_SAFE_THRESHOLD; constructor() { SAFE_IMPLEMENTATION = vm.envAddress("L1_GNOSIS_SAFE_IMPLEMENTATION"); FALLBACK_HANDLER = vm.envAddress("L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER"); SAFE_PROXY_FACTORY = vm.envAddress("SAFE_PROXY_FACTORY"); OWNER_SAFE = vm.envAddress("OWNER_SAFE"); } function run() public { Safe ownerSafe = Safe(payable(OWNER_SAFE)); OWNER_SAFE_OWNERS = ownerSafe.getOwners(); OWNER_SAFE_THRESHOLD = ownerSafe.getThreshold(); require(OWNER_SAFE_OWNERS.length == 14, "Owner safe owners length must be 14"); require(OWNER_SAFE_THRESHOLD == 3, "Owner safe threshold must be 3"); console.log("Deploying SafeA with owners:"); _printOwners(OWNER_SAFE_OWNERS); console.log("Threshold of SafeA:", OWNER_SAFE_THRESHOLD); vm.startBroadcast(); // First safe maintains the same owners + threshold as the current owner safe address safeA = _createAndInitProxy(OWNER_SAFE_OWNERS, OWNER_SAFE_THRESHOLD); // Second safe specifies its own owners + threshold // address safeB = _createAndInitProxy(SAFE_B_OWNERS, SAFE_B_THRESHOLD); address safeB = 0x6AF0674791925f767060Dd52f7fB20984E8639d8; vm.stopBroadcast(); _postCheck(safeA, safeB); vm.writeFile( "addresses.json", string.concat( "{", "\"SafeA\": \"", safeA.toHexString(), "\",", "\"SafeB\": \"", safeB.toHexString(), "\"" "}" ) ); } function _postCheck(address safeAAddress, address safeBAddress) private view { Safe safeA = Safe(payable(safeAAddress)); Safe safeB = Safe(payable(safeBAddress)); address[] memory safeAOwners = safeA.getOwners(); uint256 safeAThreshold = safeA.getThreshold(); address[] memory safeBOwners = safeB.getOwners(); uint256 safeBThreshold = safeB.getThreshold(); require(safeAThreshold == 3, "PostCheck 1"); require(safeBThreshold == 1, "PostCheck 2"); require(safeAOwners.length == 14, "PostCheck 3"); require(safeBOwners.length == 14, "PostCheck 4"); for (uint256 i; i < safeAOwners.length; i++) { require(safeAOwners[i] == OWNER_SAFE_OWNERS[i], "PostCheck 5"); } for (uint256 i; i < safeBOwners.length; i++) { require(safeBOwners[i] == OWNER_SAFE_OWNERS[i], "PostCheck 6"); } console.log("PostCheck passed"); } function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) { bytes memory initializer = abi.encodeCall(Safe.setup, (owners, threshold, zAddr, "", FALLBACK_HANDLER, zAddr, 0, payable(zAddr))); return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0)); } function _printOwners(address[] memory owners) private pure { for (uint256 i; i < owners.length; i++) { console.logAddress(owners[i]); } } } ================================================ FILE: sepolia/2025-04-01-nested-ownership-transfer/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigBuilder} from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {OwnerManager} from "safe-smart-account/contracts/base/OwnerManager.sol"; // Adds `SAFE_A` and `SAFE_B` as owners to `OWNER_SAFE` and sets threshold to 2 // `SAFE_A` should have same owners as `OWNER_SAFE` // `SAFE_A` should have same threshold as `OWNER_SAFE` // `SAFE_B` should be a 1-of-14 multisig contract UpdateSigners is MultisigBuilder { using stdJson for string; address payable private SAFE_A; address payable private SAFE_B; uint256 internal constant THRESHOLD = 2; address payable internal OWNER_SAFE = payable(vm.envAddress("OWNER_SAFE")); string private ADDRESSES; address[] private A_OWNERS; address[] private B_OWNERS; uint256 private A_THRESHOLD; uint256 private B_THRESHOLD; function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); ADDRESSES = vm.readFile(path); SAFE_A = payable(ADDRESSES.readAddress(".SafeA")); SAFE_B = payable(ADDRESSES.readAddress(".SafeB")); A_OWNERS = Safe(SAFE_A).getOwners(); A_THRESHOLD = Safe(SAFE_A).getThreshold(); require(A_OWNERS.length == 14, "A owners length must be 14"); require(A_THRESHOLD == 3, "A threshold must be 3"); B_OWNERS = Safe(SAFE_B).getOwners(); B_THRESHOLD = Safe(SAFE_B).getThreshold(); require(B_OWNERS.length == 14, "B owners length must be 14"); require(B_THRESHOLD == 1, "B threshold must be 1"); address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold(); require(ownerSafeOwners.length == A_OWNERS.length, "Precheck owner count mismatch - A"); require(ownerSafeThreshold == A_THRESHOLD, "Precheck threshold mismatch - A"); for (uint256 i; i < ownerSafeOwners.length; i++) { require(ownerSafeOwners[i] == A_OWNERS[i], "Precheck owner mismatch - A"); } // Special check for testnet for (uint256 i; i < ownerSafeOwners.length; i++) { require(ownerSafeOwners[i] == B_OWNERS[i], "Precheck owner mismatch - B"); } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address[] memory aOwners = Safe(SAFE_A).getOwners(); address[] memory bOwners = Safe(SAFE_B).getOwners(); uint256 aThreshold = Safe(SAFE_A).getThreshold(); uint256 bThreshold = Safe(SAFE_B).getThreshold(); address[] memory ownerSafeOwners = Safe(OWNER_SAFE).getOwners(); uint256 ownerSafeThreshold = Safe(OWNER_SAFE).getThreshold(); require(aThreshold == A_THRESHOLD, "Postcheck new signer threshold mismatch - A"); require(bThreshold == B_THRESHOLD, "Postcheck new signer threshold mismatch - B"); require(aOwners.length == A_OWNERS.length, "Postcheck length mismatch - A"); require(bOwners.length == B_OWNERS.length, "Postcheck length mismatch - B"); require(ownerSafeThreshold == THRESHOLD, "Postcheck owner threshold mismatch"); require(ownerSafeOwners.length == 2, "Postcheck owner count mismatch"); require(ownerSafeOwners[0] == SAFE_B, "Postcheck new signer mismatch - B"); require(ownerSafeOwners[1] == SAFE_A, "Postcheck new signer mismatch - A"); for (uint256 i; i < aOwners.length; i++) { require(aOwners[i] == A_OWNERS[i], "PostCheck 5"); } for (uint256 i; i < bOwners.length; i++) { require(bOwners[i] == B_OWNERS[i], "PostCheck 6"); } } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2 + A_OWNERS.length); calls[0] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_A, THRESHOLD)) }); calls[1] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (SAFE_B, THRESHOLD)) }); address prevOwner = SAFE_A; for (uint256 i; i < A_OWNERS.length; i++) { calls[2 + i] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.removeOwner, (prevOwner, A_OWNERS[i], THRESHOLD)) }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deps deps: forge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5 .PHONY: sign sign: OWNER_SAFE=$(SAFE_A) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig "sign()" .PHONY: sign-b sign-b: OWNER_SAFE=$(SAFE_B) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpdateSigners --sig "sign()" .PHONY: execute execute: OWNER_SAFE=$(SAFE_A) forge script --rpc-url $(L1_RPC_URL) \ UpdateSigners --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast -vvvv .PHONY: execute-b execute-b: OWNER_SAFE=$(SAFE_B) forge script --rpc-url $(L1_RPC_URL) \ UpdateSigners --sig "run(bytes)" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ --broadcast -vvvv ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0xEdecf2c444559210a865a22acfc6A2a25590Ab1b", "0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df", "0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60", "0x931E24B032511d8dD029AedeB44837FAc251f3d8", "0x0CF2F86C3338993ce10F74d6f4B095712c7efe26" ], "OwnersToRemove": [ "0xa8c40CC18581Ff25c0D2605631514CCa6590c503", "0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26", "0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4", "0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0", "0xb04e501237d9a941b130172868201dEE9b965C38" ] } ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/README.md ================================================ # Update Sepolia Multisig Signers Status: EXECUTED Safe A: https://sepolia.etherscan.io/tx/0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b Safe B: https://sepolia.etherscan.io/tx/0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81 ## Description We wish to update the owners of our [SafeA](https://sepolia.etherscan.io/address/0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f) and [SafeB](https://sepolia.etherscan.io/address/0x6af0674791925f767060dd52f7fb20984e8639d8) multisigs on Sepolia to be consistent with the current state of our Base Chain Eng team. These safes make up the two signers for our `ProxyAdminOwner` contract for Sepolia. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-04-09-testnet-multisig-signers make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./validations/SafeA.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1744919029.json ================================================ { "transactions": [ { "hash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x78393631b355e80d484d4b196b27dd257bb72cc3775b23a9bc0e2bf522a43e221be92302bad9a2bc145e184dd1273242f438257179c5dff83413df17ab26bcb81c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x56915", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c600000000000000000000000000000000000000000000000000000000000000ae482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c3800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004178393631b355e80d484d4b196b27dd257bb72cc3775b23a9bc0e2bf522a43e221be92302bad9a2bc145e184dd1273242f438257179c5dff83413df17ab26bcb81c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x38", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1206ddb", "logs": [ { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb3", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb4", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb5", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb6", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb7", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb8", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xb9", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xba", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xbb", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xbc", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe326cadd9bcea7d8886576d691150e35de06e3287c7066d200e6e11ee26ba3b00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "logIndex": "0xbd", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000010000000000000008000000000000000000008000000", "type": "0x2", "transactionHash": "0x5a3e78badcccd6e586c541c15cc2b2517dfd54ea156bf50b662b21fedf5e3a81", "transactionIndex": "0xa9", "blockHash": "0xf3eaee8f695fe81b5919a5cd1d07f2bbd8d43a500fb9c71145901c14775ee90b", "blockNumber": "0x7c3158", "gasUsed": "0x3b311", "effectiveGasPrice": "0x166f02", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744919029, "chain": 11155111, "commit": "28ca165" } ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1744919545.json ================================================ { "transactions": [ { "hash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c38000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xfd67d5d87570deaa92d716c0a8eff1e6bb6e62dc31f9765fc899bb47267c0a5d72e2060cc7779c982a3d24817be594a010e4dcfcd61f54b5aea649f4f99485841c412b73af6eb929f511c53a932a52208ddb248d5b644cfa0de720e78779661d3d6a6e2e3cd88e4815437367bf7521f4b5cceb5f85d7161852fab4af6801bae8751b63d24b2969a226140e82a2e2dde1a712ad31d527a80ffa8f7b2a70cd2ac006a12204c083bcdd6ecc06618984e67ad3c5371cd9bcd3bcee2380aa2c5bb09bc4d41c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x57028", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c600000000000000000000000000000000000000000000000000000000000000ae482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000007a000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c5030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f1771790000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e260000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f17717900000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e40000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a00000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000b04e501237d9a941b130172868201dee9b965c380000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fd67d5d87570deaa92d716c0a8eff1e6bb6e62dc31f9765fc899bb47267c0a5d72e2060cc7779c982a3d24817be594a010e4dcfcd61f54b5aea649f4f99485841c412b73af6eb929f511c53a932a52208ddb248d5b644cfa0de720e78779661d3d6a6e2e3cd88e4815437367bf7521f4b5cceb5f85d7161852fab4af6801bae8751b63d24b2969a226140e82a2e2dde1a712ad31d527a80ffa8f7b2a70cd2ac006a12204c083bcdd6ecc06618984e67ad3c5371cd9bcd3bcee2380aa2c5bb09bc4d41c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x39", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x6c67b3", "logs": [ { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x83", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x84", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x85", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x86", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x87", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x88", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x89", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x8a", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x8b", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38" ], "data": "0x", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x8c", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x5582cc9862d5ef48d69838324cd35da6f68d937c6d6a0fce96c3a7e6742ce2b1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "logIndex": "0x8d", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000100000000000000040000000000000000100000000000000000000000000000000000400000000000000000000000000000000000000000020000440000000000000000004800000000200100010000000100010000000000000002000040000000000000000004000020000000010000000000000000000000000000100100000000000000000000000000000000008000000000001000000404000000000080000000080000000000000000000004040000000000000002000000000000000000200000000000000040000000000000450080000840000000000000008000000008000004000000000000", "type": "0x2", "transactionHash": "0x6bc215bc3c7e609ebfcda87b3b74d433e45f685101733982b8a910331acd609b", "transactionIndex": "0x46", "blockHash": "0xa8f2a825ffe0904a0c492122269b6ecfb4abc188aa7fcadcd6787a64a88950ef", "blockNumber": "0x7c3180", "gasUsed": "0x3efe6", "effectiveGasPrice": "0x15c96f", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744919545, "chain": 11155111, "commit": "28ca165" } ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigBuilder} from "@base-contracts/script/universal/MultisigBuilder.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {OwnerManager} from "safe-smart-account/contracts/base/OwnerManager.sol"; contract UpdateSigners is MultisigBuilder { using stdJson for string; address public constant SENTINEL_OWNERS = address(0x1); address public immutable OWNER_SAFE; uint256 public immutable THRESHOLD; address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); Safe ownerSafe = Safe(payable(OWNER_SAFE)); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() external { require(OWNERS_TO_ADD.length > 0, "Precheck 00"); require(OWNERS_TO_REMOVE.length > 0, "Precheck 01"); require(EXISTING_OWNERS.length == 14, "Precheck 02"); Safe ownerSafe = Safe(payable(OWNER_SAFE)); address prevOwner = SENTINEL_OWNERS; for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "Precheck 03"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Precheck 04"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { Safe ownerSafe = Safe(payable(OWNER_SAFE)); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)) }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall( OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ) }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/validations/SafeA.md ================================================ # Safe A Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Safe A: `0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f` > > - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23` > - Message Hash: `0xfbfb489c88b9d7121951b94a50ccf1255266219a829eb5efb6cd49d2f0b977e0` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### Safe A (`0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000004
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000003
  Decoded Kind:      uint256
  Decoded Old Value: 1
  Decoded New Value: 3

  Summary:           Update threshold to 3. This is not actually a change - it just displays as one because of the state override mentioned above.

----- DecodedStateDiff[1] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000002
  Decoded Kind:      uint256
  Decoded Old Value: 1
  Decoded New Value: 2

  Summary:           Increment nonce in Safe A.

----- DecodedStateDiff[2] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x931E24B032511d8dD029AedeB44837FAc251f3d8

  Summary:           Adds 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 to owners linked list
  Detail:            This storage key is derived from `cast index address 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 2`.

----- DecodedStateDiff[3] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a
  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list
  Detail:            This storage key is derived from `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.

----- DecodedStateDiff[4] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x7f10098BD53519c739cA8A404afE127647D94774

  Summary:           Adds 0xedecf2c444559210a865a22acfc6a2a25590ab1b to owners linked list
  Detail:            This storage key is derived from `cast index address 0xedecf2c444559210a865a22acfc6a2a25590ab1b 2`.

----- DecodedStateDiff[5] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8
  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.

----- DecodedStateDiff[6] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324
  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           This removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from the owners linked list.
  Detail:            This storage key is derived from `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`

----- DecodedStateDiff[7] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648
  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.

----- DecodedStateDiff[8] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df

  Summary:           Adds 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 to owners linked list
  Detail:            This storage key is derived from `cast index address 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 2`.

----- DecodedStateDiff[9] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60

  Summary:           Adds 0x931e24b032511d8dd029aedeb44837fac251f3d8 to owners linked list
  Detail:            This storage key is derived from `cast index address 0x931e24b032511d8dd029aedeb44837fac251f3d8 2`.

----- DecodedStateDiff[10] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08
  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list
  Detail:            This storage key is derived from `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.

----- DecodedStateDiff[11] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f
  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503
  Raw New Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78
  Decoded Kind:      address
  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503
  Decoded New Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78

  Summary:           Results from removing 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`. This updates the list pointer for 0x420c8fe1ddb0593c71487445576c87c17f177179 from 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 to 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78.

----- DecodedStateDiff[12] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xEdecf2c444559210a865a22acfc6A2a25590Ab1b

  Summary:           Adds 0xf2fb17eab635f036da7864b8e39ef8e9a03441df to owners linked list
  Detail:            This storage key is derived from `cast index address 0xf2fb17eab635f036da7864b8e39ef8e9a03441df 2`.

----- DecodedStateDiff[13] -----
  Who:               0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0
  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774
  Raw New Value:     0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26
  Decoded Kind:      address
  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774
  Decoded New Value: 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26

  Summary:           Updates the head of the owners linked list to 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26
  Detail:            This storage key is derived from `cast index address 0x0000000000000000000000000000000000000001 2`.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-04-09-testnet-multisig-signers/validations/SafeB.md ================================================ # Safe B Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x911f00103be60626fca703e1141a3d9a03f21536d178c3c827c32e7980425d4f` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000005
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000006
  Decoded Kind:      uint256
  Decoded Old Value: 5
  Decoded New Value: 6

  Summary:           Increment nonce in Safe B.

----- DecodedStateDiff[1] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x931E24B032511d8dD029AedeB44837FAc251f3d8

  Summary:           Adds 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 to owners linked list
  Detail:            This storage key is derived from `cast index address 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 2`.

----- DecodedStateDiff[2] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x58d120a0b20e1a9e1a4e5e474f65af5c48d6f00c80f80d95320860a00359ab1a
  Raw Old Value:     0x0000000000000000000000002fa5d8294575a8fa880a8aec008b860fb6a70e26
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x2Fa5D8294575A8fA880A8aec008b860Fb6A70e26
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xa8c40cc18581ff25c0d2605631514cca6590c503 from owners linked list
  Detail:            This storage key is derived from `cast index address 0xa8c40cc18581ff25c0d2605631514cca6590c503 2`.

----- DecodedStateDiff[3] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0x7f10098BD53519c739cA8A404afE127647D94774

  Summary:           Adds 0xedecf2c444559210a865a22acfc6a2a25590ab1b to owners linked list
  Detail:            This storage key is derived from `cast index address 0xedecf2c444559210a865a22acfc6a2a25590ab1b 2`.

----- DecodedStateDiff[4] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x7be060a34deb1d91639bcd2c9d7b1a34999e25875869cc3a83bb8d21aae3abe8
  Raw Old Value:     0x00000000000000000000000079dc63ba7b5d9817a0f0840cd5373292e86735e4
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x79dc63ba7b5D9817A0f0840Cd5373292E86735E4
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x2fa5d8294575a8fa880a8aec008b860fb6a70e26 2`.

----- DecodedStateDiff[5] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa4a7a27737970be72bc7ea3d1499d5a7ca677dcfe71298e98f16342b46fd6324
  Raw Old Value:     0x000000000000000000000000b04e501237d9a941b130172868201dee9b965c38
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0xb04e501237d9a941b130172868201dEE9b965C38
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           This removes 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 from the owners linked list.
  Detail:            This storage key is derived from `cast index address 0x066a2b1419ccf2e1e672a03f14cc1d1146e717a0 2`

----- DecodedStateDiff[6] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xa90dbf3509e5dacce4ce51b1e0056ed396086cef191332ab4a46abeba6c00648
  Raw Old Value:     0x000000000000000000000000066a2b1419ccf2e1e672a03f14cc1d1146e717a0
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x066a2b1419CCf2e1e672A03F14cC1d1146E717a0
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x79dc63ba7b5d9817a0f0840cd5373292e86735e4 2`.

----- DecodedStateDiff[7] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df

  Summary:           Adds 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 to owners linked list
  Detail:            This storage key is derived from `cast index address 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 2`.

----- DecodedStateDiff[8] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60

  Summary:           Adds 0x931e24b032511d8dd029aedeb44837fac251f3d8 to owners linked list
  Detail:            This storage key is derived from `cast index address 0x931e24b032511d8dd029aedeb44837fac251f3d8 2`.

----- DecodedStateDiff[9] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xcd8fdd39f0d4ab3740418f660069bb6ed71bb4dd40a37a6eb4fee616a1dc1b08
  Raw Old Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Decoded Kind:      address
  Decoded Old Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78
  Decoded New Value: 0x0000000000000000000000000000000000000000

  Summary:           Removes 0xb04e501237d9a941b130172868201dee9b965c38 from owners linked list
  Detail:            This storage key is derived from `cast index address 0xb04e501237d9a941b130172868201dee9b965c38 2`.

----- DecodedStateDiff[10] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f
  Raw Old Value:     0x000000000000000000000000a8c40cc18581ff25c0d2605631514cca6590c503
  Raw New Value:     0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78
  Decoded Kind:      address
  Decoded Old Value: 0xa8c40CC18581Ff25c0D2605631514CCa6590c503
  Decoded New Value: 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78

  Summary:           Results from removing 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 from owners linked list
  Detail:            This storage key is derived from `cast index address 0x420c8fe1ddb0593c71487445576c87c17f177179 2`. This updates the list pointer for 0x420c8fe1ddb0593c71487445576c87c17f177179 from 0xa8c40CC18581Ff25c0D2605631514CCa6590c503 to 0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78.

----- DecodedStateDiff[11] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b
  Decoded Kind:      address
  Decoded Old Value: 0x0000000000000000000000000000000000000000
  Decoded New Value: 0xEdecf2c444559210a865a22acfc6A2a25590Ab1b

  Summary:           Adds 0xf2fb17eab635f036da7864b8e39ef8e9a03441df to owners linked list
  Detail:            This storage key is derived from `cast index address 0xf2fb17eab635f036da7864b8e39ef8e9a03441df 2`.

----- DecodedStateDiff[12] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0
  Raw Old Value:     0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774
  Raw New Value:     0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26
  Decoded Kind:      address
  Decoded Old Value: 0x7f10098BD53519c739cA8A404afE127647D94774
  Decoded New Value: 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26

  Summary:           Updates the head of the owners linked list to 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26
  Detail:            This storage key is derived from `cast index address 0x0000000000000000000000000000000000000001 2`.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --account testnet-admin --broadcast -vvvv .PHONY: sign-b sign-b: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address)" $(SAFE_B) .PHONY: approve-b approve-b: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approve(address,bytes)" $(SAFE_B) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "run()" --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast .PHONY: sign sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address,address)" $(SAFE_A) $(COORDINATOR_SAFE_ADDR) .PHONY: sign-nested-b sign-nested-b: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "sign(address,address)" $(SAFE_B) $(COORDINATOR_SAFE_ADDR) .PHONY: approve approve: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approveOnBehalfOfSignerSafe(address,address,bytes)" $(SAFE_A) $(COORDINATOR_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-nested-b approve-nested-b: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approveOnBehalfOfSignerSafe(address,address,bytes)" $(SAFE_B) $(COORDINATOR_SAFE_ADDR) $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-coordinator approve-coordinator: forge script --rpc-url $(L1_RPC_URL) UpgradeDGF \ --sig "approveOnBehalfOfIntermediateSafe(address)" $(COORDINATOR_SAFE_ADDR) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/README.md ================================================ # Upgrade Fault Proofs Status: EXECUTED (https://sepolia.etherscan.io/tx/0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505) ## Description This task contains two scripts for our required onchain updates for the OP Stack's [Upgrade 15](https://docs.optimism.io/notices/upgrade-15). One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-04-14-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Dispute Game Implementations ```bash make deploy ``` This will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./validations/SafeA.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Approve the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make approve` command as described below to approve the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```bash SIGNATURES=AAAABBBB make approve ``` As the facilitator, you are then expected to sign / approve on behalf of the rest of our testnet multisigs that mirror our mainnet hierarchy. ```bash make sign-b ``` ```bash SIGNATURES=AAAA make approve-b ``` ```bash make sign-nested-b ``` ```bash SIGNATURES=AAAA make approve-nested-b ``` ```bash make approve-coordinator ``` #### Execute the transaction IMPORTANT: Ensure op-challenger has been updated before executing. Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/addresses.json ================================================ { "faultDisputeGame": "0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a", "permissionedDisputeGame": "0xf0102ffe22649a5421d53acc96e309660960cf44" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/DeployDisputeGames.s.sol/11155111/run-1744743721.json ================================================ { "transactions": [ { "hash": "0x8c759a253375b2b62743268cd133da994dacae821ed82ff57fd52a77a4ffa8fe", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a", "function": null, "arguments": [ "(0, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 84532)" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x528b6f", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620052163803806200521683398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000b7f1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620030a61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000b7f1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000b7f1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516149de620008386000396000818161068c01528181611a3401528181611a9e0152611ad001526000818161098b0152612ffe01526000818161060f01528181611f960152818161203e015281816120b4015281816121ce0152612522015260008181610515015281816114b00152818161157a01528181611e1a015261245a01526000818161081c015281816124f9015261306a0152600081816104c10152818161194d01528181612bab0152612d640152600081816109de01528181610d63015281816118d601528181611aff01528181611b5a015281816126f80152612738015260008181610a11015281816117930152818161185f01528181611a6f01528181612a5401528181612ee5015281816134e401528181613a1401528181613b2f01528181613b8d0152613bd8015260008181610ab80152818161181b015281816119210152818161277c015281816127e9015281816129ed0152612a750152600081816107410152612af801526149de6000f3fe6080604052600436106102e45760003560e01c80636f03440911610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a65578063fa24f74314610a85578063fa315aa914610aa9578063fe2bbeb214610adc57600080fd5b8063dabd396d146109cf578063ec5e630814610a02578063eff0f59214610a3557600080fd5b8063c395e1ca146108a8578063c6f0308c146108c8578063cf09e0d01461093c578063d5d44d801461095c578063d6ae3cd51461097c578063d8cc1a3c146109af57600080fd5b80638b85902b11610149578063bbdc02db11610123578063bbdc02db14610805578063bcef3b5514610846578063bd8da9561461085b578063c0d8bb741461087b57600080fd5b80638b85902b1461071d5780638d450a9514610732578063a445ece61461076557600080fd5b80636f034409146106b057806370872aa5146106c3578063786b844b146106d85780637b0f0adc146106ed5780638129fc1c146107005780638980e0cc1461070857600080fd5b80633a7684631161024f57806357da950e11610208578063609d3334116101e2578063609d33341461063357806360e27464146106485780636361506d146106685780636b6716c01461067d57600080fd5b806357da950e146105b05780635a5fa2d9146105e05780635c0cba331461060057600080fd5b80633a768463146104b25780633e3ac912146104e55780633fc8cef314610506578063472777c614610539578063529d6a8c1461054c57806354fd4d501461057957600080fd5b806325fc2ace116102a157806325fc2ace146103f75780632810e1d6146104165780632ad69aeb1461042b57806330dbe5701461044b578063378dd48c1461048357806337b1b2291461049d57600080fd5b806301935130146102e957806303c2924d1461030b57806319effeb41461032b578063200d2ed21461036f578063222abf451461039d578063250e69bd146103dd575b600080fd5b3480156102f557600080fd5b506103096103043660046142bd565b610b0c565b005b34801561031757600080fd5b50610309610326366004614317565b610cea565b34801561033757600080fd5b5060005461035290600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561037b57600080fd5b5060005461039090600160801b900460ff1681565b6040516103669190614370565b3480156103a957600080fd5b506103cd6103b8366004614398565b600c6020526000908152604090205460ff1681565b6040519015158152602001610366565b3480156103e957600080fd5b50600a546103cd9060ff1681565b34801561040357600080fd5b506008545b604051908152602001610366565b34801561042257600080fd5b50610390611195565b34801561043757600080fd5b50610408610446366004614317565b611315565b34801561045757600080fd5b5060015461046b906001600160a01b031681565b6040516001600160a01b039091168152602001610366565b34801561048f57600080fd5b50600d546103909060ff1681565b3480156104a957600080fd5b5061046b611346565b3480156104be57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b3480156104f157600080fd5b506000546103cd90600160901b900460ff1681565b34801561051257600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b6103096105473660046143b5565b611357565b34801561055857600080fd5b50610408610567366004614398565b60036020526000908152604090205481565b34801561058557600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b604051610366919061442e565b3480156105bc57600080fd5b506008546009546105cb919082565b60408051928352602083019190915201610366565b3480156105ec57600080fd5b506104086105fb366004614441565b611369565b34801561060c57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046b565b34801561063f57600080fd5b506105a36113a3565b34801561065457600080fd5b50610309610663366004614398565b6113b1565b34801561067457600080fd5b5061040861164c565b34801561068957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b6103096106be366004614468565b611658565b3480156106cf57600080fd5b50600954610408565b3480156106e457600080fd5b50610309611ec9565b6103096106fb3660046143b5565b612192565b61030961219f565b34801561071457600080fd5b50600254610408565b34801561072957600080fd5b506104086125b5565b34801561073e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561077157600080fd5b506107c7610780366004614441565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610366565b34801561081157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610366565b34801561085257600080fd5b506104086125c1565b34801561086757600080fd5b50610352610876366004614441565b6125cd565b34801561088757600080fd5b50610408610896366004614398565b600b6020526000908152604090205481565b3480156108b457600080fd5b506104086108c33660046144a9565b612760565b3480156108d457600080fd5b506108e86108e3366004614441565b6128a0565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610366565b34801561094857600080fd5b50600054610352906001600160401b031681565b34801561096857600080fd5b50610408610977366004614398565b612913565b34801561098857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b3480156109bb57600080fd5b506103096109ca3660046144d2565b61296b565b3480156109db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610352565b348015610a0e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610a4157600080fd5b506103cd610a50366004614441565b60046020526000908152604090205460ff1681565b348015610a7157600080fd5b50610309610a803660046143b5565b612cfc565b348015610a9157600080fd5b50610a9a613068565b6040516103669392919061455d565b348015610ab557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b348015610ae857600080fd5b506103cd610af7366004614441565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b2b57610b2b614339565b14610b495760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610b745760405163075173a960e11b815260040160405180910390fd5b610b82610b7f6125c1565b90565b610b99610b9436869003860186614598565b6130c0565b14610bb757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bcc92919061460b565b604051809103902014610bf25760405163d81d583b60e01b815260040160405180910390fd5b6000610c3b610c3684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061311c92505050565b613170565b90506000610c6282600881518110610c5557610c5561461b565b60200260200101516132f4565b9050602081511115610c875760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610c9e6125b5565b8103610cbd57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d0957610d09614339565b14610d275760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d3c57610d3c61461b565b906000526020600020906005020190506000610d57846125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610da65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610dd65760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610df357508515155b15610e55578354600160201b90046001600160a01b031660008115610e185781610e27565b60018601546001600160a01b03165b9050610e338187613376565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610ed9576001600160801b036040820152600181526000869003610ed9578195505b600086826020015163ffffffff16610ef19190614647565b90506000838211610f025781610f04565b835b602084015190915063ffffffff165b8181101561100a576000868281548110610f2f57610f2f61461b565b6000918252602080832090910154808352600690915260409091205490915060ff16610f6e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610f8357610f8361461b565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610fc95750600481015460408701516001600160801b039182169116115b15610ff55760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110029061465f565b915050610f13565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361118a57606083015160008a8152600660205260409020805460ff19166001179055891580156110f15750600054600160901b900460ff165b15611137576001546001600160a01b031661110c818a613376565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611188565b6111646001600160a01b0382161561114f578161115e565b60018901546001600160a01b03165b89613376565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111b6576111b6614339565b146111d45760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661121f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061123e5761123e61461b565b6000918252602090912060059091020154600160201b90046001600160a01b03161461126b57600161126e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156112d4576112d4614339565b0217905560028111156112e9576112e9614339565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061133157600080fd5b90600052602060002001600091509150505481565b600061135260006133b8565b905090565b6113648383836001611658565b505050565b6000818152600760209081526040808320600590925282208054825461139a90610100900463ffffffff1682614678565b95945050505050565b6060611352605460206133db565b6113b9611ec9565b60006002600d5460ff1660028111156113d4576113d4614339565b036113f857506001600160a01b0381166000908152600b602052604090205461144e565b6001600d5460ff16600281111561141157611411614339565b0361143557506001600160a01b03811660009081526003602052604090205461144e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611512576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156114f657600080fd5b505af115801561150a573d6000803e3d6000fd5b505050505050565b80600003611533576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115c057600080fd5b505af11580156115d4573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611625576040519150601f19603f3d011682016040523d82523d6000602084013e61162a565b606091505b5050905080611364576040516383e6cc6b60e01b815260040160405180910390fd5b6000611352603461341d565b60008054600160801b900460ff16600281111561167757611677614339565b146116955760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116aa576116aa61461b565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117545760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611781826001600160801b031661343d565b60ff1690508615806117bc57506117b97f00000000000000000000000000000000000000000000000000000000000000006002614647565b81145b80156117c6575084155b156117e4576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156117fb575086155b156118195760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561185a576040516356f57b2b60e01b815260040160405180910390fd5b6118857f00000000000000000000000000000000000000000000000000000000000000006001614647565b810361189757611897868885886134a9565b346118a183612760565b146118bf57604051638620aa1960e01b815260040160405180910390fd5b60006118ca886125cd565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361191857604051630ce0744560e21b815260040160405180910390fd5b600061194560017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611a68577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cd919061468f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e91906146ac565b611a61907f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166146c5565b9050611af9565b611a9360017f0000000000000000000000000000000000000000000000000000000000000000614678565b8303611acd57611a617f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026146f0565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b2c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b6001600160401b0316611b45836001600160401b031690565b6001600160401b03161115611b8a57611b87817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661471f565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611be6576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611ddd9190614678565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e11908490614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e7357600080fd5b505af1158015611e87573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611ee257611ee2614339565b1480611f0457506001600d5460ff166002811115611f0257611f02614339565b145b15611f0b57565b6000600d5460ff166002811115611f2457611f24614339565b14611f42576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b0316600003611f7e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611fe5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120099190614747565b90508061202957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561208a57600080fd5b505af192505050801561209b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015612103573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121279190614747565b9050801561214157600d805460ff1916600117905561214f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916121869160ff90911690614370565b60405180910390a15050565b6113648383836000611658565b600054600160881b900460ff16156121c95760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224d9190614764565b90925090508161227057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146122a357639824bdab6000526004601cfd5b806122ac6125b5565b116122de576122b96125c1565b60405163f40239db60e01b81526004016122d591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff8152600060208201526002918101612303611346565b6001600160a01b03168152602001346001600160801b031681526020016123286125c1565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b90612422611346565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546124519190614647565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b357600080fd5b505af11580156124c7573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125999190614788565b600a805460ff191663ffffffff92909216929092141790555050565b6000611352605461341d565b6000611352601461341d565b600080600054600160801b900460ff1660028111156125ee576125ee614339565b1461260c5760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126215761262161461b565b600091825260208220600590910201805490925063ffffffff9081161461268757815460028054909163ffffffff1690811061265f5761265f61461b565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b60048201546000906126b090600160801b90046001600160401b03165b6001600160401b031690565b6126c3906001600160401b031642614678565b6126d96126a4846001600160801b031660401c90565b6001600160401b03166126ec9190614647565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611612736578061139a565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612775836001600160801b031661343d565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156127bb576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006127d683836147c4565b9050670de0b6b3a7640000600061280d827f00000000000000000000000000000000000000000000000000000000000000006147d8565b9050600061282b612826670de0b6b3a7640000866147d8565b61359e565b9050600061283984846137b4565b905060006128478383613803565b9050600061285482613831565b905060006128738261286e670de0b6b3a76400008f6147d8565b6139ae565b905060006128818b83613803565b905061288d818d6147d8565b9f9e505050505050505050505050505050565b600281815481106128b057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561292e5761292e614339565b0361294f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561298a5761298a614339565b146129a85760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106129bd576129bd61461b565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612a137f00000000000000000000000000000000000000000000000000000000000000006001614647565b612a25826001600160801b031661343d565b60ff1614612a4657604051630bea7bb360e31b815260040160405180910390fd5b6000808915612b2257612a997f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614678565b6001901b612aaf846001600160801b03166139df565b6001600160801b0316612ac291906147f7565b15612af657612aed612ade60016001600160801b03871661480b565b865463ffffffff1660006139fd565b60030154612b18565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612b43565b60038501549150612b40612ade6001600160801b038616600161482b565b90505b600882901b60088a8a604051612b5a92919061460b565b6040518091039020901b14612b825760405163696550ff60e01b815260040160405180910390fd5b6000612b8d8c613ac6565b90506000612b9c836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612bf0908f908f908f908f908a90600401614876565b6020604051808303816000875af1158015612c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3391906146ac565b600485015491149150600090600290612c54906001600160801b031661343d565b612c66896001600160801b031661343d565b612c7091906148b0565b612c7a91906148d3565b60ff161590508115158103612ca25760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612cd257604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612d1b57612d1b614339565b14612d395760405163067fe19560e41b815260040160405180910390fd5b600080600080612d4886613af5565b93509350935093506000612d5e85858585613d64565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de4919061468f565b905060018903612e8e576001600160a01b0381166352f0f3ad8a84612e0a610b7f61164c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e8891906146ac565b5061118a565b60028903612ead576001600160a01b0381166352f0f3ad8a8489612e0a565b60038903612ecc576001600160a01b0381166352f0f3ad8a8487612e0a565b60048903612fd9576000612f096001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613e03565b600954612f169190614647565b612f21906001614647565b9050612f2b6125b5565b8110612f3e57612f396125b5565b612f40565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fd291906146ac565b505061118a565b6005890361304c576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612e45565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600060606130956125c1565b915061309f6113a3565b9050909192565b60008183116130b557816130b7565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016130ff949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361315257604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061318085613e30565b91945092509050600181600181111561319b5761319b614339565b146131b9576040516325ce355f60e11b815260040160405180910390fd5b84516131c58385614647565b146131e357604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816131fa5790505093506000835b86518110156132e85760008061326d6040518060400160405280858c600001516132519190614678565b8152602001858c602001516132669190614647565b9052613e30565b5091509150604051806040016040528083836132899190614647565b8152602001848b6020015161329e9190614647565b8152508885815181106132b3576132b361461b565b60209081029190910101526132c9600185614647565b93506132d58183614647565b6132df9084614647565b92505050613227565b50845250919392505050565b6060600080600061330485613e30565b91945092509050600081600181111561331f5761331f614339565b1461333d576040516307fe6cb960e21b815260040160405180910390fd5b6133478284614647565b85511461336757604051630b8aa6f760e31b815260040160405180910390fd5b61139a85602001518484614126565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b03909316929091906133af908490614647565b90915550505050565b6000806133cd3660011981013560f01c900390565b929092013560601c92915050565b606060006133f13660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806134323660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006134bf6001600160801b038416600161482b565b905060006134cf828660016139fd565b9050600086901a8380613531575061350860027f00000000000000000000000000000000000000000000000000000000000000006147f7565b6004830154600290613522906001600160801b031661343d565b61352c91906148d3565b60ff16145b156135705760ff81166001148061354b575060ff81166002145b61356b5760405163f40239db60e01b8152600481018890526024016122d5565b613595565b60ff8116156135955760405163f40239db60e01b8152600481018890526024016122d5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136135f357631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026137f157637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138215763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361384957919050565b680755bf798b4a1bf1e582126138675763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006130b7670de0b6b3a7640000836139c68661359e565b6139d091906148f5565b6139da919061497a565b613831565b6000806139eb8361343d565b600160ff919091161b90920392915050565b60008082613a3d57613a386001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006141ba565b613a4f565b613a4f856001600160801b0316614229565b905060028481548110613a6457613a6461461b565b906000526020600020906005020191505b60048201546001600160801b03828116911614613abe57815460028054909163ffffffff16908110613aa957613aa961461b565b90600052602060002090600502019150613a75565b509392505050565b6000806000806000613ad786613af5565b9350935093509350613aeb84848484613d64565b9695505050505050565b6000806000806000859050600060028281548110613b1557613b1561461b565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b61906001600160801b031661343d565b60ff1611613b82576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbf906001600160801b031661343d565b60ff169250821115613c3457825463ffffffff16613bfe7f00000000000000000000000000000000000000000000000000000000000000006001614647565b8303613c08578391505b60028181548110613c1b57613c1b61461b565b9060005260206000209060050201935080945050613b86565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c79613c6d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d12576000613c9f836001600160801b03166139df565b6001600160801b03161115613cef576000613ccf613cc760016001600160801b03861661480b565b8960016139fd565b6003810154600490910154909c506001600160801b03169a50613cf59050565b6008549a505b600386015460048701549099506001600160801b03169750613d56565b6000613d2b613cc76001600160801b038516600161482b565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbf5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012061139a565b8282604051602001613de49291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0f8461343d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5a57604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7f57600060016000945094509450505061411f565b60b78111613f17576000613e94608083614678565b905080876000015111613eba576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee65750600160ff1b6001600160f81b03198216105b15613f045760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411f915050565b60bf8111613ff9576000613f2c60b783614678565b905080876000015111613f52576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fb25760405163babb01dd60e01b815260040160405180910390fd5b613fbc8184614647565b895111613fdc576040516366c9448560e01b815260040160405180910390fd5b613fe7836001614647565b975095506000945061411f9350505050565b60f7811161404557600061400e60c083614678565b905080876000015111614034576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411f915050565b600061405260f783614678565b905080876000015111614078576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a95760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d85760405163babb01dd60e01b815260040160405180910390fd5b6140e28184614647565b895111614102576040516366c9448560e01b815260040160405180910390fd5b61410d836001614647565b975095506001945061411f9350505050565b9193909250565b6060816001600160401b0381111561414057614140614582565b6040519080825280601f01601f19166020018201604052801561416a576020820181803683370190505b50905081156141b357600061417f8486614647565b90506020820160005b848110156141a0578281015182820152602001614188565b848111156141af576000858301525b5050505b9392505050565b6000816141cf846001600160801b031661343d565b60ff16116141e55763b34b5c226000526004601cfd5b6141ee83614229565b905081614203826001600160801b031661343d565b60ff16116130ba576130b7614219836001614647565b6001600160801b0383169061424d565b6000811960018301168161423c8261343d565b60ff169390931c8015179392505050565b6000806142598461343d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261428757600080fd5b5081356001600160401b0381111561429e57600080fd5b6020830191508360208285010111156142b657600080fd5b9250929050565b600080600083850360a08112156142d357600080fd5b60808112156142e157600080fd5b5083925060808401356001600160401b038111156142fe57600080fd5b61430a86828701614275565b9497909650939450505050565b6000806040838503121561432a57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061436d57634e487b7160e01b600052602160045260246000fd5b50565b6020810161437d8361434f565b91905290565b6001600160a01b038116811461436d57600080fd5b6000602082840312156143aa57600080fd5b81356141b381614383565b6000806000606084860312156143ca57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b81811015614407576020818501810151868301820152016143eb565b81811115614419576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006130b760208301846143e1565b60006020828403121561445357600080fd5b5035919050565b801515811461436d57600080fd5b6000806000806080858703121561447e57600080fd5b843593506020850135925060408501359150606085013561449e8161445a565b939692955090935050565b6000602082840312156144bb57600080fd5b81356001600160801b03811681146141b357600080fd5b600080600080600080608087890312156144eb57600080fd5b8635955060208701356144fd8161445a565b945060408701356001600160401b038082111561451957600080fd5b6145258a838b01614275565b9096509450606089013591508082111561453e57600080fd5b5061454b89828a01614275565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061139a60608301846143e1565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156145aa57600080fd5b604051608081018181106001600160401b03821117156145da57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561465a5761465a614631565b500190565b60006001820161467157614671614631565b5060010190565b60008282101561468a5761468a614631565b500390565b6000602082840312156146a157600080fd5b81516141b381614383565b6000602082840312156146be57600080fd5b5051919050565b60006001600160401b038083168185168083038211156146e7576146e7614631565b01949350505050565b60006001600160401b038083168185168183048111821515161561471657614716614631565b02949350505050565b60006001600160401b038381169083168181101561473f5761473f614631565b039392505050565b60006020828403121561475957600080fd5b81516141b38161445a565b6000806040838503121561477757600080fd5b505080516020909101519092909150565b60006020828403121561479a57600080fd5b815163ffffffff811681146141b357600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826147d3576147d36147ae565b500490565b60008160001904831182151516156147f2576147f2614631565b500290565b600082614806576148066147ae565b500690565b60006001600160801b038381169083168181101561473f5761473f614631565b60006001600160801b038083168185168083038211156146e7576146e7614631565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60608152600061488a60608301878961484d565b828103602084015261489d81868861484d565b9150508260408301529695505050505050565b600060ff821660ff8416808210156148ca576148ca614631565b90039392505050565b600060ff8316806148e6576148e66147ae565b8060ff84160691505092915050565b60006001600160ff1b038184138284138082168684048611161561491b5761491b614631565b600160ff1b600087128281168783058912161561493a5761493a614631565b6000871292508782058712848416161561495657614956614631565b8785058712818416161561496c5761496c614631565b505050929093029392505050565b600082614989576149896147ae565b600160ff1b8214600019841416156149a3576149a3614631565b50059056fea264697066735822122042af6780a7c8dda46d8b2a5e18225ee0551564fb98a13883feff792f9f9e94d364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000003682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc1000000000000000000000000489c2e5ebe0037bdb2dc039c5770757b8e54ea1f0000000000000000000000000729957c92a1f50590a84cb2d65d761093f3f8eb0000000000000000000000000000000000000000000000000000000000014a34", "nonce": "0x45", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x9259bdb6ae2ebec1a4fba4d98b340c18c197df19ef747eab54d108e8e341b3a2", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0xf0102ffe22649a5421d53acc96e309660960cf44", "function": null, "arguments": [ "(1, 0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6, 73, 30, 10800, 302400, 0xF027F4A985560fb13324e943edf55ad6F1d15Dc1, 0x27A6128F707de3d99F89Bf09c35a4e0753E1B808, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 84532)", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x54c770", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620054a0380380620054a083398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c1b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b620022951760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c1b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c1b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614be5620008bb600039600081816105be015281816117310152611e9e01526000818161087d015281816116ff01528181611a630152611e6c0152600081816106f501528181612a0801528181612a720152612aa4015260008181610a2701526121ed0152600081816106780152818161184f015281816118f70152818161196d01528181612ecc015261322001526000818161054b0152818161154c0152818161161601528181612dee01526131580152600081816108b80152818161225901526131f70152600081816104f701528181611f530152818161292101526139a0015260008181610a7a01528181610dff01528181611bee01528181611c2e015281816128aa01528181612ad30152612b2e015260008181610aad015281816120d4015281816127670152818161283301528181612a430152818161384901528181613b2b01528181613b8901528181613bd4015281816141f101526142e0015260008181610b5401528181611c7201528181611cdf015281816127ef015281816128f5015281816137e2015261386a0152600081816107aa01526138ed0152614be56000f3fe60806040526004361061031a5760003560e01c80636f034409116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b01578063fa24f74314610b21578063fa315aa914610b45578063fe2bbeb214610b7857600080fd5b8063dabd396d14610a6b578063ec5e630814610a9e578063eff0f59214610ad157600080fd5b8063cf09e0d0116100d1578063cf09e0d0146109d8578063d5d44d80146109f8578063d6ae3cd514610a18578063d8cc1a3c14610a4b57600080fd5b8063c0d8bb7414610917578063c395e1ca14610944578063c6f0308c1461096457600080fd5b80638b85902b11610164578063a8e4fb901161013e578063a8e4fb901461086e578063bbdc02db146108a1578063bcef3b55146108e2578063bd8da956146108f757600080fd5b80638b85902b146107865780638d450a951461079b578063a445ece6146107ce57600080fd5b80636f0344091461071957806370872aa51461072c578063786b844b146107415780637b0f0adc146107565780638129fc1c146107695780638980e0cc1461077157600080fd5b80633e3ac9121161026a57806357da950e11610223578063609d3334116101fd578063609d33341461069c57806360e27464146106b15780636361506d146106d15780636b6716c0146106e657600080fd5b806357da950e146106195780635a5fa2d9146106495780635c0cba331461066957600080fd5b80633e3ac9121461051b5780633fc8cef31461053c578063472777c61461056f578063529d6a8c14610582578063534db0e2146105af57806354fd4d50146105e257600080fd5b806325fc2ace116102d757806330dbe570116102b157806330dbe57014610481578063378dd48c146104b957806337b1b229146104d35780633a768463146104e857600080fd5b806325fc2ace1461042d5780632810e1d61461044c5780632ad69aeb1461046157600080fd5b8063019351301461031f57806303c2924d1461034157806319effeb414610361578063200d2ed2146103a5578063222abf45146103d3578063250e69bd14610413575b600080fd5b34801561032b57600080fd5b5061033f61033a3660046144c4565b610ba8565b005b34801561034d57600080fd5b5061033f61035c36600461451e565b610d86565b34801561036d57600080fd5b5060005461038890600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103b157600080fd5b506000546103c690600160801b900460ff1681565b60405161039c9190614577565b3480156103df57600080fd5b506104036103ee36600461459f565b600c6020526000908152604090205460ff1681565b604051901515815260200161039c565b34801561041f57600080fd5b50600a546104039060ff1681565b34801561043957600080fd5b506008545b60405190815260200161039c565b34801561045857600080fd5b506103c6611231565b34801561046d57600080fd5b5061043e61047c36600461451e565b6113b1565b34801561048d57600080fd5b506001546104a1906001600160a01b031681565b6040516001600160a01b03909116815260200161039c565b3480156104c557600080fd5b50600d546103c69060ff1681565b3480156104df57600080fd5b506104a16113e2565b3480156104f457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b34801561052757600080fd5b5060005461040390600160901b900460ff1681565b34801561054857600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b61033f61057d3660046145bc565b6113f3565b34801561058e57600080fd5b5061043e61059d36600461459f565b60036020526000908152604090205481565b3480156105bb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156105ee57600080fd5b50604080518082019091526005815264312e342e3160d81b60208201525b60405161039c9190614635565b34801561062557600080fd5b50600854600954610634919082565b6040805192835260208301919091520161039c565b34801561065557600080fd5b5061043e610664366004614648565b611405565b34801561067557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156106a857600080fd5b5061060c61143f565b3480156106bd57600080fd5b5061033f6106cc36600461459f565b61144d565b3480156106dd57600080fd5b5061043e6116e8565b3480156106f257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b61033f61072736600461466f565b6116f4565b34801561073857600080fd5b5060095461043e565b34801561074d57600080fd5b5061033f611782565b61033f6107643660046145bc565b611a4b565b61033f611a58565b34801561077d57600080fd5b5060025461043e565b34801561079257600080fd5b5061043e611aab565b3480156107a757600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b3480156107da57600080fd5b506108306107e9366004614648565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b0316606082015260800161039c565b34801561087a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104a1565b3480156108ad57600080fd5b5060405163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161039c565b3480156108ee57600080fd5b5061043e611ab7565b34801561090357600080fd5b50610388610912366004614648565b611ac3565b34801561092357600080fd5b5061043e61093236600461459f565b600b6020526000908152604090205481565b34801561095057600080fd5b5061043e61095f3660046146b0565b611c56565b34801561097057600080fd5b5061098461097f366004614648565b611d96565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e00161039c565b3480156109e457600080fd5b50600054610388906001600160401b031681565b348015610a0457600080fd5b5061043e610a1336600461459f565b611e09565b348015610a2457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610a5757600080fd5b5061033f610a663660046146d9565b611e61565b348015610a7757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610388565b348015610aaa57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610add57600080fd5b50610403610aec366004614648565b60046020526000908152604090205460ff1681565b348015610b0d57600080fd5b5061033f610b1c3660046145bc565b611eeb565b348015610b2d57600080fd5b50610b36612257565b60405161039c93929190614764565b348015610b5157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061043e565b348015610b8457600080fd5b50610403610b93366004614648565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bc757610bc7614540565b14610be55760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c105760405163075173a960e11b815260040160405180910390fd5b610c1e610c1b611ab7565b90565b610c35610c303686900386018661479f565b6122af565b14610c5357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c68929190614812565b604051809103902014610c8e5760405163d81d583b60e01b815260040160405180910390fd5b6000610cd7610cd284848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061230b92505050565b61235f565b90506000610cfe82600881518110610cf157610cf1614822565b60200260200101516124e3565b9050602081511115610d235760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d3a611aab565b8103610d5957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610da557610da5614540565b14610dc35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610dd857610dd8614822565b906000526020600020906005020190506000610df384611ac3565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e425760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e725760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e8f57508515155b15610ef1578354600160201b90046001600160a01b031660008115610eb45781610ec3565b60018601546001600160a01b03165b9050610ecf8187612565565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f75576001600160801b036040820152600181526000869003610f75578195505b600086826020015163ffffffff16610f8d919061484e565b90506000838211610f9e5781610fa0565b835b602084015190915063ffffffff165b818110156110a6576000868281548110610fcb57610fcb614822565b6000918252602080832090910154808352600690915260409091205490915060ff1661100a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061101f5761101f614822565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110655750600481015460408701516001600160801b039182169116115b156110915760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061109e90614866565b915050610faf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361122657606083015160008a8152600660205260409020805460ff191660011790558915801561118d5750600054600160901b900460ff165b156111d3576001546001600160a01b03166111a8818a612565565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611224565b6112006001600160a01b038216156111eb57816111fa565b60018901546001600160a01b03165b89612565565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561125257611252614540565b146112705760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112bb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b031660026000815481106112da576112da614822565b6000918252602090912060059091020154600160201b90046001600160a01b03161461130757600161130a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561137057611370614540565b02179055600281111561138557611385614540565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113cd57600080fd5b90600052602060002001600091509150505481565b60006113ee60006125a7565b905090565b61140083838360016116f4565b505050565b6000818152600760209081526040808320600590925282208054825461143690610100900463ffffffff168261487f565b95945050505050565b60606113ee605460206125ca565b611455611782565b60006002600d5460ff16600281111561147057611470614540565b0361149457506001600160a01b0381166000908152600b60205260409020546114ea565b6001600d5460ff1660028111156114ad576114ad614540565b036114d157506001600160a01b0381166000908152600360205260409020546114ea565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115ae576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561159257600080fd5b505af11580156115a6573d6000803e3d6000fd5b505050505050565b806000036115cf576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561165c57600080fd5b505af1158015611670573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b5050905080611400576040516383e6cc6b60e01b815260040160405180910390fd5b60006113ee603461260c565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117535750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611770576040516369c3779f60e11b815260040160405180910390fd5b61177c8484848461262c565b50505050565b6002600d5460ff16600281111561179b5761179b614540565b14806117bd57506001600d5460ff1660028111156117bb576117bb614540565b145b156117c457565b6000600d5460ff1660028111156117dd576117dd614540565b146117fb576040516301e28f7d60e21b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361183757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561189e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c29190614896565b9050806118e257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561194357600080fd5b505af1925050508015611954575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e09190614896565b905080156119fa57600d805460ff19166001179055611a08565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611a3f9160ff90911690614577565b60405180910390a15050565b61140083838360006116f4565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611aa1576040516369c3779f60e11b815260040160405180910390fd5b611aa9612e9d565b565b60006113ee605461260c565b60006113ee601461260c565b600080600054600160801b900460ff166002811115611ae457611ae4614540565b14611b025760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611b1757611b17614822565b600091825260208220600590910201805490925063ffffffff90811614611b7d57815460028054909163ffffffff16908110611b5557611b55614822565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611ba690600160801b90046001600160401b03165b6001600160401b031690565b611bb9906001600160401b03164261487f565b611bcf611b9a846001600160801b031660401c90565b6001600160401b0316611be2919061484e565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611c2c5780611436565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611c6b836001600160801b03166132b3565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611cb1576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611ccc83836148c9565b9050670de0b6b3a76400006000611d03827f00000000000000000000000000000000000000000000000000000000000000006148dd565b90506000611d21611d1c670de0b6b3a7640000866148dd565b61331f565b90506000611d2f8484613535565b90506000611d3d8383613584565b90506000611d4a826135b2565b90506000611d6982611d64670de0b6b3a76400008f6148dd565b61372f565b90506000611d778b83613584565b9050611d83818d6148dd565b9f9e505050505050505050505050505050565b60028181548110611da657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611e2457611e24614540565b03611e4557506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611ec05750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611edd576040516369c3779f60e11b815260040160405180910390fd5b6115a6868686868686613760565b60008054600160801b900460ff166002811115611f0a57611f0a614540565b14611f285760405163067fe19560e41b815260040160405180910390fd5b600080600080611f3786613af1565b93509350935093506000611f4d85858585613d60565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611faf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd391906148fc565b90506001890361207d576001600160a01b0381166352f0f3ad8a84611ff9610c1b6116e8565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120779190614919565b50611226565b6002890361209c576001600160a01b0381166352f0f3ad8a8489611ff9565b600389036120bb576001600160a01b0381166352f0f3ad8a8487611ff9565b600489036121c85760006120f86001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613dff565b600954612105919061484e565b61211090600161484e565b905061211a611aab565b811061212d57612128611aab565b61212f565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561219d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c19190614919565b5050611226565b6005890361223b576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612034565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060006060612284611ab7565b915061228e61143f565b9050909192565b60008183116122a457816122a6565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016122ee949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361234157604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061236f85613e2c565b91945092509050600181600181111561238a5761238a614540565b146123a8576040516325ce355f60e11b815260040160405180910390fd5b84516123b4838561484e565b146123d257604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816123e95790505093506000835b86518110156124d75760008061245c6040518060400160405280858c60000151612440919061487f565b8152602001858c60200151612455919061484e565b9052613e2c565b509150915060405180604001604052808383612478919061484e565b8152602001848b6020015161248d919061484e565b8152508885815181106124a2576124a2614822565b60209081029190910101526124b860018561484e565b93506124c4818361484e565b6124ce908461484e565b92505050612416565b50845250919392505050565b606060008060006124f385613e2c565b91945092509050600081600181111561250e5761250e614540565b1461252c576040516307fe6cb960e21b815260040160405180910390fd5b612536828461484e565b85511461255657604051630b8aa6f760e31b815260040160405180910390fd5b61143685602001518484614122565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b039093169290919061259e90849061484e565b90915550505050565b6000806125bc3660011981013560f01c900390565b929092013560601c92915050565b606060006125e03660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126213660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff16600281111561264b5761264b614540565b146126695760405163067fe19560e41b815260040160405180910390fd5b60006002848154811061267e5761267e614822565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146127285760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612755826001600160801b03166132b3565b60ff169050861580612790575061278d7f0000000000000000000000000000000000000000000000000000000000000000600261484e565b81145b801561279a575084155b156127b8576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156127cf575086155b156127ed5760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561282e576040516356f57b2b60e01b815260040160405180910390fd5b6128597f0000000000000000000000000000000000000000000000000000000000000000600161484e565b810361286b5761286b868885886141b6565b3461287583611c56565b1461289357604051638620aa1960e01b815260040160405180910390fd5b600061289e88611ac3565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036128ec57604051630ce0744560e21b815260040160405180910390fd5b600061291960017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612a3c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561297d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a191906148fc565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a029190614919565b612a35907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614932565b9050612acd565b612a6760017f000000000000000000000000000000000000000000000000000000000000000061487f565b8303612aa157612a357f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316600261495d565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612b00817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b6001600160401b0316612b19836001600160401b031690565b6001600160401b03161115612b5e57612b5b817f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661498c565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612bba576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612db1919061487f565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612de590849061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612e4757600080fd5b505af1158015612e5b573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612ec75760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4b91906149b4565b909250905081612f6e57604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a14612fa157639824bdab6000526004601cfd5b80612faa611aab565b11612fdc57612fb7611ab7565b60405163f40239db60e01b8152600401612fd391815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130016113e2565b6001600160a01b03168152602001346001600160801b03168152602001613026611ab7565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131206113e2565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461314f919061484e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156131b157600080fd5b505af11580156131c5573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329791906149d8565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361337457631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261357257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156135a25763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136135ca57919050565b680755bf798b4a1bf1e582126135e85763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006122a6670de0b6b3a7640000836137478661331f565b61375191906149fe565b61375b9190614a83565b6135b2565b60008054600160801b900460ff16600281111561377f5761377f614540565b1461379d5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106137b2576137b2614822565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138087f0000000000000000000000000000000000000000000000000000000000000000600161484e565b61381a826001600160801b03166132b3565b60ff161461383b57604051630bea7bb360e31b815260040160405180910390fd5b60008089156139175761388e7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061487f565b6001901b6138a4846001600160801b03166142ab565b6001600160801b03166138b79190614ab1565b156138eb576138e26138d360016001600160801b038716614ac5565b865463ffffffff1660006142c9565b6003015461390d565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613938565b600385015491506139356138d36001600160801b0386166001614ae5565b90505b600882901b60088a8a60405161394f929190614812565b6040518091039020901b146139775760405163696550ff60e01b815260040160405180910390fd5b60006139828c614392565b90506000613991836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced32906139e5908f908f908f908f908a90600401614b30565b6020604051808303816000875af1158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a289190614919565b600485015491149150600090600290613a49906001600160801b03166132b3565b613a5b896001600160801b03166132b3565b613a659190614b6a565b613a6f9190614b8d565b60ff161590508115158103613a975760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ac757604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613b1157613b11614822565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613b5d906001600160801b03166132b3565b60ff1611613b7e576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613bbb906001600160801b03166132b3565b60ff169250821115613c3057825463ffffffff16613bfa7f0000000000000000000000000000000000000000000000000000000000000000600161484e565b8303613c04578391505b60028181548110613c1757613c17614822565b9060005260206000209060050201935080945050613b82565b600481810154908401546001600160801b0391821691166000816001600160801b0316613c75613c69856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613d0e576000613c9b836001600160801b03166142ab565b6001600160801b03161115613ceb576000613ccb613cc360016001600160801b038616614ac5565b8960016142c9565b6003810154600490910154909c506001600160801b03169a50613cf19050565b6008549a505b600386015460048701549099506001600160801b03169750613d52565b6000613d27613cc36001600160801b0385166001614ae5565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613dbb5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611436565b8282604051602001613de09291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613e0b846132b3565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613e5657604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613e7b57600060016000945094509450505061411b565b60b78111613f13576000613e9060808361487f565b905080876000015111613eb6576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613ee25750600160ff1b6001600160f81b03198216105b15613f005760405163babb01dd60e01b815260040160405180910390fd5b506001955093506000925061411b915050565b60bf8111613ff5576000613f2860b78361487f565b905080876000015111613f4e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b0319166000819003613f7f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c60378111613fae5760405163babb01dd60e01b815260040160405180910390fd5b613fb8818461484e565b895111613fd8576040516366c9448560e01b815260040160405180910390fd5b613fe383600161484e565b975095506000945061411b9350505050565b60f7811161404157600061400a60c08361487f565b905080876000015111614030576040516366c9448560e01b815260040160405180910390fd5b60019550935084925061411b915050565b600061404e60f78361487f565b905080876000015111614074576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140a55760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140d45760405163babb01dd60e01b815260040160405180910390fd5b6140de818461484e565b8951116140fe576040516366c9448560e01b815260040160405180910390fd5b61410983600161484e565b975095506001945061411b9350505050565b9193909250565b6060816001600160401b0381111561413c5761413c614789565b6040519080825280601f01601f191660200182016040528015614166576020820181803683370190505b50905081156141af57600061417b848661484e565b90506020820160005b8481101561419c578281015182820152602001614184565b848111156141ab576000858301525b5050505b9392505050565b60006141cc6001600160801b0384166001614ae5565b905060006141dc828660016142c9565b9050600086901a838061423e575061421560027f0000000000000000000000000000000000000000000000000000000000000000614ab1565b600483015460029061422f906001600160801b03166132b3565b6142399190614b8d565b60ff16145b1561427d5760ff811660011480614258575060ff81166002145b6142785760405163f40239db60e01b815260048101889052602401612fd3565b6142a2565b60ff8116156142a25760405163f40239db60e01b815260048101889052602401612fd3565b50505050505050565b6000806142b7836132b3565b600160ff919091161b90920392915050565b60008082614309576143046001600160801b0386167f00000000000000000000000000000000000000000000000000000000000000006143c1565b61431b565b61431b856001600160801b0316614430565b90506002848154811061433057614330614822565b906000526020600020906005020191505b60048201546001600160801b0382811691161461438a57815460028054909163ffffffff1690811061437557614375614822565b90600052602060002090600502019150614341565b509392505050565b60008060008060006143a386613af1565b93509350935093506143b784848484613d60565b9695505050505050565b6000816143d6846001600160801b03166132b3565b60ff16116143ec5763b34b5c226000526004601cfd5b6143f583614430565b90508161440a826001600160801b03166132b3565b60ff16116122a9576122a661442083600161484e565b6001600160801b03831690614454565b60008119600183011681614443826132b3565b60ff169390931c8015179392505050565b600080614460846132b3565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261448e57600080fd5b5081356001600160401b038111156144a557600080fd5b6020830191508360208285010111156144bd57600080fd5b9250929050565b600080600083850360a08112156144da57600080fd5b60808112156144e857600080fd5b5083925060808401356001600160401b0381111561450557600080fd5b6145118682870161447c565b9497909650939450505050565b6000806040838503121561453157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061457457634e487b7160e01b600052602160045260246000fd5b50565b6020810161458483614556565b91905290565b6001600160a01b038116811461457457600080fd5b6000602082840312156145b157600080fd5b81356141af8161458a565b6000806000606084860312156145d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561460e576020818501810151868301820152016145f2565b81811115614620576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006122a660208301846145e8565b60006020828403121561465a57600080fd5b5035919050565b801515811461457457600080fd5b6000806000806080858703121561468557600080fd5b84359350602085013592506040850135915060608501356146a581614661565b939692955090935050565b6000602082840312156146c257600080fd5b81356001600160801b03811681146141af57600080fd5b600080600080600080608087890312156146f257600080fd5b86359550602087013561470481614661565b945060408701356001600160401b038082111561472057600080fd5b61472c8a838b0161447c565b9096509450606089013591508082111561474557600080fd5b5061475289828a0161447c565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061143660608301846145e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156147b157600080fd5b604051608081018181106001600160401b03821117156147e157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561486157614861614838565b500190565b60006001820161487857614878614838565b5060010190565b60008282101561489157614891614838565b500390565b6000602082840312156148a857600080fd5b81516141af81614661565b634e487b7160e01b600052601260045260246000fd5b6000826148d8576148d86148b3565b500490565b60008160001904831182151516156148f7576148f7614838565b500290565b60006020828403121561490e57600080fd5b81516141af8161458a565b60006020828403121561492b57600080fd5b5051919050565b60006001600160401b0380831681851680830382111561495457614954614838565b01949350505050565b60006001600160401b038083168185168183048111821515161561498357614983614838565b02949350505050565b60006001600160401b03838116908316818110156149ac576149ac614838565b039392505050565b600080604083850312156149c757600080fd5b505080516020909101519092909150565b6000602082840312156149ea57600080fd5b815163ffffffff811681146141af57600080fd5b60006001600160ff1b0381841382841380821686840486111615614a2457614a24614838565b600160ff1b6000871282811687830589121615614a4357614a43614838565b60008712925087820587128484161615614a5f57614a5f614838565b87850587128184161615614a7557614a75614838565b505050929093029392505050565b600082614a9257614a926148b3565b600160ff1b821460001984141615614aac57614aac614838565b500590565b600082614ac057614ac06148b3565b500690565b60006001600160801b03838116908316818110156149ac576149ac614838565b60006001600160801b0380831681851680830382111561495457614954614838565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614b44606083018789614b07565b8281036020840152614b57818688614b07565b9150508260408301529695505050505050565b600060ff821660ff841680821015614b8457614b84614838565b90039392505050565b600060ff831680614ba057614ba06148b3565b8060ff8416069150509291505056fea2646970667358221220f7ed1e8138fabb419e12943b164c707feba00282c8887ea78c4d88e07890192064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000000103682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b60000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000f027f4a985560fb13324e943edf55ad6f1d15dc100000000000000000000000027a6128f707de3d99f89bf09c35a4e0753e1b8080000000000000000000000000729957c92a1f50590a84cb2d65d761093f3f8eb0000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0x46", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x171f817", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x8c759a253375b2b62743268cd133da994dacae821ed82ff57fd52a77a4ffa8fe", "transactionIndex": "0x45", "blockHash": "0xc7cbc7977df7a2425e63913159ae44958fa3ca88e1603cef8b0d29f0680df07c", "blockNumber": "0x7bfb57", "gasUsed": "0x3f8429", "effectiveGasPrice": "0x1362d8", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xcfce7dd673fbbbffd16ab936b7245a2f2db31c9a" }, { "status": "0x1", "cumulativeGasUsed": "0x1b3bda0", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9259bdb6ae2ebec1a4fba4d98b340c18c197df19ef747eab54d108e8e341b3a2", "transactionIndex": "0x47", "blockHash": "0xc7cbc7977df7a2425e63913159ae44958fa3ca88e1603cef8b0d29f0680df07c", "blockNumber": "0x7bfb57", "gasUsed": "0x413c56", "effectiveGasPrice": "0x1362d8", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xf0102ffe22649a5421d53acc96e309660960cf44" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744743721, "chain": 11155111, "commit": "b94c30d" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea0f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x36", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1ed727c", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "logIndex": "0x1e4", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xcd2f5745f773c13e0fa37f6ed4a7b53ab91390722336ba4e4710b2759252cc5f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "logIndex": "0x1e5", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000200000000100000000008000000", "type": "0x2", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "gasUsed": "0x162cc", "effectiveGasPrice": "0x375cccc21", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823689, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approveOnBehalfOfIntermediateSafe-latest.json ================================================ { "transactions": [ { "hash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x1ff0a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x35", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc67662", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "logIndex": "0xaf", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e240000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "logIndex": "0xb0", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000200000000100000000000000000", "type": "0x2", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "gasUsed": "0x171fd", "effectiveGasPrice": "0x349dbdb5c", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823401, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/approveOnBehalfOfSignerSafe-latest.json ================================================ { "transactions": [ { "hash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xcc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x34", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x17fa65d", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "logIndex": "0x143", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x218ee5676a20741243534198f9d7c541eb22dd71434a60bd6b2606f8b8c762b60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "logIndex": "0x144", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000004000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "gasUsed": "0x15883", "effectiveGasPrice": "0x38b620b6d", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823305, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744822945.json ================================================ { "transactions": [ { "hash": "0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x3d43b0dd13f0303b30a7b84902b5df24a880a80777f34582a77a2494046fd54a262e97b083ce10f9b34fab9823feadb7c1af56aad8bb302fced611cf6b8fd7011c820486edbbb01b0e140e5c8501b6e585890335704131b6a10ad456e8cd02ac615962e5e79e72ebdb3db82f2cd360e4e444824efa76c14f28501b836eb44813701be634be4e49c481bb6fbdea315e475782a015cd7a21cfb03ea85017dec71b69fe0e640babfa49fb78ee6636eeffff4fb4b14d3d926732c21e06789f5e2ad2b6861b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2b501", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c33d43b0dd13f0303b30a7b84902b5df24a880a80777f34582a77a2494046fd54a262e97b083ce10f9b34fab9823feadb7c1af56aad8bb302fced611cf6b8fd7011c820486edbbb01b0e140e5c8501b6e585890335704131b6a10ad456e8cd02ac615962e5e79e72ebdb3db82f2cd360e4e444824efa76c14f28501b836eb44813701be634be4e49c481bb6fbdea315e475782a015cd7a21cfb03ea85017dec71b69fe0e640babfa49fb78ee6636eeffff4fb4b14d3d926732c21e06789f5e2ad2b6861b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x33", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4caa1d", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e", "blockNumber": "0x7c1431", "transactionHash": "0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801", "transactionIndex": "0x37", "logIndex": "0x3f", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x80b465312b6735c58343db030592705e1798415e9aeb6b8b583e724be2f32146" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e", "blockNumber": "0x7c1431", "transactionHash": "0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801", "transactionIndex": "0x37", "logIndex": "0x40", "removed": false } ], "logsBloom": "0x00000000400000000000000000000200000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000020000000000000000000000000000000000000000800004000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000000000000000020000404000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x00ce97e08d314df46bb48cd197ca5ed18e4a56364fffe406c57ebc5a5611d801", "transactionIndex": "0x37", "blockHash": "0x5373295a664ba4f72b22950963493e53264c17ba04364602bbb2a1fae8280b2e", "blockNumber": "0x7c1431", "gasUsed": "0x1d9da", "effectiveGasPrice": "0x3929fc9dc", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744822945, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823305.json ================================================ { "transactions": [ { "hash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xcc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e2400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cc6e1683a75b0955a7348084ef188d4e5723a975747c47ce447d4d3f4b7169af090a1bd1b61284a0886f20ad69b2ce72379d1e03d1b39e7f5370da3e4e3e4e411b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x34", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x17fa65d", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "logIndex": "0x143", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x218ee5676a20741243534198f9d7c541eb22dd71434a60bd6b2606f8b8c762b60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "logIndex": "0x144", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000004000000000000010000040000000000000000000000000040000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x07f5252a685d78b83fd3d5e64266f172d763836e4dd9298f9c7c6350057f6bb8", "transactionIndex": "0xa5", "blockHash": "0x45fe584eca2fba5ce1b7e133648a1bc807cc997af8fa167cf866421a2d950fd6", "blockNumber": "0x7c144d", "gasUsed": "0x15883", "effectiveGasPrice": "0x38b620b6d", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823305, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823401.json ================================================ { "transactions": [ { "hash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x1ff0a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x35", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc67662", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "logIndex": "0xaf", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e240000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "logIndex": "0xb0", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000200000000100000000000000000", "type": "0x2", "transactionHash": "0x376c09440439c50f33aac91724f457f021eb7af3f63543a7dd8a21207e35a042", "transactionIndex": "0x62", "blockHash": "0x03013d13ac81d1ba856f8863b53af3c7bcc6cc7e3d8346d0ddea8873df0c0efe", "blockNumber": "0x7c1455", "gasUsed": "0x171fd", "effectiveGasPrice": "0x349dbdb5c", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823401, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823689.json ================================================ { "transactions": [ { "hash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea0f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b91695f3fd37687dd11a76e2d2917bfbf5f4223cae6416bde5c18426b559913a1a125910c779630a2373c19c0135ae11b3650d936ac6911d99edc13cf11d1a361b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x36", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1ed727c", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "logIndex": "0x1e4", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xcd2f5745f773c13e0fa37f6ed4a7b53ab91390722336ba4e4710b2759252cc5f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "logIndex": "0x1e5", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000010000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000008000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000200000000100000000008000000", "type": "0x2", "transactionHash": "0xb2196ea506626d91682ba17dca74b6d9a47b30c2276ac74a193f67e15ab88b29", "transactionIndex": "0xe4", "blockHash": "0x3b8936919d26dd4470d37dd43d78a4e5b6d6c0a8103f381e64f9c17efeb8698e", "blockNumber": "0x7c1469", "gasUsed": "0x162cc", "effectiveGasPrice": "0x375cccc21", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823689, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/records/UpgradeDGF.s.sol/11155111/run-1744823785.json ================================================ { "transactions": [ { "hash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x220f8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x37", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xeebda7", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000024482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a00000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000150000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a", "blockNumber": "0x7c1470", "transactionHash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionIndex": "0x72", "logIndex": "0xdb", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a", "blockNumber": "0x7c1470", "transactionHash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionIndex": "0x72", "logIndex": "0xdc", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a", "blockNumber": "0x7c1470", "transactionHash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionIndex": "0x72", "logIndex": "0xdd", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a", "blockNumber": "0x7c1470", "transactionHash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionIndex": "0x72", "logIndex": "0xde", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000001000000000000000100000000000048000000000000400000000000000000000000000040000040000000000000000000000000000020000000000000000000800000000000000000000000000000008010000200000000800000000000000000000000000000000000000000000000000000000000400000000000000000004100000000000000040000000000000000000000000000000000000000000020000000000000000000400000000000060000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x9815d944bf9edec3ebf81b7418d438144861c4bf2f2560ec12e028a175de7505", "transactionIndex": "0x72", "blockHash": "0xee5a51ae88b706cd83568a0bff62011d57802b335e086d220f1f93565568708a", "blockNumber": "0x7c1470", "gasUsed": "0x18a8d", "effectiveGasPrice": "0x3b839e98d", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744823785, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import { PermissionedDisputeGame, FaultDisputeGame } from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {LibGameType, LibDuration} from "@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; using LibDuration for Duration; using LibGameType for GameType; string public constant EXPECTED_VERSION = "1.4.1"; SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim immutable absolutePrestate; FaultDisputeGame.GameConstructorParams fdgParams; FaultDisputeGame.GameConstructorParams pdgParams; address proposer; address challenger; constructor() { absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); } function setUp() public { DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); uint256 maxGameDepth = currentFdg.maxGameDepth(); uint256 splitDepth = currentFdg.splitDepth(); Duration clockExtension = currentFdg.clockExtension(); Duration maxClockDuration = currentFdg.maxClockDuration(); IBigStepper bigStepper = currentFdg.vm(); IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry(); uint256 l2ChainId = currentFdg.l2ChainId(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); fdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentFdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); pdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.PERMISSIONED_CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentPdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); } function _postCheck(address fdgImpl, address pdgImpl) private view { FaultDisputeGame fdg = FaultDisputeGame(fdgImpl); PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl); require(Strings.equal(fdg.version(), EXPECTED_VERSION), "Postcheck version 1"); require(Strings.equal(pdg.version(), EXPECTED_VERSION), "Postcheck version 2"); require(fdg.gameType().raw() == GameTypes.CANNON.raw(), "Postcheck 1"); require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 2"); require(fdg.maxGameDepth() == fdgParams.maxGameDepth, "Postcheck 3"); require(fdg.splitDepth() == fdgParams.splitDepth, "Postcheck 4"); require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), "Postcheck 5"); require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), "Postcheck 6"); require(fdg.vm() == fdgParams.vm, "Postcheck 7"); require(fdg.weth() == fdgParams.weth, "Postcheck 8"); require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, "Postcheck 9"); require(fdg.l2ChainId() == fdgParams.l2ChainId, "Postcheck 10"); require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), "Postcheck 11"); require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 12"); require(pdg.maxGameDepth() == pdgParams.maxGameDepth, "Postcheck 13"); require(pdg.splitDepth() == pdgParams.splitDepth, "Postcheck 14"); require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), "Postcheck 15"); require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), "Postcheck 16"); require(pdg.vm() == pdgParams.vm, "Postcheck 17"); require(pdg.weth() == pdgParams.weth, "Postcheck 18"); require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, "Postcheck 19"); require(pdg.l2ChainId() == pdgParams.l2ChainId, "Postcheck 20"); require(pdg.proposer() == proposer, "Postcheck 21"); require(pdg.challenger() == challenger, "Postcheck 22"); } function run() public { (address fdg, address pdg) = _deployContracts(); _postCheck(fdg, pdg); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { console.log("FaultDisputeGame params:"); console.logBytes(abi.encode(fdgParams)); console.log("PermissionedDisputeGame params:"); console.logBytes(abi.encode(pdgParams, proposer, challenger)); vm.startBroadcast(); address fdg = address(new FaultDisputeGame(fdgParams)); address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger)); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {DoubleNestedMultisigBuilder} from "@base-contracts/script/universal/DoubleNestedMultisigBuilder.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; interface IDisputeGameFactory { function gameImpls(uint32) external view returns (address); function setImplementation(uint32, address) external; } interface IPermissionedDisputeGame { function challenger() external view returns (address); function proposer() external view returns (address); } interface ISystemConfig { function disputeGameFactory() external view returns (address); } interface IFaultDisputeGame { function version() external view returns (string memory); function vm() external view returns (address); function weth() external view returns (address); function anchorStateRegistry() external view returns (address); function l2ChainId() external view returns (uint64); function splitDepth() external view returns (uint64); function maxGameDepth() external view returns (uint64); function maxClockDuration() external view returns (uint64); function clockExtension() external view returns (uint64); } interface IAnchorStateRegistry { function anchors(uint32) external view returns (bytes32, uint256); } /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is DoubleNestedMultisigBuilder { using stdJson for string; string public constant EXPECTED_VERSION = "1.4.1"; uint32 public constant CANNON = 0; uint32 public constant PERMISSIONED_CANNON = 1; address public immutable OWNER_SAFE; IDisputeGameFactory public dgfProxy; address public fdgImpl; address public pdgImpl; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); } function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(CANNON, fdgImpl); _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType); IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl); require(Strings.equal(currentImpl.version(), EXPECTED_VERSION), "00"); require(currentImpl.vm() == faultDisputeGame.vm(), "10"); require(currentImpl.weth() == faultDisputeGame.weth(), "20"); require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), "70"); require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), "80"); if (targetGameType == PERMISSIONED_CANNON) { IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl)); IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame)); require(currentPDG.proposer() == permissionedDisputeGame.proposer(), "90"); require(currentPDG.challenger() == permissionedDisputeGame.challenger(), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(dgfProxy.gameImpls(CANNON) == fdgImpl, "post-110"); require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, "post-120"); _postcheckHasAnchorState(CANNON); _postcheckHasAnchorState(PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(uint32 gameType) internal view { console.log("check anchor state exists", gameType); IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType)); (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType); require(root != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3[] memory) { IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2); calls[0] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)) }); calls[1] = IMulticall3.Call3({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)) }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/validations/NestedSafeB.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Sepolia Nested Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x96288ea8d1ed0c28d42600176370a14feea0603f1b2bf703c2f0e9c051057d91` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Coordinator Safe (`0x646132a1667ca7ad00d36616afba1a28116c770a`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Safe B (`0x6af0674791925f767060dd52f7fb20984e8639d8`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016
  Decoded Kind:      uint256
  Decoded Old Value: 21
  Decoded New Value: 22

  Summary:           Nonce increment.

----- DecodedStateDiff[1] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xab950079e3717aa6d08dc27e568f5d265f0191a3c834755df7d524ff90e68e15
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x646132a1667ca7ad00d36616afba1a28116c770a` (the safe linked above).

----- DecodedStateDiff[2] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Coordinator Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000004
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000005
  Decoded Kind:      uint256
  Decoded Old Value: 4
  Decoded New Value: 5

  Summary:           Nonce increment.

----- DecodedStateDiff[3] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Coordinator Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x2c3020a2a54d72ea6bb5dc07d7fc42853cbd98a60be682e47419bb1909c4b1bd
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x6af0674791925f767060dd52f7fb20984e8639d8` (the safe linked above).

----- DecodedStateDiff[4] -----
  Who:               0x6af0674791925f767060dd52f7fb20984e8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004
  Decoded Kind:      uint256
  Decoded Old Value: 3
  Decoded New Value: 4

  Summary:           Nonce increment.

----- DecodedStateDiff[5] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e
  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5
  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44
  Decoded Kind:      address
  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5
  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44

  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.

----- DecodedStateDiff[6] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b
  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4
  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a
  Decoded Kind:      address
  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4
  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a

  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/validations/SafeA.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Sepolia Safe A: `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` > > - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23` > - Message Hash: `0xa09d16a602ff4e764c24e038fb7c11a4256f5bf904dfedd730de0643b16bb24a` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Safe A (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ### Coordinator Safe (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016
  Decoded Kind:      uint256
  Decoded Old Value: 21
  Decoded New Value: 22

  Summary:           Nonce increment.

----- DecodedStateDiff[1] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xab950079e3717aa6d08dc27e568f5d265f0191a3c834755df7d524ff90e68e15
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x646132a1667ca7ad00d36616afba1a28116c770a` (the safe linked above).

----- DecodedStateDiff[2] -----
  Who:               0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f
  Contract:          Safe A - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Nonce increment.

----- DecodedStateDiff[3] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Coordinator Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000004
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000005
  Decoded Kind:      uint256
  Decoded Old Value: 4
  Decoded New Value: 5

  Summary:           Nonce increment.

----- DecodedStateDiff[4] -----
  Who:               0x646132A1667ca7aD00d36616AFBA1A28116C770A
  Contract:          Coordinator Safe - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xdc2a8b21796295f338f397c162b212b221d214b9394fbe9a571cb58f3ad7c979
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0xab570f85b64f6cdd9c0676ea0628f2ec677f43261b11766d7ee85e6e9cac3e24` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` (the safe linked above).

----- DecodedStateDiff[5] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e
  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5
  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44
  Decoded Kind:      address
  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5
  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44

  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.

----- DecodedStateDiff[6] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b
  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4
  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a
  Decoded Kind:      address
  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4
  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a

  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-04-14-upgrade-fault-proofs/validations/SafeB.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Sepolia Safe B: `0x6af0674791925f767060dd52f7fb20984e8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x7d36496183631f74bd08724fe13d8c30ffe9600a334d642e5141ea030ee83dac` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## State Overrides ### Proxy Admin Owner (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Safe B (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the owner count to 1 so the transaction simulation can occur. - **Key**: `0x316a0aac0d94f5824f0b66f5bbe94a8c360a17699a1d3a233aafcf7146e9f11c`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: This is owners[0xca11bde05977b3631167028862be2a173976ca11] -> 1, so the key can be derived from cast index address 0xca11bde05977b3631167028862be2a173976ca11 2. - **Key**: `0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0`
**Override**: `0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca11`
**Meaning**: This is owners[1] -> 0xca11bde05977b3631167028862be2a173976ca11, so the key can be derived from cast index address 0x0000000000000000000000000000000000000001 2. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000015
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000016
  Decoded Kind:      uint256
  Decoded Old Value: 21
  Decoded New Value: 22

  Summary:           Nonce increment.

----- DecodedStateDiff[1] -----
  Who:               0x0fe884546476dDd290eC46318785046ef68a0BA9
  Contract:          Proxy Admin Owner - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x817eda31e1518570433e4bc8b57d7ea96fcd5460045124fefb39dba853c8bcf1
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000000
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000001
  Decoded Kind:      uint256
  Decoded Old Value: 0
  Decoded New Value: 1

  Summary:           Sets an approval for this transaction from the signer. Compute the expected raw slot key with `cast index bytes32 $NESTED_HASH $(cast index address $NESTED_SAFE 8)` where `NESTED_HASH` is `0x1e4a76bbefb5005f1739856d035c83fd7ee77e73d3b38babc4c5847998ce6a1e` (you should see this in your terminal after the transaction simulation) and `NESTED_SAFE` is `0x6af0674791925f767060dd52f7fb20984e8639d8` (the safe linked above).

----- DecodedStateDiff[2] -----
  Who:               0x6AF0674791925f767060Dd52f7fB20984E8639d8
  Contract:          Safe B - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000005
  Raw Old Value:     0x0000000000000000000000000000000000000000000000000000000000000003
  Raw New Value:     0x0000000000000000000000000000000000000000000000000000000000000004
  Decoded Kind:      uint256
  Decoded Old Value: 3
  Decoded New Value: 4

  Summary:           Nonce increment.

----- DecodedStateDiff[3] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e
  Raw Old Value:     0x0000000000000000000000006f67e57c143321e266bac32a0d9d22d88ce1b3e5
  Raw New Value:     0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44
  Decoded Kind:      address
  Decoded Old Value: 0x6F67E57C143321e266bac32A0D9D22d88cE1b3e5
  Decoded New Value: 0xF0102fFe22649A5421D53aCC96E309660960cF44

  Summary:           Updates the `PermissionedDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 1 101` in your terminal.

----- DecodedStateDiff[4] -----
  Who:               0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1
  Contract:          Dispute Game Factory - Sepolia
  Chain ID:          11155111
  Raw Slot:          0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b
  Raw Old Value:     0x000000000000000000000000340c1364d299ed55b193d4efcecbad8c3fb104c4
  Raw New Value:     0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a
  Decoded Kind:      address
  Decoded Old Value: 0x340c1364D299ED55B193d4eFcecBAD8c3Fb104c4
  Decoded New Value: 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a

  Summary:           Updates the `FaultDisputeGame` implementation address. You can verify the key derivation by running `cast index uint32 0 101` in your terminal.

----- Additional Nonce Changes -----
  Details:           You should see a nonce increment for the account you're signing with.
================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: sim-transfer sim-transfer: forge script --rpc-url $(L2_RPC_URL) OwnershipTransfer --sig "run()" --sender "${OWNER_EOA}" -vvvv .PHONY: transfer transfer: forge script --rpc-url $(L2_RPC_URL) \ OwnershipTransfer --sig "run()" \ --account sepolia-fee-disperser-owner --broadcast -vvvv ================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/README.md ================================================ # Transfer Fee Disperser Ownership to Base Sepolia Eng Multisig Status: [EXECUTED](https://sepolia.basescan.org/tx/0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68) ## Description This task updates the owner of our [FeeDisperser](https://sepolia.basescan.org/address/0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d) contract on Base Sepolia to be the aliased address of our [Base Sepolia Eng Multisig](https://sepolia.etherscan.io/address/0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f). For more information on deriving L1 aliased addresses in the OP stack, see [here](https://docs.optimism.io/stack/differences#address-aliasing). ## Procedure ### 1. Update repo ```bash cd contract-deployments git pull cd sepolia/2025-05-08-update-fee-disperser-ownership make deps ``` ### 2. Run relevant script(s) #### Simulate the transaction ```bash make sim-transfer ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. ##### 2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Base Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending. Once complete return to this document to complete the execution. #### Execute the transaction The `transfer` make command expects a Foundry EOA account set up in the keystore by the name of `sepolia-fee-disperser-owner`. If your account name is different, or you wish to pass in a hex private key instead, you will need to modify the Makefile command accordingly. Once the account is set up, execute the transfer by running: ```bash make transfer ``` ================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x76355A67fCBCDE6F9a69409A8EAd5EaA9D8d875d
  Contract:          FeeDisperser - Base Sepolia
  Chain ID:          84532
  Raw Slot:          0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
  Raw Old Value:     0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca13
  Raw New Value:     0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890
  Decoded Kind:      address
  Decoded Old Value: 0x4672425c27a942bb27e7b9709c1b21ab89a3ca13
  Decoded New Value: 0x6F0fB066334B67355A15dc9b67317fd2A2E20890

  Summary:           Update FeeDisperser owner from `0x4672425c27a942bb27e7b9709c1b21ab89a3ca13` to `0x6F0fB066334B67355A15dc9b67317fd2A2E20890`

----- Additional Nonce Changes -----
  Who:               0x4672425c27a942bb27e7b9709c1b21ab89a3ca13

  Details:           Nonce Updates for all addresses listed above.
  Summary:
    - 0x4672425c27a942bb27e7b9709c1b21ab89a3ca13 is the caller
================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/records/OwnershipTransfer.s.sol/84532/run-1748360700.json ================================================ { "transactions": [ { "hash": "0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68", "transactionType": "CALL", "contractName": null, "contractAddress": "0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "function": "changeAdmin(address)", "arguments": [ "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "gas": "0xa110", "value": "0x0", "input": "0x8f2839700000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0xde", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xeb1d32", "logs": [ { "address": "0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000004672425c27a942bb27e7b9709c1b21ab89a3ca130000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "blockHash": "0x91a50962936ca68c39ab036d12eab768ae9119056cb0cadc2ff2fe1b77db1c31", "blockNumber": "0x1913f8b", "transactionHash": "0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68", "transactionIndex": "0xdf", "logIndex": "0x5e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000800000000000000000200000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x7c724ca80756c64c93967be6eee37f6a0ee74e59ebed5773374a7d0da3eb5a68", "transactionIndex": "0xdf", "blockHash": "0x91a50962936ca68c39ab036d12eab768ae9119056cb0cadc2ff2fe1b77db1c31", "blockNumber": "0x1913f8b", "gasUsed": "0x6e21", "effectiveGasPrice": "0x23ae1d28", "from": "0x4672425c27a942bb27e7b9709c1b21ab89a3ca13", "to": "0x76355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x2ddcfa614", "l1GasPrice": "0x1a08f3800", "l1GasUsed": "0x640" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748360700, "chain": 84532, "commit": "e32c625" } ================================================ FILE: sepolia/2025-05-08-update-fee-disperser-ownership/script/OwnershipTransfer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {console} from "forge-std/console.sol"; import {Script} from "forge-std/Script.sol"; import {Proxy} from "@eth-optimism-bedrock/src/universal/Proxy.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract OwnershipTransfer is Script { using AddressAliasHelper for address; address immutable OWNER_EOA; address immutable L1_SAFE; address immutable TARGET; Proxy immutable proxy; address immutable L1_SAFE_ALIASED; constructor() { OWNER_EOA = vm.envAddress("OWNER_EOA"); L1_SAFE = vm.envAddress("L1_SAFE"); TARGET = vm.envAddress("TARGET"); proxy = Proxy(payable(TARGET)); L1_SAFE_ALIASED = L1_SAFE.applyL1ToL2Alias(); console.log("OWNER_EOA: %s", OWNER_EOA); console.log("L1_SAFE: %s", L1_SAFE); console.log("TARGET: %s", TARGET); console.log("L1_SAFE_ALIASED: %s", L1_SAFE_ALIASED); } function run() public { _preChecks(); Simulation.StateOverride[] memory overrides; bytes memory data = abi.encodeCall(Proxy.changeAdmin, (L1_SAFE_ALIASED)); Simulation.logSimulationLink( TARGET, data, OWNER_EOA, overrides ); vm.startBroadcast(OWNER_EOA); (bool success, ) = TARGET.call(data); vm.stopBroadcast(); require(success, "changeAdmin() call failed"); _postChecks(); } // Precheck assertion to make sure original admin is OWNER_EOA function _preChecks() private { vm.prank(address(0)); address expectedOriginalAdmin = proxy.admin(); require(expectedOriginalAdmin == OWNER_EOA, "Original admin is not OWNER_EOA"); } function _postChecks() private { vm.prank(address(0)); address admin = proxy.admin(); require(admin == L1_SAFE_ALIASED, "New admin is not L1_SAFE_ALIASED"); } } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif MOCK_OP_NESTED=0x6AF0674791925f767060Dd52f7fB20984E8639d8 CB_COORDINATOR=0x646132A1667ca7aD00d36616AFBA1A28116C770A CB_NESTED=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f # +------------------+ # | Proxy Admin | # | Owner | # | (2-of-2) | # +------------------+ # / \ # / \ # / \ # +---------------+ +------------------+ # | Mock OP | | CB | # | Nested Safe |----------------------->| Coordinator | # | Signer | | Signer | # | (1-of-14) | | (2-of-2) | # +---------------+ +------------------+ # / | | \ | # / | | \ | # / | | \ | # / | | \ | # +---------+ +----------+ +----------+ +------------------+ # | CB EOA 1| | CB EOA 2 | | CB EOA 14| | CB Nested | # +---------+ +----------+ +----------+ | Safe Signer | # | (3-of-14) | # +------------------+ # / | | \ # / | | \ # / | | \ # / | | \ # +---------+ +----------+ +----------+ # | CB EOA 1| | CB EOA 2 | | CB EOA 14| # +---------+ +----------+ +----------+ .PHONY: sign-mock-op-nested sign-mock-op-nested: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "sign(address[])" "[$(MOCK_OP_NESTED)]" .PHONY: approve-mock-op-nested approve-mock-op-nested: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "approve(address[],bytes)" "[$(MOCK_OP_NESTED)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign # sign-cb-nested-coordinator sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "sign(address[])" "[$(CB_NESTED), $(CB_COORDINATOR)]" .PHONY: approve-cb-nested-coordinator approve-cb-nested-coordinator: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "approve(address[],bytes)" "[$(CB_NESTED), $(CB_COORDINATOR)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: sign-mock-op-nested-coordinator sign-mock-op-nested-coordinator: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "sign(address[])" "[$(MOCK_OP_NESTED), $(CB_COORDINATOR)]" .PHONY: approve-mock-op-nested-coordinator approve-mock-op-nested-coordinator: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "approve(address[],bytes)" "[$(MOCK_OP_NESTED), $(CB_COORDINATOR)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: approve-cb-coordinator approve-cb-coordinator: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "approve(address[],bytes)" "[$(CB_COORDINATOR)]" 0x \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) ReduceEip1559DenominatorScript \ --sig "run(bytes)" 0x --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/README.md ================================================ # EIP-1559 Denominator 250 -> 50 Reduction Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39) ## Description This task contains a single script that reduces the EIP-1559 denominator from 250 to 50. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-05-15-EIP1559-denominator-reduction make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: ```bash make sign ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Sepolia`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [validations instructions](./validations/CB_NESTED_COORDINATOR.md) for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.24" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13bedc7", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "logIndex": "0x164", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "logIndex": "0x165", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000008000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "gasUsed": "0x17209", "effectiveGasPrice": "0x2b56b2347", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748366112, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748365405.json ================================================ { "transactions": [ { "hash": "0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6cc53fc06036da53aaf03d4190624af2b3e800d94728bee655f12ace1c61d9fb66df70c9f4bdcb513db8e7db0c9cfaedf8545be3df174e269c666a936e224f011b212b50032f08e1441472975f69f48c6ff232a1f645d3e9a85eb117913ccab4aa41d11664c43265e3fc2079a77a1c226e32ad572b06cb7a502c140e6be539931b1c2c6413d7d250cefffbabebee4b80ee48a3f3fe9c3916f3c040f10dabcb36874e3182a7718375187a327b359ccef3925ee6c6ea6d936c48d87978bcf5d7613d8b1b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2533f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36cc53fc06036da53aaf03d4190624af2b3e800d94728bee655f12ace1c61d9fb66df70c9f4bdcb513db8e7db0c9cfaedf8545be3df174e269c666a936e224f011b212b50032f08e1441472975f69f48c6ff232a1f645d3e9a85eb117913ccab4aa41d11664c43265e3fc2079a77a1c226e32ad572b06cb7a502c140e6be539931b1c2c6413d7d250cefffbabebee4b80ee48a3f3fe9c3916f3c040f10dabcb36874e3182a7718375187a327b359ccef3925ee6c6ea6d936c48d87978bcf5d7613d8b1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x138e2a1", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85", "blockNumber": "0x807681", "transactionHash": "0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14", "transactionIndex": "0x9a", "logIndex": "0x144", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xb15cdc1122b0c096cb384d56065177169e142cf7f3d14c3ab0d055ca3fbf0bac" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85", "blockNumber": "0x807681", "transactionHash": "0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14", "transactionIndex": "0x9a", "logIndex": "0x145", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000002000100000000000000000000000000000000000000000000000000000000800000000000800000000400000000000000000000000000000000000000000000000000000000000000000000000000000200200000000000000000000000080000000000000000000000000000000000020400404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xe45ebeb092736a38c1efebeb3db6203ced3ed316d3cf09aac26436985c55bf14", "transactionIndex": "0x9a", "blockHash": "0xb2eab5b72eec478f80027973413425e0e783b571a8e3555517f3233643380b85", "blockNumber": "0x807681", "gasUsed": "0x19702", "effectiveGasPrice": "0x3c5caeaa8", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748365405, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748365537.json ================================================ { "transactions": [ { "hash": "0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2cf85d9f9ae4d49c20e769c3a972200b3c093c7b9076a7353d59824d749053022d4258bec44135c3adc80bbc0f16203ce9f977da5c62b97f51b7449ad8df88a81b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea20", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412cf85d9f9ae4d49c20e769c3a972200b3c093c7b9076a7353d59824d749053022d4258bec44135c3adc80bbc0f16203ce9f977da5c62b97f51b7449ad8df88a81b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x12e8b99", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5", "blockNumber": "0x80768c", "transactionHash": "0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808", "transactionIndex": "0x9a", "logIndex": "0x1ae", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4e9aa559e7534c9f25446d400f0b181a9c7dc84face66f2298a910d64d4b7f5c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5", "blockNumber": "0x80768c", "transactionHash": "0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808", "transactionIndex": "0x9a", "logIndex": "0x1af", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000004001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x1cdc9dab8f28a73122186da213afbf75bec8c4d7f87733cda5021bb7d7c12808", "transactionIndex": "0x9a", "blockHash": "0xf7d231ccef6001d2ba822bfc6d4da13cfeb572c66f3713412f54b3f6f7db03e5", "blockNumber": "0x80768c", "gasUsed": "0x162d8", "effectiveGasPrice": "0x300428b19", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748365537, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366042.json ================================================ { "transactions": [ { "hash": "0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x54f4ff9af8a24cfb0b5341087da88db9ae024ea1789c9c34fa11fd282efef6157867499276c56aaa28c336ba3004276b317c1d9126f492ed515999f1d143aad31b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004154f4ff9af8a24cfb0b5341087da88db9ae024ea1789c9c34fa11fd282efef6157867499276c56aaa28c336ba3004276b317c1d9126f492ed515999f1d143aad31b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x17c4927", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71", "blockNumber": "0x8076b6", "transactionHash": "0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe", "transactionIndex": "0xd4", "logIndex": "0x204", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x02aacf8a28de47da4e19ec3d07231f1b9c2cb9ee6702d978105441e7bcfe432f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71", "blockNumber": "0x8076b6", "transactionHash": "0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe", "transactionIndex": "0xd4", "logIndex": "0x205", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000100000000000000000000000000000000000000000000000000000000400000000000800000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x3947f1fd80fc2cd057cb3ad8b01a122bd3df83cf02ffa0f0c20fbf463ac659fe", "transactionIndex": "0xd4", "blockHash": "0x1926f7f7da1d217d4d01c5aa83696411240c131a37bdd3cd0c25516396e99d71", "blockNumber": "0x8076b6", "gasUsed": "0x15883", "effectiveGasPrice": "0x2d5d3a70b", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748366042, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366112.json ================================================ { "transactions": [ { "hash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd0800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x13bedc7", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "logIndex": "0x164", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "logIndex": "0x165", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014001000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000008000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x4a943afd5346c311d2d7fbe280ed4b2643216bc590bf36c8ce066770b3bf2dba", "transactionIndex": "0x8b", "blockHash": "0xb9b05075c82acc9a80660b90f5c35c7e519e3d01f7f79866a6e34e8c0703c389", "blockNumber": "0x8076bc", "gasUsed": "0x17209", "effectiveGasPrice": "0x2b56b2347", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748366112, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/records/ReduceEip1559Denominator.s.sol/11155111/run-1748366149.json ================================================ { "transactions": [ { "hash": "0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x1e48f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1c0e8a7", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000164174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000016000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d", "blockNumber": "0x8076bf", "transactionHash": "0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39", "transactionIndex": "0xb4", "logIndex": "0x2a3", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000003200000004", "blockHash": "0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d", "blockNumber": "0x8076bf", "transactionHash": "0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39", "transactionIndex": "0xb4", "logIndex": "0x2a4", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd080000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d", "blockNumber": "0x8076bf", "transactionHash": "0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39", "transactionIndex": "0xb4", "logIndex": "0x2a5", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000040000000000000000000000000008000000020100000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000002000800000000000000000000000000000000000020000000000008000000000000400000020000000000000000000000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x49d78a837ade5176b75bc7d53e3f2c391140180d4db86d1d37103bdb0aa8bb39", "transactionIndex": "0xb4", "blockHash": "0x6870bdab4071dc13acd0303ca6a2a2426d1edeb0cf1f3ffe5ce1662b45be896d", "blockNumber": "0x8076bf", "gasUsed": "0x15ed0", "effectiveGasPrice": "0x2dc225b91", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1748366149, "chain": 11155111, "commit": "0a0ffb3" } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/script/ReduceEip1559Denominator.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; } contract ReduceEip1559DenominatorScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal constant DENOMINATOR = 250; uint32 internal constant ELASTICITY = 4; uint32 internal constant NEW_DENOMINATOR = 50; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function setUp() external view { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), ELASTICITY, "Elasticity mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, ELASTICITY)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/validations/CB_NESTED_COORDINATOR.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of `sign-mock-cb-nested-coordinator` command. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### CB Nested - Sepolia: `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` > > - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23` > - Message Hash: `0xeb4fd8cd515683c5f3e5badc0d3365152e273be1ffeeede650cabc128e61a4ab` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### CB Nested - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x15da65abea640207b3ada02d3004196783015f1090bb5158ea37ea41b7d1d1ff`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**Value Type**: uint256
**Decoded Old Value**: `22`
**Decoded New Value**: `23`
**Meaning**: Increments the nonce
1. **Key**: `0xb8617d913ec0184dd931b7d503813c9c8463303c5537bbf5c834bd7267c0f86c`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets `approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`.
### CB Nested - Sepolia(`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000002`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**Value Type**: uint256
**Decoded Old Value**: `2`
**Decoded New Value**: `3`
**Meaning**: Increments the nonce
### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) 3. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**Value Type**: uint256
**Decoded Old Value**: `5`
**Decoded New Value**: `6`
**Meaning**: Increments the nonce
4. **Key**: `0xf02ac180c9d9d43593598594486821f3f3a7b3da70582919e670116326e46954`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets `approvedHashes[0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f][0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be]` to `1`.
### System Config - Sepolia (`0xf272670eb55e895584501d564AfEB048bEd26194`) 5. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa`
**After**: `0x0000000000000000000000000000000000000000000000000000000400000032`
**Value Type**: (uint32,uint32,uint32,uint32)
**Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250`
**Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50`
**Meaning**: Sets the eip1559Denominator to 50
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/validations/MOCK_OP_NESTED.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of `sign-mock-op-nested` command. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Mock OP Nested - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x7eba4a15ee576a9a3e810780b6bcabc315c574f3a08184a963a1ecb849bf704f` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) - **Key**: `0xbdc69c7e427970b62fa9575f3df9b068fd76a17d0f677a039970ee010315ea0a`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**Value Type**: uint256
**Decoded Old Value**: `22`
**Decoded New Value**: `23`
**Meaning**: Increments the nonce
1. **Key**: `0x82fc8b7c584567d53f1d98535c6d084856ae32ca942be48e7120c22d371038a9`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets `approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`.
### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000007`
**Value Type**: uint256
**Decoded Old Value**: `6`
**Decoded New Value**: `7`
**Meaning**: Increments the nonce
### System Config - Sepolia (`0xf272670eb55e895584501d564AfEB048bEd26194`) 3. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa`
**After**: `0x0000000000000000000000000000000000000000000000000000000400000032`
**Value Type**: (uint32,uint32,uint32,uint32)
**Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250`
**Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50`
**Meaning**: Sets the eip1559Denominator to 50
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-05-15-eip1559-denominator-reduction/validations/MOCK_OP_NESTED_COORDINATOR.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of `sign-mock-op-nested-coordinator` command. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Signer Safe B - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0xa9c8be78fc18ffc31611ab3383313f508a807a96ff50a0e385980e681092e05e` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) - **Key**: `0x553f24f5da896cd48edd08523bced82431a0c53b0bb8cacc0743ce10948d338b`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from msg.sender in order for the task simulation to succeed. Note: The `Key` might be different as it corresponds to the slot associated [with your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### System Config Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000016`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**Value Type**: uint256
**Decoded Old Value**: `22`
**Decoded New Value**: `23`
**Meaning**: Increments the nonce
1. **Key**: `0xb8617d913ec0184dd931b7d503813c9c8463303c5537bbf5c834bd7267c0f86c`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets `approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0xa6c9313de83c063ff4e940cea082f3527ff3e92e8727fbfcfefb654509dabd08]` to `1`.
### CB Coordinator - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**Value Type**: uint256
**Decoded Old Value**: `5`
**Decoded New Value**: `6`
**Meaning**: Increments the nonce
3. **Key**: `0x7e443f90c58b35e7206ca7ca116f6cfaf742c79887e3d952c80dcbd0aa405cfe`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets `approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xb0a1aaf50a97a55b80f041736fc17bf69547d5c06cadca7ea62da4a3966548be]` to `1`.
### Mock OP Nested - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000007`
**Value Type**: uint256
**Decoded Old Value**: `6`
**Decoded New Value**: `7`
**Meaning**: Increments the nonce
### <> (`0xf272670eb55e895584501d564AfEB048bEd26194`) 5. **Key**: `0x000000000000000000000000000000000000000000000000000000000000006a`
**Before**: `0x00000000000000000000000000000000000000000000000000000004000000fa`
**After**: `0x0000000000000000000000000000000000000000000000000000000400000032`
**Value Type**: (uint32,uint32,uint32,uint32)
**Decoded Old Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `250`
**Decoded New Value**: operatorFeeConstant: `0`, operatorFeeScalar: `0`, eip1559Elasticity: `4`, eip1559Denominator: `50`
**Meaning**: Sets the eip1559Denominator to 50
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#43-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif # Overwriting this from top level makefile to change the branch .PHONY: checkout-op-commit checkout-op-commit: rm -rf lib/optimism mkdir -p lib/optimism cd lib/optimism; \ git init; \ git remote add origin $(OP_REPO); \ git fetch --depth=1 origin tag $(OP_VERSION) --no-tags; \ git checkout $(OP_VERSION); \ git apply ../../$(OP_CONTRACT_PATCH) .PHONY: deps deps: new-go-deps .PHONY: new-go-deps new-go-deps: go install github.com/jackchuma/state-diff@v0.0.3 .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeploySystemConfigScript --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --verify --broadcast # # ┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐ ┌─────────────────────────────────────────────┐ # │ Base Nested │ │ Base Security Council │ │ OP │ # │ (3 of 14) │ │ (1 of 14) │ │ (1 of 14) │ # │ 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f │ │ 0x6AF0674791925f767060Dd52f7fB20984E8639d8 │ │ 0x6AF0674791925f767060Dd52f7fB20984E8639d8 │ # └─────────────────────┬───────────────────────┘ └─────────────────────┬───────────────────────┘ └─────────────────────┬───────────────────────┘ # │ │ │ # └─────────────────┬───────────────────────────────────┘ │ # ▼ │ # ┌─────────────────────────────────────────────┐ │ # │ Base │ │ # │ 0x646132A1667ca7aD00d36616AFBA1A28116C770A │ │ # └─────────────────────┬───────────────────────┘ │ # │ │ # └─────────────────┬────────────────────────────────────────────────────────────────┘ # ▼ # ┌─────────────────────────────────────────────┐ # │ ProxyAdminOwner │ # │ 0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c │ # └─────────────────────────────────────────────┘ # OPTIMISM .PHONY: sign-op sign-op: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(OP_MULTISIG)]" .PHONY: gen-validation-op gen-validation-op: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(OP_MULTISIG)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: approve-op approve-op: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(OP_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE NESTED .PHONY: sign-base-nested sign-base-nested: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" .PHONY: gen-validation-base-nested gen-validation-base-nested: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_NESTED_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: approve-base-nested approve-base-nested: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_NESTED_MULTISIG), $(BASE_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE SC .PHONY: sign-base-sc sign-base-sc: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" .PHONY: gen-validation-base-sc gen-validation-base-sc: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_SC_VALIDATION.md \ -- forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "sign(address[])" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: approve-base-sc approve-base-sc: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_SC_MULTISIG), $(BASE_MULTISIG)]" $(SIGNATURES) \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # BASE .PHONY: approve-base approve-base: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "approve(address[],bytes)" "[$(BASE_MULTISIG)]" 0x \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv # Execute .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) UpgradeSystemConfigScript \ --sig "run(bytes)" 0x --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/README.md ================================================ # Upgrade System Config Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850) ## Description This task contains two scripts: 1. `DeploySystemConfigScript` - This script deploys the new system config implementation. 2. `UpgradeSystemConfigScript` - This script performs the upgrade to the new implementation deployed in the previous step. NOTE: Signers should not care about the `DeploySystemConfigScript` script as it will be ran before hand by the facilitator. The rest of this document will focus on using the `UpgradeSystemConfigScript` script. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-06-04-upgrade-system-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following command: For Optimism signers: ```bash make sign-op ``` For Base signers: ```bash make sign-base-nested ``` For Base Security Council signers: ```bash make sign-base-sc ``` For each run, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is `Sepolia`. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the validations instructions for the transaction you are signing: - For Optimism signers: [validations instructions](./validations/OP_VALIDATION.md) - For Base signers: [validations instructions](./validations/BASE_NESTED_VALIDATION.md) - For Base Security Council signers: [validations instructions](./validations/BASE_SC_VALIDATION.md) Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Overview" tab, and find the `GnosisSafe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/addresses.json ================================================ { "systemConfig": "0xfdA350e8038728B689976D4A9E8A318400A150C5" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', 'src/libraries/=lib/optimism/packages/contracts-bedrock/src/libraries', 'interfaces/universal/=lib/optimism/packages/contracts-bedrock/interfaces/universal', 'interfaces/L1/=lib/optimism/packages/contracts-bedrock/interfaces/L1', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/patch/max-gas-limit.patch ================================================ diff --git a/packages/contracts-bedrock/src/L1/SystemConfig.sol b/packages/contracts-bedrock/src/L1/SystemConfig.sol index e767bc64a..a7617d5e8 100644 --- a/packages/contracts-bedrock/src/L1/SystemConfig.sol +++ b/packages/contracts-bedrock/src/L1/SystemConfig.sol @@ -87,7 +87,7 @@ contract SystemConfig is OwnableUpgradeable, ISemver { /// @notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks /// on L2 are not too large to process and prove. Over time, this value can be increased as various /// optimizations and improvements are made to the system at large. - uint64 internal constant MAX_GAS_LIMIT = 200_000_000; + uint64 internal constant MAX_GAS_LIMIT = 500_000_000; /// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation. /// Deprecated since the Ecotone network upgrade @@ -136,9 +136,9 @@ contract SystemConfig is OwnableUpgradeable, ISemver { event ConfigUpdate(uint256 indexed version, UpdateType indexed updateType, bytes data); /// @notice Semantic version. - /// @custom:semver 2.5.0 + /// @custom:semver 2.5.0+max-gas-limit-500M function version() public pure virtual returns (string memory) { - return "2.5.0"; + return "2.5.0+max-gas-limit-500M"; } /// @notice Constructs the SystemConfig contract. ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xe", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x288614a", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "logIndex": "0x1ef", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "logIndex": "0x1f0", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "gasUsed": "0x17209", "effectiveGasPrice": "0xf4251", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236318, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236088.json ================================================ { "transactions": [ { "hash": "0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa87a2450a3981d28efc53b99921792e1942cd29a0c4accf721ad16ccd0df008c004c482a88416c7eecf9def763eea06bc3c2e3ce4cae26f95949617d5f3e94501ccfca59d282ea005b2a9de8ff37b5a78e7a9d43404d61f2f223baa82a00e43254662ae887ab1a75cc15db0c7ac364b0548f2fef2ad50b4bf07f42570d5971b8391cec6883f4b77e405f9fb701d0a1ae1b21f97f02355e2847f3549e6058c6ed664235888ddd7a4194ccbd3dd36795252c6160d4a3ae24dfbf0a77760aa6d6a302561c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x231fb", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a87a2450a3981d28efc53b99921792e1942cd29a0c4accf721ad16ccd0df008c004c482a88416c7eecf9def763eea06bc3c2e3ce4cae26f95949617d5f3e94501ccfca59d282ea005b2a9de8ff37b5a78e7a9d43404d61f2f223baa82a00e43254662ae887ab1a75cc15db0c7ac364b0548f2fef2ad50b4bf07f42570d5971b8391cec6883f4b77e405f9fb701d0a1ae1b21f97f02355e2847f3549e6058c6ed664235888ddd7a4194ccbd3dd36795252c6160d4a3ae24dfbf0a77760aa6d6a302561c0000000000000000000000000000000000000000000000000000000000", "nonce": "0xb", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc560a7", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790", "blockNumber": "0x81916f", "transactionHash": "0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1", "transactionIndex": "0x58", "logIndex": "0xd0", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x56f576f50e8a7cfa45e99c1026d18450742de9f01330d3f9d8e2734efdb9e44f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790", "blockNumber": "0x81916f", "transactionHash": "0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1", "transactionIndex": "0x58", "logIndex": "0xd1", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000200010000002000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000802000020000404000000010000010000000000000000000000000000000000000000008000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x758f92e0a0b1ef65111ef7628b5f1e2fc1453ba77a8aeebdb7e631633de688e1", "transactionIndex": "0x58", "blockHash": "0x4de1b19420e4b9e28dcb0e979f03923cd5ca5f15de7a3c8b03eaaaa8851d8790", "blockNumber": "0x81916f", "gasUsed": "0x196de", "effectiveGasPrice": "0x124f8c", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236088, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236197.json ================================================ { "transactions": [ { "hash": "0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0f87a73da686ca342c8b3d7b626df58dd4e2c6026b5806ee18777b799bf955bb5c2b23e9bcffdcd561f7f9d292441650a2c116527530115d03ddf0aedb601a291b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea20", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410f87a73da686ca342c8b3d7b626df58dd4e2c6026b5806ee18777b799bf955bb5c2b23e9bcffdcd561f7f9d292441650a2c116527530115d03ddf0aedb601a291b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0xc", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x92c11f", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7", "blockNumber": "0x819178", "transactionHash": "0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680", "transactionIndex": "0x53", "logIndex": "0xae", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9244f6507461ca544a2e1d920b2b87fe3ab15a38a8cd8af321996d36158285270000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7", "blockNumber": "0x819178", "transactionHash": "0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680", "transactionIndex": "0x53", "logIndex": "0xaf", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xb51e60a2d330a4f1fde99f423ccc6b0f9005d8da9b92664d03808066b300f680", "transactionIndex": "0x53", "blockHash": "0x29e9ebf11c4e92c309cea562e39f87bd6aa890a0659fb200a687a1cf891f9db7", "blockNumber": "0x819178", "gasUsed": "0x162d8", "effectiveGasPrice": "0x124f8e", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236197, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236268.json ================================================ { "transactions": [ { "hash": "0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xefb6fcaa523e6a436541cd510ca5a29ac4a4d5205144763c63c9708f2e5ddd230900c7218373498f77fbcab7334608cb9b48109afa1e834507b5b557e3f490e81b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1dbca", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041efb6fcaa523e6a436541cd510ca5a29ac4a4d5205144763c63c9708f2e5ddd230900c7218373498f77fbcab7334608cb9b48109afa1e834507b5b557e3f490e81b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0xd", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x930772", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805", "blockNumber": "0x81917e", "transactionHash": "0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618", "transactionIndex": "0x5a", "logIndex": "0xa4", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8b298c5aa78a4bc5c6573471c66917eda787701a802b0a701afe6b42810f4eb60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805", "blockNumber": "0x81917e", "transactionHash": "0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618", "transactionIndex": "0x5a", "logIndex": "0xa5", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000802000000000004000000010000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x5c8c9596ce88cc23585f2c589bd95d530ba08cf94d8936f8215ae3e09e471618", "transactionIndex": "0x5a", "blockHash": "0x97ff44af16ef3c5fcf39e735798ae2cc3c2a73b1752fdfbcb050dffef05e6805", "blockNumber": "0x81917e", "gasUsed": "0x15877", "effectiveGasPrice": "0x124f91", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236268, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236318.json ================================================ { "transactions": [ { "hash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xe", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x288614a", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "logIndex": "0x1ef", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b10000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "logIndex": "0x1f0", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000800000000000000000004000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800200000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0xe70e90678ed3ff742bb62dcba8616232ac71070ec766159573b028c44e8a0691", "transactionIndex": "0xda", "blockHash": "0x51d71df3ddeeb0985d2e00de8816ddff7206a9b41d4fc8de17db0fd7e0a62261", "blockNumber": "0x819182", "gasUsed": "0x17209", "effectiveGasPrice": "0xf4251", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236318, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/records/UpgradeSystemConfig.s.sol/11155111/run-1749236365.json ================================================ { "transactions": [ { "hash": "0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x207e3", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0xf", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x15a03ac", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000164174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000017000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024", "blockNumber": "0x819186", "transactionHash": "0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850", "transactionIndex": "0x7c", "logIndex": "0x10c", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5" ], "data": "0x", "blockHash": "0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024", "blockNumber": "0x819186", "transactionHash": "0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850", "transactionIndex": "0x7c", "logIndex": "0x10d", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024", "blockNumber": "0x819186", "transactionHash": "0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850", "transactionIndex": "0x7c", "logIndex": "0x10e", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002000000840000000000000000000000000000000000000100000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000400008000000000000004000000000000000000000000800000000000000020000000000000000000020000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x2aa195db4b41a6051db275bd80160c9c361caf0ee617a7c695398789182dc850", "transactionIndex": "0x7c", "blockHash": "0xa5179505d3ef2f1d9c2556649ca496e98910d6d2fbb0855e538e789dde164024", "blockNumber": "0x819186", "gasUsed": "0x1637b", "effectiveGasPrice": "0xf4254", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1749236365, "chain": 11155111, "commit": "bef05db" } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/script/DeploySystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; contract DeploySystemConfigScript is Script { SystemConfig systemConfigImpl; function run() public { vm.startBroadcast(); systemConfigImpl = new SystemConfig(); console.log("SystemConfig implementation deployed at: ", address(systemConfigImpl)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "systemConfig", address(systemConfigImpl)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { require( keccak256(bytes(SystemConfig(systemConfigImpl).version())) == keccak256("2.5.0+max-gas-limit-500M"), "SystemConfig version mismatch" ); require(SystemConfig(systemConfigImpl).maximumGasLimit() == 500_000_000, "Maximum gas limit mismatch"); } } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface IProxyAdmin { function upgrade(address _proxy, address _implementation) external; } interface IProxy { function implementation() external view returns (address); } contract UpgradeSystemConfigScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable PROXY_ADMIN; address internal immutable SYSTEM_CONFIG; address internal immutable NEW_IMPLEMENTATION; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); NEW_IMPLEMENTATION = vm.parseJsonAddress(json, ".systemConfig"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { // NOTE: Bypass `proxyCallIfNotAdmin` modifier. vm.prank(PROXY_ADMIN); require(IProxy(SYSTEM_CONFIG).implementation() == NEW_IMPLEMENTATION); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: PROXY_ADMIN, allowFailure: false, // NOTE: No need to call initialize as no storage would change (only changing `MAX_GAS_LIMIT` and `version`). callData: abi.encodeCall(IProxyAdmin.upgrade, (SYSTEM_CONFIG, NEW_IMPLEMENTATION)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/validations/BASE_NESTED_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Base Security Council Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8` > > - Domain Hash: `0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23` > - Message Hash: `0xf118d3927d9544e9ac00951c9e0ae5a010e8cc924e290c96de96975354f79572` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Nested Multisig - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. - **Key**: `0x8127d7083c34ec4fe481817f385f57f0aef1a5689a5200e1ebfe63e617c31bd3`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ## Task State Changes ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000018`
**Value Type**: uint256
**Decoded Old Value**: `23`
**Decoded New Value**: `24`
**Meaning**: Increments the nonce
1. **Key**: `0x9aca296d64aeaeea50429f39c01f6a25e3cb2bab02cb90aa18a20e47b97e2ed2`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the Base Multisig). ### Base Nested Multisig - Sepolia (`0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000003`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Value Type**: uint256
**Decoded Old Value**: `3`
**Decoded New Value**: `4`
**Meaning**: Increments the nonce
### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000007`
**Value Type**: uint256
**Decoded Old Value**: `6`
**Decoded New Value**: `7`
**Meaning**: Increments the nonce
3. **Key**: `0xcf1a8c325afe0c63e91c74fa9f32b1aff854f6e40e74a063a58464e55edb7d52`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f][0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1] to 1 (approved by the Base Nested Multisig). ### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`) 5. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5`
**Meaning**: Updates the System Config implementation address
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/validations/BASE_SC_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### Base Security Council Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x162e3e3614192c09995c2e575e230eede29197c5f344436497cefac155e79602` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### Base Security Council Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) - **Key**: `0xed56a8e17d5b17ed763270d3db31249f41c143af05268d00dfd1edc65ba1b0b6`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000018`
**Value Type**: uint256
**Decoded Old Value**: `23`
**Decoded New Value**: `24`
**Meaning**: Increments the nonce
1. **Key**: `0x9aca296d64aeaeea50429f39c01f6a25e3cb2bab02cb90aa18a20e47b97e2ed2`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x646132a1667ca7ad00d36616afba1a28116c770a][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the Base Multisig). ### Base Multisig - Sepolia (`0x646132A1667ca7aD00d36616AFBA1A28116C770A`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000006`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000007`
**Value Type**: uint256
**Decoded Old Value**: `6`
**Decoded New Value**: `7`
**Meaning**: Increments the nonce
3. **Key**: `0x71dfe6a8ef18d31663922940612f4666ec7858fa87245eb8475fda49e94738e0`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x6af0674791925f767060dd52f7fb20984e8639d8][0xf94a73a4944796410dc97e3c46ce03a893278ba124962ab63ccb7cb36023e7b1] to 1 (approved by the Base Security Council Multisig). ### Base Security Council Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) 4. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000008`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**Value Type**: uint256
**Decoded Old Value**: `8`
**Decoded New Value**: `9`
**Meaning**: Increments the nonce
### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`) 5. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5`
**Meaning**: Updates the System Config implementation address
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-06-04-upgrade-system-config/validations/OP_VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. > [!NOTE] > > This document provides names for each contract address to add clarity to what you are seeing. These names will not be visible in the Tenderly UI. All that matters is that addresses and storage slot hex values match exactly what is presented in this document. The steps are: 1. [Validate the Domain and Message Hashes](#expected-domain-and-message-hashes) 2. [Verifying the state changes](#state-changes) ## Expected Domain and Message Hashes First, we need to validate the domain and message hashes. These values should match both the values on your ledger and the values printed to the terminal when you run the task. > [!CAUTION] > > Before signing, ensure the below hashes match what is on your ledger. > > ### OP Multisig - Sepolia: `0x6AF0674791925f767060Dd52f7fB20984E8639d8` > > - Domain Hash: `0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa` > - Message Hash: `0x10fd7c9b221dcd2911cfb8982a1b74145d4b2e662bc37d5ab163ab632838f20c` # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All key values match the semantic meaning provided, which can be validated using the terminal commands provided. ## State Overrides ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) - **Key**: `0x0000000000000000000000000000000000000000000000000000000000000004`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Override the threshold to 1 so the transaction simulation can occur. ### OP Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) - **Key**: `0x102a573576f9ca72f69161a2750669103d95f6700cf832b4dd6fb8765e71b793`
**Override**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Meaning**: Simulates an approval from `msg.sender` in order for the task simulation to succeed. Note: The Key might be different as it corresponds to the slot associated with [your signer address](https://github.com/safe-global/safe-smart-account/blob/main/contracts/Safe.sol#L69). ## Task State Changes ### Proxy Admin Owner - Sepolia (`0x0fe884546476dDd290eC46318785046ef68a0BA9`) 0. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000017`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000018`
**Value Type**: uint256
**Decoded Old Value**: `23`
**Decoded New Value**: `24`
**Meaning**: Increments the nonce
1. **Key**: `0xb2a3e1d0267998cb7e736c5b9108ef896858967092076634b2d792c0b44ded4b`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000000`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000001`
**Value Type**: uint256
**Decoded Old Value**: `0`
**Decoded New Value**: `1`
**Meaning**: Sets approvedHashes[0x6AF0674791925f767060Dd52f7fB20984E8639d8][0x896f60a7707d589d89416c9f44b99b54bdfcfd52b9f505f241b5dc0e110d9b7b] to 1 (approved by the OP Multisig). ### OP Multisig - Sepolia (`0x6AF0674791925f767060Dd52f7fB20984E8639d8`) 2. **Key**: `0x0000000000000000000000000000000000000000000000000000000000000005`
**Before**: `0x0000000000000000000000000000000000000000000000000000000000000008`
**After**: `0x0000000000000000000000000000000000000000000000000000000000000009`
**Value Type**: uint256
**Decoded Old Value**: `8`
**Decoded New Value**: `9`
**Meaning**: Increments the nonce
### System Config (`0xf272670eb55e895584501d564AfEB048bEd26194`) 3. **Key**: `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
**Before**: `0x000000000000000000000000340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**After**: `0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5`
**Value Type**: address
**Decoded Old Value**: `0x340f923e5c7cbb2171146f64169ec9d5a9ffe647`
**Decoded New Value**: `0xfdA350e8038728B689976D4A9E8A318400A150C5`
**Meaning**: Updates the System Config implementation address
### Your Signer Address - Nonce increment You can now navigate back to the [README](../README.md#4-extract-the-domain-hash-and-the-message-hash-to-approve) to continue the signing process. ================================================ FILE: sepolia/2025-09-22-upgrade-to-U16a/README.md ================================================ # Upgrade U16a (029-U16a-opcm-upgrade-v410-base): Base Sepolia to op-contracts/v4.1.0 Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d) ## Description This task consisted of upgrading Base Sepolia to U16a. More context on U16a can be found in the upgrade instructions [here](https://github.com/ethereum-optimism/superchain-ops/tree/main/src/tasks/sep/029-U16a-opcm-upgrade-v410-base). ## Transactions - Base-Nested Council Approval: [`0xf3dfe75048e36f31f28278c68553673aa4d06f7ae440d407fbafd2158626f7aa`](https://sepolia.etherscan.io/tx/0xf3dfe75048e36f31f28278c68553673aa4d06f7ae440d407fbafd2158626f7aa) - Base-Nested Operations Approval: [`0x4d9d27bd0c5d50189fef344a04751e8d554f4e117acab8cebe5c35254b2fbe1e`](https://sepolia.etherscan.io/tx/0x4d9d27bd0c5d50189fef344a04751e8d554f4e117acab8cebe5c35254b2fbe1e) - Base-Nested Approval: [`0xc270eb70de58d51e251bdab85fa3106a49e4f4fe857b06f65fcad6ba0397632b`](https://sepolia.etherscan.io/tx/0xc270eb70de58d51e251bdab85fa3106a49e4f4fe857b06f65fcad6ba0397632b) - Unnested Operations Approval: [`0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e`](https://sepolia.etherscan.io/tx/0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e) (artefacts: [approve-latest.json](./records/OPCMUpgradeV410.sol/11155111/approve-latest.json)) - Execution Transaction: [`0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d`](https://sepolia.etherscan.io/tx/0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d) (artefacts: [execute-latest.json](./records/OPCMUpgradeV410.sol/11155111/execute-latest.json)) ================================================ FILE: sepolia/2025-09-22-upgrade-to-U16a/records/OPCMUpgradeV410.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e80873500000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xe8b0879c898d1606523e222b431e5a340e49d38642df17dbb2f23651373e97367a07dd5e6f257ff3a4d5f49ab44da7bb7a86e14ef0d2f1192eb3304949caf6791b" ], "transaction": { "from": "0xcd57f7ec19baa45293ebc5e62fe500edf961b225", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x207f8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024d4d9bdcd38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e80873500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041e8b0879c898d1606523e222b431e5a340e49d38642df17dbb2f23651373e97367a07dd5e6f257ff3a4d5f49ab44da7bb7a86e14ef0d2f1192eb3304949caf6791b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x173ccb1", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e808735", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af", "blockNumber": "0x8d4394", "transactionHash": "0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e", "transactionIndex": "0x36", "logIndex": "0x43", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x553fb8e51838b2732687e3a5837e4fd3c32fc0e00847332ce0aef43d191b45fc0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af", "blockNumber": "0x8d4394", "transactionHash": "0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e", "transactionIndex": "0x36", "logIndex": "0x44", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000010000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000004200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100010000008000000", "type": "0x2", "transactionHash": "0xfcfafcc6f4fb4fb0d7d1a3a4509e95d13a77d6800fafd9a14449511d61b6822e", "transactionIndex": "0x36", "blockHash": "0x19348721fdc139914d81cf7ee60303f4a2519f07af3fbe7aec66d1226914c3af", "blockNumber": "0x8d4394", "gasUsed": "0x16389", "effectiveGasPrice": "0x119d96", "blobGasUsed": "0x0", "from": "0xcd57f7ec19baa45293ebc5e62fe500edf961b225", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1758569414, "chain": 11155111, "commit": "218da43b" } ================================================ FILE: sepolia/2025-09-22-upgrade-to-U16a/records/OPCMUpgradeV410.sol/11155111/execute-latest.json ================================================ { "transactions": [ { "hash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x93dc480940585D9961bfcEab58124fFD3d60f76a", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xcd57f7ec19baa45293ebc5e62fe500edf961b225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0xfe9a5b", "value": "0x0", "input": "0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0xaa36a7" }, "additionalContracts": [ { "transactionType": "CREATE2", "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3" }, { "transactionType": "CREATE2", "address": "0x32ce910d9c6c8f78dc6779c1499ab05f281a054e", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3" }, { "transactionType": "CREATE2", "address": "0x217e725700de4dc599360adbd57dbb7de280817e", "initCode": "0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f" }, { "transactionType": "CREATE2", "address": "0xd3683e4947a7769603ab6418ec02f000ce3cf30b", "initCode": "0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3" }, { "transactionType": "CREATE2", "address": "0x32b37bbd2c81e853ea098ce45856ae305df10dd1", "initCode": "0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x15a6f48", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x00000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000018000000000000000000000000cd57f7ec19baa45293ebc5e62fe500edf961b2250000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x49", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4a", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4b", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4c", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4d", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4e", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x4f", "removed": false }, { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x50", "removed": false }, { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x51", "removed": false }, { "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d60000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x52", "removed": false }, { "address": "0xc34855f4de64f1840e5686e64278da901e261f20", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x53", "removed": false }, { "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x54", "removed": false }, { "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x55", "removed": false }, { "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x56", "removed": false }, { "address": "0x32ce910d9c6c8f78dc6779c1499ab05f281a054e", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x57", "removed": false }, { "address": "0x32ce910d9c6c8f78dc6779c1499ab05f281a054e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x58", "removed": false }, { "address": "0x32ce910d9c6c8f78dc6779c1499ab05f281a054e", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x59", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5a", "removed": false }, { "address": "0xd3683e4947a7769603ab6418ec02f000ce3cf30b", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5b", "removed": false }, { "address": "0xd3683e4947a7769603ab6418ec02f000ce3cf30b", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5c", "removed": false }, { "address": "0xd3683e4947a7769603ab6418ec02f000ce3cf30b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5d", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5e", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000014a34", "0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x5f", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x38088b006efbd2e14694c61a6603bd579955beee666fc83a3674ed8e6e8087350000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "logIndex": "0x60", "removed": false } ], "logsBloom": "0x000000004006000800800000000000004020000000000000000000800c4002000000000200000000000000000000000000000000000000200000010000048100000081120410000808000001004002000000040000840000000000001000000040000000020100000000028024000800000000810020000080000000000008200000210000400800000000000208000008040020000081000000080080800000000000000400004100000100000404020000100000410000040000800000000000080020000010080000000000060002100000000c00200001010422400060000000000000442000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x5abbe161ffecb01535c1e9881023fa9f8fdd8fc1c5e92507a816fe245fafae9d", "transactionIndex": "0x3f", "blockHash": "0xd57513d887f5dbfc888d3e1991ff76ddccbe5970f62de5ad3bf1a6a570e48a34", "blockNumber": "0x8d43b2", "gasUsed": "0xb853f4", "effectiveGasPrice": "0xf74f9", "blobGasUsed": "0x0", "from": "0xcd57f7ec19baa45293ebc5e62fe500edf961b225", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": { "0": { "internal_type": "struct VmSafe.AccountAccess[]", "value": "[((0, 11155111), 8, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D, 0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519, true, 0, 0, 0x, 0, 0x, false, [], 1), ((0, 11155111), 0, 0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000fb1bffc9d739b8d520daf37df666da4c687191ea, 0x000000000000000000000000fb1bffc9d739b8d520daf37df666da4c687191ea, false)], 1), ((0, 11155111), 1, 0xfb1bffC9d739B8D520DaF37dF666da4C687191EA, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x6a76120200000000000000000000000093dc480940585d9961bfceab58124ffd3d60f76a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000, false, [(0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000018, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000005, true, 0x0000000000000000000000000000000000000000000000000000000000000018, 0x0000000000000000000000000000000000000000000000000000000000000019, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xf2bbbeb1826921cbddfd00e626fa8ba949fbcef64056b814959151cf996c2935, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0xda056de0e460c75e5163abc19a3eb1ec6a9ada3e95462ea3fc0925b123fc73d9, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x558c5af92cc007f6979df06dadbfed6701df2ae48b8f8771b867aa10f78aa652, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce, false, 0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a, 0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a, false), (0x0fe884546476dDd290eC46318785046ef68a0BA9, 0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 2), ((0, 11155111), 1, 0x93dc480940585D9961bfcEab58124fFD3d60f76a, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000003bb6437aba031afbf9cb3538fa064161e2bf2d780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc800000000000000000000000000000000000000000000000000000000, false, [], 3), ((0, 11155111), 1, 0x3Bb6437ABa031AFBF9CB3538Fa064161E2bf2d78, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0xff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 4), ((0, 11155111), 1, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0xCd57F7ec19baA45293EBC5e62fE500EDf961b225, true, 2645212231990000, 2645212231990000, 0x, 0, 0xff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8, false, [], 5), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 8, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, false)], 6), ((0, 11155111), 1, 0xfdA350e8038728B689976D4A9E8A318400A150C5, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x0a49cb03, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x35e80ab3, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x35e80ab3, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000035, false, 0x0000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00, 0x0000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00, false)], 7), ((0, 11155111), 3, 0xC2Be75506d5724086DEB7245bd260Cc9753911Be, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [(0xC2Be75506d5724086DEB7245bd260Cc9753911Be, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false)], 6), ((0, 11155111), 1, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 7), ((0, 11155111), 3, 0xCe28685EB204186b557133766eCA00334EB441E4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x54fd4d50, false, [], 6), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, false)], 6), ((0, 11155111), 1, 0xfdA350e8038728B689976D4A9E8A318400A150C5, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 7), ((0, 11155111), 8, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x99a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x036723db289c38b166a11a0b9dd57a1451c4c87ca346237156f58cad15cfb7b5, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x3659cfe600000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000004bba758f006ef09402ef31724203f316ab74e4a0, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 7), ((0, 11155111), 3, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000001, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, false)], 7), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 8, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x862ac04ffb5d6e496959459d5c02c9d865119871919c87f3554eab282e6ab7d6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a55700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be00000000000000000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000fda350e8038728b689976d4a9e8a318400a150c5, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 7), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x028f4e470000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006b, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000014a34, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006c, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x000000000000000000000000000000000000000000000000000000000000006c, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa906, true, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x5c0cba33, true, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x5c0cba33, true, [], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3c9f397c, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, false)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3c9f397c, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003b, false, 0x000000000000000000000000000000000000000000000000669fd84800000000, 0x000000000000000000000000000000000000000000000000669fd84800000000, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 3, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, 0x0000000000000000000000007b465370bb7a333f99edd19599eb7fb1c2d3f8d2, false)], 6), ((0, 11155111), 1, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x7258a8070000000000000000000000000000000000000000000000000000000000000000, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false), (0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false)], 7), ((0, 11155111), 3, 0x2784De572c26E3394f30079A09F47cc03FF89d77, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0xbcef3b55, false, [], 8), ((0, 11155111), 1, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0xbcef3b55037637067c1dbe6d2430616d8f54cb774daa599910283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668ab3f0fe6cc40b127faccb2d3035a39df941c6ea731c44fffc2d530de7936e85030000000000000000000000000000000000000000000000000000000001da84580076, false, [], 9), ((0, 11155111), 6, 0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x0729957c92A1F50590A84cb2D65D761093f3f8eB, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, 0x0000000000000000000000002784de572c26e3394f30079a09f47cc03ff89d77, false)], 7), ((0, 11155111), 3, 0x2784De572c26E3394f30079A09F47cc03FF89d77, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0x8b85902b, false, [], 8), ((0, 11155111), 1, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0729957c92A1F50590A84cb2D65D761093f3f8eB, true, 0, 0, 0x, 0, 0x8b85902b037637067c1dbe6d2430616d8f54cb774daa599910283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668ab3f0fe6cc40b127faccb2d3035a39df941c6ea731c44fffc2d530de7936e85030000000000000000000000000000000000000000000000000000000001da84580076, false, [], 9), ((0, 11155111), 8, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da8458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xe703bf7ebca1d010d044163e36bc343b75cc35dd2dee1492dd8442eff950cbe3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef286000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da8458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 7), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x47a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e110283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a0000000000000000000000000000000000000000000000000000000001da84580000000000000000000000000000000000000000000000000000000000000000, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000003, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000001da8458, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000006, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000000000000000000000000000068d1a4f000000000, false), (0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001, false)], 8), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xb682c444, true, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, true)], 6), ((0, 11155111), 1, 0xB443Da3e07052204A02d630a8933dAc05a0d6fB4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xb682c444, true, [], 7), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x78ecabce0000000000000000000000000000000000000000000000000000000000000001, false, [], 6), ((0, 11155111), 8, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x99a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xce985a546c068dd561c5b2037f60a829819f2e723060101d9b471a9c215600e3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 8, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x3659cfe6000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x000000000000000000000000b443da3e07052204a02d630a8933dac05a0d6fb4, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 7), ((0, 11155111), 8, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x0900f0100000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 6), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0x0900f0100000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 7), ((0, 11155111), 3, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false)], 8), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000037, false, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 8), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0x47af267b4554485f4c4f434b424f58000000000000000000000000000000000000000000, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd806, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 9), ((0, 11155111), 6, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x49f53e41452C74589E85cA1677426Ba426459e85, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa39fac12, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580636, false, 0x000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20, 0x000000000000000000000000c34855f4de64f1840e5686e64278da901e261f20, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a7, false, 0x00000000000000000000000021efd066e581fa55ef105170cc04d74386a09190, 0x00000000000000000000000021efd066e581fa55ef105170cc04d74386a09190, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6376, false, 0x000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120, 0x000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false), (0xf272670eb55e895584501d564AfEB048bEd26194, 0xa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320c, false, 0x000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37, 0x000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37, false)], 7), ((0, 11155111), 8, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x0000000000000000000000000000000000000000000000000000000000000002, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x8677fe5a344c74cf14735d23c77ffa15ad8a628e50d096f484b32c7d9ee142a2, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 6), ((0, 11155111), 8, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x9b2ea4bd000000000000000000000000000000000000000000000000000000000000004000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, false), (0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, true, 0x0000000000000000000000005d5a095665886119693f0b41d8dfee78da033e8b, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 7), ((0, 11155111), 0, 0xC34855F4De64F1840e5686e64278da901e261f20, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 950000000000000000, 950000000000000000, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xd083228562f0f7e41f9d9a915a63419a65d150599969a44b0cc2f72e209dad09, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false)], 7), ((0, 11155111), 3, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0xC34855F4De64F1840e5686e64278da901e261f20, true, 0, 0, 0x, 0, 0xbf40fac10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001a4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false)], 8), ((0, 11155111), 1, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 950000000000000000, 950000000000000000, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000000010000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000010000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0xd083228562f0f7e41f9d9a915a63419a65d150599969a44b0cc2f72e209dad09, false, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, 0x4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x4802108971ade4df2a4e6eb8efc0286bfc34bc5e01a8582833de2aaa40329829, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 8), ((0, 11155111), 3, 0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0xC34855F4De64F1840e5686e64278da901e261f20, true, 0, 0, 0x, 0, 0x8da5cb5b, false, [(0x709c2B8ef4A9feFc629A8a2C1AF424Dc5BD6ad1B, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 9), ((0, 11155111), 6, 0x22D12E0FAebD62d429514A65EBAe32dd316c12D6, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [(0xC34855F4De64F1840e5686e64278da901e261f20, 0x00000000000000000000000000000000000000000000000000000000000000fe, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x00000000000000000000000000000000000000000000000000000000000000fe, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000001030000000000000000000000000000000000000000, false), (0xC34855F4De64F1840e5686e64278da901e261f20, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000001030000000000000000000000000000000000000000, 0x0000000000000000000000030000000000000000000000000000000000000000, false)], 8), ((0, 11155111), 8, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb113120000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xa979e28f24e3b10a9d8cdb4e6fe7240c2b9df685395a072fc4ad4366bd3d820d, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xa979e28f24e3b10a9d8cdb4e6fe7240c2b9df685395a072fc4ad4366bd3d820d, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 6), ((0, 11155111), 8, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [], 7), ((0, 11155111), 0, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x9b0b0fda360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000b09ba359a106c9ea3b181cbc5f394570c7d2a7a, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 11155111), 0, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 7), ((0, 11155111), 3, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, true, 0, 0, 0x, 0, 0xb7947262, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, 0x000000000000000000000000709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b, false)], 8), ((0, 11155111), 6, 0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false)], 7), ((0, 11155111), 1, 0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000034, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000034, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0xfd0Bf71F60660E2f608ed56e1659C450eB113120, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 8, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000021efd066e581fa55ef105170cc04d74386a091900000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x086f4d42227304d3e75c16990414dcc918867ab2b17d8ed48a119eff1b13887f, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef2860000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000240900f010000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000007ae1d3bd877a4c5ca257404ce26be93a02c98013, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false)], 7), ((0, 11155111), 1, 0x7f1d12fB2911EB095278085f721e644C1f675696, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x0900f010000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000001, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000033, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000103, false), (0x21eFD066e581FA55Ef105170Cc04d74386a09190, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000103, 0x0000000000000000000000000000000000000000000000000000000000000003, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0xf4e2dd1ff5f568e1dbf5f8fa93c6108298c7a999503172117c9013d6bd90f7c3, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 11155111), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xa8e4fb90, false, [], 6), ((0, 11155111), 3, 0xF0102fFe22649A5421D53aCC96E309660960cF44, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x534db0e2, false, [], 6), ((0, 11155111), 8, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x2538DA6A2862914Fd87CE8E88FF133f81c289F80, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffff, false, [], 6), ((0, 11155111), 8, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xB8d4EA750956C54B394F4A9d270CaF2EDA627013, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0xffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, false, [], 6), ((0, 11155111), 4, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f6104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59996104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000011681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000014a34610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103c9565b348015610b4857600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000049610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e90911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e9091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa5999161480611a6c5750336001600160a01b037f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f16145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59991614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000498111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000004961590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59991614806123d25750336001600160a01b037f0000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f16145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f0000000000000000000000000000000000000000000000000000000000014a3460c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000013660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000001e600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000001e600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000496158ae565b8303613122577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16615961565b90506131b5565b61314d60017f000000000000000000000000000000000000000000000000000000000000001e6158ae565b83036131885761311b7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff16600261598d565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b6131e9817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000163ffffffff1692507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000049600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f000000000000000000000000000000000000000000000000000000000000001e7f00000000000000000000000000000000000000000000000000000000000000496158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e90614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f000000000000000000000000000000000000000000000000000000000000001e600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f000000000000000000000000000000000000000000000000000000000000001e615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e61522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a, 0, 0x6102006040523480156200001257600080fd5b50604051620065243803806200652483398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c61620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613a890152600081816105a90152818161182601528181611922015281816134f40152613990015260008181610948015281816127fe0152613a600152600081816105460152818161247e0152818161300601526142f7015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee5015281816131290152818161416e0152818161459b0152818161467a0152818161472d01528181614f5b015261514c015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda01528181614086015261418f01526000818161083a01526142120152615c616000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154d1565b610c46565b005b34801561038857600080fd5b5061037a61039736600461552c565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de9190615585565b34801561042157600080fd5b506104456104303660046155ad565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be36600461552c565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ca565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155ad565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615661565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615674565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155ad565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa36600461569b565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ca565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615674565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615674565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155ad565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc3660046156dc565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615674565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155ad565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615705565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615674565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ca565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de93929190615791565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615674565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c6561554e565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157cc565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615840565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615850565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f2461554e565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615850565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff16611140919061587c565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615850565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615850565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b90615894565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae61554e565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615850565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156116245761162461554e565b0217905560028111156116395761163961554e565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158ae565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff1660028111156117185761171861554e565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff1660028111156117555761175561554e565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd61554e565b1480611aef57506001600d5460ff166002811115611aed57611aed61554e565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f61554e565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158c5565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158c5565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158c5565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff90911690615585565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d61554e565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615850565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615850565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158ae565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f919061587c565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd83836158f8565b9050670de0b6b3a76400006000612214827f000000000000000000000000000000000000000000000000000000000000000061590c565b9050600061223261222d670de0b6b3a76400008661590c565b613b1c565b905060006122408484613d6e565b9050600061224e8383613dbd565b9050600061225b82613deb565b9050600061227a82612275670de0b6b3a76400008f61590c565b613fd3565b905060006122888b83613dbd565b9050612294818d61590c565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156123365761233661554e565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614004565b60008054600160801b900460ff1660028111156124355761243561554e565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614560565b93509350935093506000612478858585856148b9565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061592b565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c59190615948565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614958565b600954612653919061587c565b61265e90600161587c565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127379190615948565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000612932856149ed565b91945092509050600181600181111561294d5761294d61554e565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451612990838561587c565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158ae565b8152602001858c60200151612a4a919061587c565b90526149ed565b509150915060405180604001604052808383612a6d919061587c565b8152602001848b60200151612a82919061587c565b815250888581518110612a9757612a97615850565b6020908102919091010152612aad60018561587c565b9350612ab9818361587c565b612ac3908461587c565b92505050612a0b565b50845250919392505050565b60606000806000612ae8856149ed565b919450925090506000816001811115612b0357612b0361554e565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b44828461587c565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614e8b565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc590849061587c565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c2161554e565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615850565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f0000000000000000000000000000000000000000000000000000000000000000600261587c565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b8103612f1d57612f1d86888588614f20565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061592b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e79190615948565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615961565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158ae565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16600261598d565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159bd565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158ae565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb90849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367991906159e6565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146136e857639824bdab6000526004601cfd5b803660011981013560f01c90036054013511613746576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b90915291822080549192909161398790849061587c565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156139e957600080fd5b505af11580156139fd573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b009190615a0a565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7257631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dab57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613ddb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1957919050565b680755bf798b4a1bf1e58212613e375763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a764000083613feb86613b1c565b613ff59190615a30565b613fff9190615aec565b613deb565b60008054600160801b900460ff1660028111156140235761402361554e565b146140415760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061405657614056615850565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140ac7f0000000000000000000000000000000000000000000000000000000000000000600161587c565b614126826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614160576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561423c576141b37f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158ae565b6001901b6141c9846001600160801b03166150af565b6001600160801b03166141dc9190615b36565b15614210576142076141f860016001600160801b038716615b4a565b865463ffffffff166000615135565b60030154614232565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061425d565b6003850154915061425a6141f86001600160801b0386166001615b6a565b90505b600882901b60088a8a604051614274929190615840565b6040518091039020901b146142b5576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142c08c6151fe565b905060006142cf836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061433c908f908f908f908f908a90600401615bd5565b6020604051808303816000875af115801561435b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437f9190615948565b600485015491149150600090600290614408906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614482896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61448c9190615c0f565b6144969190615c32565b60ff1615905081151581036144d7576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614521576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061458057614580615850565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614635906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161466f576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614714906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561478957825463ffffffff166147537f0000000000000000000000000000000000000000000000000000000000000000600161587c565b830361475d578391505b6002818154811061477057614770615850565b9060005260206000209060050201935080945050614673565b600481810154908401546001600160801b0391821691166000816001600160801b03166147ce6147c2856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156148675760006147f4836001600160801b03166150af565b6001600160801b0316111561484457600061482461481c60016001600160801b038616615b4a565b896001615135565b6003810154600490910154909c506001600160801b03169a5061484a9050565b6008549a505b600386015460048701549099506001600160801b031697506148ab565b600061488061481c6001600160801b0385166001615b6a565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149145760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b82826040516020016149399291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149cc847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a30576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a55576000600160009450945094505050614e84565b60b78111614b6b576000614a6a6080836158ae565b905080876000015111614aa9576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b2157507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b58576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614e84915050565b60bf8111614cc9576000614b8060b7836158ae565b905080876000015111614bbf576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c21576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c69576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c73818461587c565b895111614cac576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cb783600161587c565b9750955060009450614e849350505050565b60f78111614d2e576000614cde60c0836158ae565b905080876000015111614d1d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614e84915050565b6000614d3b60f7836158ae565b905080876000015111614d7a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614ddc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e24576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e2e818461587c565b895111614e67576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e7283600161587c565b9750955060019450614e849350505050565b9193909250565b60608167ffffffffffffffff811115614ea657614ea66157b6565b6040519080825280601f01601f191660200182016040528015614ed0576020820181803683370190505b5090508115614f19576000614ee5848661587c565b90506020820160005b84811015614f06578281015182820152602001614eee565b84811115614f15576000858301525b5050505b9392505050565b6000614f366001600160801b0384166001615b6a565b90506000614f4682866001615135565b9050600086901a83806150105750614f7f60027f0000000000000000000000000000000000000000000000000000000000000000615b36565b6004830154600290615001906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61500b9190615c32565b60ff16145b156150685760ff81166001148061502a575060ff81166002145b615063576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b6150a6565b60ff8116156150a6576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161373d565b50505050505050565b600080615123837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615175576151706001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061522d565b615187565b615187856001600160801b031661536c565b90506002848154811061519c5761519c615850565b906000526020600020906005020191505b60048201546001600160801b038281169116146151f657815460028054909163ffffffff169081106151e1576151e1615850565b906000526020600020906005020191506151ad565b509392505050565b600080600080600061520f86614560565b9350935093509350615223848484846148b9565b9695505050505050565b6000816152aa846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152c05763b34b5c226000526004601cfd5b6152c98361536c565b905081615346826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116128535761285061535c83600161587c565b6001600160801b038316906153f8565b600081196001830116816153e7827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061546c847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261549a57600080fd5b50813567ffffffffffffffff8111156154b257600080fd5b6020830191508360208285010111156154ca57600080fd5b9250929050565b600080600083850360a08112156154e757600080fd5b60808112156154f557600080fd5b50839250608084013567ffffffffffffffff81111561551357600080fd5b61551f86828701615488565b9497909650939450505050565b6000806040838503121561553f57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061558257634e487b7160e01b600052602160045260246000fd5b50565b6020810161559283615564565b91905290565b6001600160a01b038116811461558257600080fd5b6000602082840312156155bf57600080fd5b8135614f1981615598565b6000806000606084860312156155df57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561561c57602081850181015186830182015201615600565b8181111561562e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061285060208301846155f6565b60006020828403121561568657600080fd5b5035919050565b801515811461558257600080fd5b600080600080608085870312156156b157600080fd5b84359350602085013592506040850135915060608501356156d18161568d565b939692955090935050565b6000602082840312156156ee57600080fd5b81356001600160801b0381168114614f1957600080fd5b6000806000806000806080878903121561571e57600080fd5b8635955060208701356157308161568d565b9450604087013567ffffffffffffffff8082111561574d57600080fd5b6157598a838b01615488565b9096509450606089013591508082111561577257600080fd5b5061577f89828a01615488565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de60608301846155f6565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156157de57600080fd5b6040516080810181811067ffffffffffffffff8211171561580f57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561588f5761588f615866565b500190565b600060001982036158a7576158a7615866565b5060010190565b6000828210156158c0576158c0615866565b500390565b6000602082840312156158d757600080fd5b8151614f198161568d565b634e487b7160e01b600052601260045260246000fd5b600082615907576159076158e2565b500490565b600081600019048311821515161561592657615926615866565b500290565b60006020828403121561593d57600080fd5b8151614f1981615598565b60006020828403121561595a57600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561598457615984615866565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159b4576159b4615866565b02949350505050565b600067ffffffffffffffff838116908316818110156159de576159de615866565b039392505050565b600080604083850312156159f957600080fd5b505080516020909101519092909150565b600060208284031215615a1c57600080fd5b815163ffffffff81168114614f1957600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a7157615a71615866565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615aac57615aac615866565b60008712925087820587128484161615615ac857615ac8615866565b87850587128184161615615ade57615ade615866565b505050929093029392505050565b600082615afb57615afb6158e2565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b3157615b31615866565b500590565b600082615b4557615b456158e2565b500690565b60006001600160801b03838116908316818110156159de576159de615866565b60006001600160801b0380831681851680830382111561598457615984615866565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615be9606083018789615b8c565b8281036020840152615bfc818688615b8c565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c2957615c29615866565b90039392505050565b600060ff831680615c4557615c456158e2565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f, false, [], 6), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x217e725700DE4Dc599360aDbd57dbb7DE280817E, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false)], 9), ((0, 11155111), 3, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 11), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a30000000000000000000000000000000000000000000000000000000000000001000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, false, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e, true, 0x000000000000000000000000f0102ffe22649a5421d53acc96e309660960cf44, 0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e, false)], 7), ((0, 11155111), 3, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x1b685b9e0000000000000000000000000000000000000000000000000000000000000000, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 8, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0xA643EA8ee60D92f615eC70AF0248c449bBCEcF4d, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, [], 6), ((0, 11155111), 4, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a, 0, 0x608060405234801561001057600080fd5b5060405161091f38038061091f83398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206108ff8339815191525490565b6000805160206108ff833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61080b806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false)], 6), ((0, 11155111), 8, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 8, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x9623609d000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, 0x323fa858dfe9c520242caa937f66ec357241795c9c8f1a047561d0fac32044f6, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false)], 6), ((0, 11155111), 0, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0x4f1ef28600000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c699800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false)], 7), ((0, 11155111), 1, 0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998, 0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3, true, 0, 0, 0x, 0, 0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false, [(0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103, false, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, 0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000000000000000000000000000, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000004, true, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000101, false), (0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x0000000000000000000000000000000000000000000000000000000000000000, true, 0x0000000000000000000000000000000000000000000000000000000000000101, 0x0000000000000000000000000000000000000000000000000000000000000001, false)], 8), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0xb51f9c2b, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000000, false, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, 0x000000000000000000000000765c6637a370595845f637739279c353484a26a6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, 0x000000000000000000000000a643ea8ee60d92f615ec70af0248c449bbcecf4d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000002, false, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, 0x0000000000000000000000002fa0d0f6d92061344db35132379db419bd1c56f7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000003, false, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, 0x000000000000000000000000a5d36deaf2267b267278a4a1458defe0d65620eb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000004, false, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, 0x0000000000000000000000007096758bdd076a4cc42255c278f2cb216d6d8ce3, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000005, false, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, 0x0000000000000000000000002538da6a2862914fd87ce8e88ff133f81c289f80, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000006, false, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, 0x000000000000000000000000b8d4ea750956c54b394f4a9d270caf2eda627013, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000007, false, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, 0x000000000000000000000000065e5d14a280701c054d5a6a67f31f228233b823, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000008, false, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, 0x000000000000000000000000481f6ffbbba2f205bb04fc584d5ce940658d41e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000009, false, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, 0x0000000000000000000000003efb68b95a4b148b7dc0a1f4d44c20e61d224ce7, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000a, false, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, 0x00000000000000000000000047ab4081ae9e68ded575100d7abc024d60a6b04d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000b, false, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, 0x000000000000000000000000e6d25d68252e0d9ca9e16b554fa5d7c48ede150c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000c, false, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, 0x0000000000000000000000001de15df33bca415b7d5f108d6f7e69386d8fae62, false)], 7), ((0, 11155111), 3, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x30e9012c, false, [], 6), ((0, 11155111), 3, 0x10596fE51861c5D3865568278270B1DF050Ee547, 0xF0B65D6a9F2B96D5692e22e0D3A5B143b7B98152, true, 0, 0, 0x, 0, 0x30e9012c, false, [(0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000d, false, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, 0x000000000000000000000000ce28685eb204186b557133766eca00334eb441e4, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000e, false, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, 0x00000000000000000000000037e15e4d6dffa9e5e320ee1ec036922e563cb76c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000000f, false, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, 0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000010, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000011, false, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, 0x000000000000000000000000b0eb854fd842e0e564d49d2fe6b2ac25d035523c, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000012, false, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, 0x000000000000000000000000784d2f03593a42a6e4676a012762f18775ecbbe6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000013, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000014, false, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, 0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000015, false, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, 0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000016, false, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, 0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000017, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000018, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x0000000000000000000000000000000000000000000000000000000000000019, false, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, 0x00000000000000000000000033dadc2d1aa9bb613a7ae6b28425ea00d44c6998, false), (0x10596fE51861c5D3865568278270B1DF050Ee547, 0x000000000000000000000000000000000000000000000000000000000000001a, false, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, 0x00000000000000000000000007babe08ee4d07dba236530183b24055535a7011, false)], 7), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xbbdc02db, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xd6ae3cd5, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x8d450a95, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xfa315aa9, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xec5e6308, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x6b6716c0, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xdabd396d, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3a768463, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x3fc8cef3, false, [], 6), ((0, 11155111), 3, 0xCFcE7DD673fBbbFfD16Ab936B7245A2f2dB31C9a, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x5c0cba33, false, [], 6), ((0, 11155111), 8, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x065E5D14a280701C054D5a6A67f31F228233B823, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080, false, [], 6), ((0, 11155111), 8, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 10, 0x481f6FfbbBa2F205BB04Fc584D5cE940658D41e4, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 3, 0x0000000000000000000000000000000000000004, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 613037898440193504, 613037898440193504, 0x, 0, 0xfd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, false, [], 6), ((0, 11155111), 4, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000002a306103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc861046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f0000000000000000000000000000000000000000000000000000000000014a3461046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d406103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000001e61046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000004961046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d4081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b90911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b9091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f000000000000000000000000000000000000000000000000000000000000001e600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000049811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d40811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000004961567c565b8303611eb1577f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000001e61567c565b8303611f1757611eaa7f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff1660026156f5565b507f0000000000000000000000000000000000000000000000000000000000002a3067ffffffffffffffff165b611f78817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f0000000000000000000000000000000000000000000000000000000000049d4067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153556001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000049d401667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f0000000000000000000000000000000000000000000000000000000000049d4095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000049811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000496157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000049600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f000000000000000000000000000000000000000000000000000000000000001e7f000000000000000000000000000000000000000000000000000000000000004961567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc85b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000007babe08ee4d07dba236530183b24055535a70116001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f000000000000000000000000000000000000000000000000000000000000001e614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f0000000000000000000000000000000000000000000000000000000000014a3460c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f000000000000000000000000000000000000000000000000000000000000001e6157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000001e614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000001e90614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000001e906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f000000000000000000000000000000000000000000000000000000000000001e600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a, 0, 0x6101c06040523480156200001257600080fd5b506040516200626f3803806200626f83398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003a821760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a2f620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139c00152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c44015260008181610593015281816117aa015281816118a6015281816122830152612b4b0152600081816108cc01528181612c1b0152613a4201526000818161053001528181611d95015281816133f101526136c2015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e070152612e49015260008181610acf01528181611b4e01528181611c7401528181611eb8015281816132680152818161386601528181613e810152818161455a01528181614676015281816147550152614808015260008181610b7601528181611c1701528181611d6901528181612ef501528181612f7b0152818161318001526132890152600081816107f1015261330c0152615a2f6000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f36600461529f565b610bca565b005b34801561037257600080fd5b506103646103813660046152fa565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615353565b34801561040b57600080fd5b5061042f61041a36600461537b565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a83660046152fa565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c5366004615398565b61161f565b3480156105d657600080fd5b5061046a6105e536600461537b565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e372e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c8919061542f565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615442565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461537b565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b610364610761366004615469565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e366004615398565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615442565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615442565b612cd7565b34801561094457600080fd5b5061046a61095336600461537b565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154aa565b612e71565b34801561099157600080fd5b506109a56109a0366004615442565b613032565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461537b565b6130a6565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154d3565b6130fe565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615442565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e366004615398565b61365a565b348015610b4f57600080fd5b50610b58613a40565b6040516103c89392919061555f565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615442565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be961531c565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c853686900386018661559a565b613a9d565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd692919061560e565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613af992505050565b613b66565b90506000610d8582600881518110610d7857610d7861561e565b6020026020010151613d1c565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea861531c565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb61561e565b906000526020600020906005020190506000610ef684612cd7565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613dd0565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061564a565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f75760008682815481106111025761110261561e565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f61561e565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615662565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613dd0565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613dd0565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114325761143261531c565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d361561e565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a861531c565b0217905560028111156115bd576115bd61531c565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff168261567c565b95945050505050565b606061161a60546020613e12565b611681612332565b60006002600d5460ff16600281111561169c5761169c61531c565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d961531c565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b061531c565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e361561e565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261564a565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8103611cac57611cac86888588613e46565b34611cb683612e71565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cd7565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190615693565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156b0565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156c9565b9050611f44565b611edc60017f000000000000000000000000000000000000000000000000000000000000000061567c565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026156f5565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615725565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612246919061567c565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b61531c565b148061236d57506001600d5460ff16600281111561236b5761236b61531c565b145b1561237457565b6000600d5460ff16600281111561238d5761238d61531c565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612446919061574e565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d919061574e565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e6919061574e565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615353565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061576b565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a146128a357639824bdab6000526004601cfd5b803660011981013560f01c90036054013511612901576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b4290849061564a565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ba457600080fd5b505af1158015612bb8573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb919061578f565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612cf857612cf861531c565b14612d165760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d2b57612d2b61561e565b600091825260208220600590910201805490925063ffffffff90811614612d9157815460028054909163ffffffff16908110612d6957612d6961561e565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612dbc90600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612dd09067ffffffffffffffff164261567c565b612de6612daf846001600160801b031660401c90565b67ffffffffffffffff16612dfa919061564a565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e475780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612eee836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f4d576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f6883836157cb565b9050670de0b6b3a76400006000612f9f827f00000000000000000000000000000000000000000000000000000000000000006157df565b90506000612fbd612fb8670de0b6b3a7640000866157df565b613fd5565b90506000612fcb8484614227565b90506000612fd98383614276565b90506000612fe6826142a4565b9050600061300582613000670de0b6b3a76400008f6157df565b61448c565b905060006130138b83614276565b905061301f818d6157df565b9f9e505050505050505050505050505050565b6002818154811061304257600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130c1576130c161531c565b036130e257506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561311d5761311d61531c565b1461313b5760405163067fe19560e41b815260040160405180910390fd5b6000600287815481106131505761315061561e565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131a67f0000000000000000000000000000000000000000000000000000000000000000600161564a565b613220826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461325a576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915613336576132ad7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061567c565b6001901b6132c3846001600160801b03166144bd565b6001600160801b03166132d691906157fe565b1561330a576133016132f260016001600160801b038716615812565b865463ffffffff166000614543565b6003015461332c565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613357565b600385015491506133546132f26001600160801b0386166001615832565b90505b600882901b60088a8a60405161336e92919061560e565b6040518091039020901b146133af576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133ba8c61460c565b905060006133c9836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613436908f908f908f908f908a9060040161589d565b6020604051808303816000875af1158015613455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061347991906156b0565b600485015491149150600090600290613502906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61357c896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61358691906158d7565b61359091906158fa565b60ff1615905081151581036135d1576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561361b576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff1660028111156136795761367961531c565b146136975760405163067fe19560e41b815260040160405180910390fd5b6000806000806136a68661463b565b935093509350935060006136bc85858585614994565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561371e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137429190615693565b90506001890361380f576001600160a01b0381166352f0f3ad8a846137733660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156137e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380991906156b0565b50611406565b6002890361382e576001600160a01b0381166352f0f3ad8a8489613773565b6003890361384d576001600160a01b0381166352f0f3ad8a8487613773565b6004890361398257600061388a6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a33565b600954613897919061564a565b6138a290600161564a565b90503660011981013560f01c90036054013581106138cf573660011981013560f01c9003605401356138d1565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061397b91906156b0565b5050611406565b60058903613a0e576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137c6565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a7b61166b565b9050909192565b600081831015613a925781613a94565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613adc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b48576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b7685614ac8565b919450925090506001816001811115613b9157613b9161531c565b14613bc8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bd4838561564a565b14613c0b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c225790505093506000835b8651811015613d1057600080613c956040518060400160405280858c60000151613c79919061567c565b8152602001858c60200151613c8e919061564a565b9052614ac8565b509150915060405180604001604052808383613cb1919061564a565b8152602001848b60200151613cc6919061564a565b815250888581518110613cdb57613cdb61561e565b6020908102919091010152613cf160018561564a565b9350613cfd818361564a565b613d07908461564a565b92505050613c4f565b50845250919392505050565b60606000806000613d2c85614ac8565b919450925090506000816001811115613d4757613d4761531c565b14613d7e576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613d88828461564a565b855114613dc1576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f66565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e0990849061564a565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e5c6001600160801b0384166001615832565b90506000613e6c82866001614543565b9050600086901a8380613f365750613ea560027f00000000000000000000000000000000000000000000000000000000000000006157fe565b6004830154600290613f27906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f3191906158fa565b60ff16145b15613f8e5760ff811660011480613f50575060ff81166002145b613f89576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b613fcc565b60ff811615613fcc576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016128f8565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361402b57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261426457637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142945763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142d257919050565b680755bf798b4a1bf1e582126142f05763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613a94670de0b6b3a7640000836144a486613fd5565b6144ae919061591c565b6144b891906159d8565b6142a4565b600080614531837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145835761457e6001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614ffb565b614595565b614595856001600160801b031661513a565b9050600284815481106145aa576145aa61561e565b906000526020600020906005020191505b60048201546001600160801b0382811691161461460457815460028054909163ffffffff169081106145ef576145ef61561e565b906000526020600020906005020191506145bb565b509392505050565b600080600080600061461d8661463b565b935093509350935061463184848484614994565b9695505050505050565b600080600080600085905060006002828154811061465b5761465b61561e565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614710906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161474a576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906147ef906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561486457825463ffffffff1661482e7f0000000000000000000000000000000000000000000000000000000000000000600161564a565b8303614838578391505b6002818154811061484b5761484b61561e565b906000526020600020906005020193508094505061474e565b600481810154908401546001600160801b0391821691166000816001600160801b03166148a961489d856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149425760006148cf836001600160801b03166144bd565b6001600160801b0316111561491f5760006148ff6148f760016001600160801b038616615812565b896001614543565b6003810154600490910154909c506001600160801b03169a506149259050565b6008549a505b600386015460048701549099506001600160801b03169750614986565b600061495b6148f76001600160801b0385166001615832565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149ef5760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a149291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614aa7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b0b576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b30576000600160009450945094505050614f5f565b60b78111614c46576000614b4560808361567c565b905080876000015111614b84576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614bfc57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c33576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f5f915050565b60bf8111614da4576000614c5b60b78361567c565b905080876000015111614c9a576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614cfc576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d4e818461564a565b895111614d87576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9283600161564a565b9750955060009450614f5f9350505050565b60f78111614e09576000614db960c08361567c565b905080876000015111614df8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f5f915050565b6000614e1660f78361567c565b905080876000015111614e55576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614eb7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614eff576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f09818461564a565b895111614f42576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f4d83600161564a565b9750955060019450614f5f9350505050565b9193909250565b60608167ffffffffffffffff811115614f8157614f81615584565b6040519080825280601f01601f191660200182016040528015614fab576020820181803683370190505b5090508115614ff4576000614fc0848661564a565b90506020820160005b84811015614fe1578281015182820152602001614fc9565b84811115614ff0576000858301525b5050505b9392505050565b600081615078846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161508e5763b34b5c226000526004601cfd5b6150978361513a565b905081615114826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613a9757613a9461512a83600161564a565b6001600160801b038316906151c6565b600081196001830116816151b5827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061523a847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261526857600080fd5b50813567ffffffffffffffff81111561528057600080fd5b60208301915083602082850101111561529857600080fd5b9250929050565b600080600083850360a08112156152b557600080fd5b60808112156152c357600080fd5b50839250608084013567ffffffffffffffff8111156152e157600080fd5b6152ed86828701615256565b9497909650939450505050565b6000806040838503121561530d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061535057634e487b7160e01b600052602160045260246000fd5b50565b6020810161536083615332565b91905290565b6001600160a01b038116811461535057600080fd5b60006020828403121561538d57600080fd5b8135614ff481615366565b6000806000606084860312156153ad57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156153ea576020818501810151868301820152016153ce565b818111156153fc576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613a9460208301846153c4565b60006020828403121561545457600080fd5b5035919050565b801515811461535057600080fd5b6000806000806080858703121561547f57600080fd5b843593506020850135925060408501359150606085013561549f8161545b565b939692955090935050565b6000602082840312156154bc57600080fd5b81356001600160801b0381168114614ff457600080fd5b600080600080600080608087890312156154ec57600080fd5b8635955060208701356154fe8161545b565b9450604087013567ffffffffffffffff8082111561551b57600080fd5b6155278a838b01615256565b9096509450606089013591508082111561554057600080fd5b5061554d89828a01615256565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153c4565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155ac57600080fd5b6040516080810181811067ffffffffffffffff821117156155dd57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561565d5761565d615634565b500190565b6000600019820361567557615675615634565b5060010190565b60008282101561568e5761568e615634565b500390565b6000602082840312156156a557600080fd5b8151614ff481615366565b6000602082840312156156c257600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156156ec576156ec615634565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561571c5761571c615634565b02949350505050565b600067ffffffffffffffff8381169083168181101561574657615746615634565b039392505050565b60006020828403121561576057600080fd5b8151614ff48161545b565b6000806040838503121561577e57600080fd5b505080516020909101519092909150565b6000602082840312156157a157600080fd5b815163ffffffff81168114614ff457600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157da576157da6157b5565b500490565b60008160001904831182151516156157f9576157f9615634565b500290565b60008261580d5761580d6157b5565b500690565b60006001600160801b038381169083168181101561574657615746615634565b60006001600160801b038083168185168083038211156156ec576156ec615634565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158b1606083018789615854565b82810360208401526158c4818688615854565b9150508260408301529695505050505050565b600060ff821660ff8416808210156158f1576158f1615634565b90039392505050565b600060ff83168061590d5761590d6157b5565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561595d5761595d615634565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561599857615998615634565b600087129250878205871284841616156159b4576159b4615634565b878505871281841616156159ca576159ca615634565b505050929093029392505050565b6000826159e7576159e76157b5565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a1d57615a1d615634565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc80000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34, false, [], 6), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0x7dc0d1d0, false, [], 7), ((0, 11155111), 3, 0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3, 0x32b37BBd2c81e853EA098ce45856aE305Df10dD1, true, 0, 0, 0x, 0, 0xf3f480d9, false, [], 7), ((0, 11155111), 3, 0xf272670eb55e895584501d564AfEB048bEd26194, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, 0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557, false)], 6), ((0, 11155111), 1, 0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0xf272670eb55e895584501d564AfEB048bEd26194, 0x4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ac, false, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, 0x00000000000000000000000049f53e41452c74589e85ca1677426ba426459e85, false)], 7), ((0, 11155111), 3, 0x49f53e41452C74589E85cA1677426Ba426459e85, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, 0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999, false)], 8), ((0, 11155111), 1, 0x381E729FF983FA4BCEd820e7b922d79bF653B999, 0xf272670eb55e895584501d564AfEB048bEd26194, true, 1150428230307645607463903, 1150428230307645607463903, 0x, 0, 0xf2b4e617, false, [(0x49f53e41452C74589E85cA1677426Ba426459e85, 0x000000000000000000000000000000000000000000000000000000000000003e, false, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, 0x0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355, false)], 9), ((0, 11155111), 3, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, 0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e, false)], 10), ((0, 11155111), 1, 0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E, 0x49f53e41452C74589E85cA1677426Ba426459e85, true, 0, 0, 0x, 0, 0xf2b4e617, false, [(0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 0x0000000000000000000000000000000000000000000000000000000000000001, false, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, 0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1, false)], 11), ((0, 11155111), 8, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x, false, [], 6), ((0, 11155111), 0, 0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, false, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, 0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d, false)], 6), ((0, 11155111), 1, 0x33D1e8571a85a538ed3D5A4d88f46C112383439D, 0x0fe884546476dDd290eC46318785046ef68a0BA9, true, 0, 0, 0x, 0, 0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false, [(0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0x0000000000000000000000000000000000000000000000000000000000000033, false, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, 0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, false, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, false), (0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1, 0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b, true, 0x000000000000000000000000cfce7dd673fbbbffd16ab936b7245a2f2db31c9a, 0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1, false)], 7)]" } }, "timestamp": 1758569774, "chain": 11155111, "commit": "218da43b" } ================================================ FILE: sepolia/2025-09-22-upgrade-to-U16a/validation.yml ================================================ 'disabled': true ================================================ FILE: sepolia/2025-10-09-fusaka-defense/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. For sepolia tasks, the facilitator only needs to collect signatures for the base nested safe. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-10-09-fusaka-defense make deps ``` ### 2. Approve base nested safe ```bash SIGNATURES=AAABBBCCC make approve-cb ``` ### 3. Sign for mock SC ### 4. Approve for mock SC ```bash SIGNATURES=AAABBBCCC make approve-cb-sc ``` ### 5. Sign for mock OP ### 6. Approve for mock OP ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` ### 7. Approve for CB coordinator ```bash make approve-coordinator ``` ### 8. Execute ```bash make execute ``` ================================================ FILE: sepolia/2025-10-09-fusaka-defense/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --account testnet-admin --broadcast -vvvv # OWNER_SAFE/ # ├── CB_SIGNER_SAFE_ADDR/ # │ ├── CB_NESTED_SAFE_ADDR/ # │ │ └── Signers # │ └── CB_SC_SAFE_ADDR/ # │ └── Signers # └── OP_SIGNER_SAFE_ADDR/ # └── Signers RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpgradeDGF # Validation files .PHONY: gen-validation-op gen-validation-op: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/OP_VALIDATION.json \ -- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: gen-validation-base-nested gen-validation-base-nested: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_NESTED_VALIDATION.json \ -- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: gen-validation-base-sc gen-validation-base-sc: $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/BASE_SC_VALIDATION.json \ -- forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) # OP .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-coordinator approve-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2025-10-09-fusaka-defense/README.md ================================================ # Upgrade Fault Proofs Status: EXECUTED (https://sepolia.etherscan.io/tx/0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535) ## Description This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Sign Task ### 1. Run the signer tool ```bash make sign-task ``` ### 2. Open the UI at [http://localhost:3000](http://localhost:3000) ### 3. Send signature to facilitator ================================================ FILE: sepolia/2025-10-09-fusaka-defense/addresses.json ================================================ { "faultDisputeGame": "0xf83157709129bd03fb02e96950be288e8c2c1c67", "permissionedDisputeGame": "0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/DeployDisputeGames.s.sol/11155111/run-1760020249278.json ================================================ { "transactions": [ { "hash": "0xa535191db0a343c3de5d51377bb1c4d4e76550da5d29d80f81eaf9a52438a664", "transactionType": "CREATE", "contractName": "FaultDisputeGame", "contractAddress": "0xf83157709129bd03fb02e96950be288e8c2c1c67", "function": null, "arguments": [ "(0, 0x0339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f91, 73, 30, 10800, 302400, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0xd3683e4947A7769603Ab6418eC02f000CE3cF30b, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 84532)" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x53801f", "value": "0x0", "input": "0x6101c06040523480156200001257600080fd5b50604051620052f7380380620052f783398101604081905262000035916200052d565b620000436001607e62000600565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000626565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000661565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000baf1760201c565b6200020d906001600160401b031660026200067b565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000641565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000661565b6200030184608001516001600160401b03166200048060201b62000baf1760201c565b6001600160401b031662000316919062000626565b905060006200033183836200048360201b620031801760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000baf1760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000baf1760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069d565b90565b600081831162000494578162000496565b825b9392505050565b60405161014081016001600160401b0381118282101715620004cf57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004ea57600080fd5b919050565b80516001600160401b0381168114620004ea57600080fd5b6001600160a01b03811681146200051d57600080fd5b50565b8051620004ea8162000507565b600061014082840312156200054157600080fd5b6200054b6200049d565b6200055683620004d5565b81526020830151602082015260408301516040820152606083015160608201526200058460808401620004ef565b60808201526200059760a08401620004ef565b60a0820152620005aa60c0840162000520565b60c0820152620005bd60e0840162000520565b60e0820152610100620005d281850162000520565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061d576200061d620005ea565b90039392505050565b600082198211156200063c576200063c620005ea565b500190565b6000602082840312156200065457600080fd5b8151620004968162000507565b6000602082840312156200067457600080fd5b5051919050565b6000816000190483118215151615620006985762000698620005ea565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051614ab86200083f600039600081816106a701528181611a6401528181611ace0152611b000152600081816109bb01526130d801526000818161062a01528181611f74015281816120660152818161210e015281816121840152818161229e01526125f2015260008181610530015281816114e0015281816115aa01528181611e4a015261252a01526000818161084c015281816125c901526131440152600081816104dc0152818161197d01528181612c850152612e3e015260008181610a0e01528181610d930152818161190601528181611b2f01528181611b8a015281816127d20152612812015260008181610a41015281816117c30152818161188f01528181611a9f01528181612b2e01528181612fbf015281816135be01528181613aee01528181613c0901528181613c670152613cb2015260008181610ae80152818161184b0152818161195101528181612856015281816128c301528181612ac70152612b4f01526000818161075c0152612bd20152614ab86000f3fe6080604052600436106102ff5760003560e01c806370872aa511610190578063c395e1ca116100dc578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610a95578063fa24f74314610ab5578063fa315aa914610ad9578063fe2bbeb214610b0c57600080fd5b8063dabd396d146109ff578063ec5e630814610a32578063eff0f59214610a6557600080fd5b8063c395e1ca146108d8578063c6f0308c146108f8578063cf09e0d01461096c578063d5d44d801461098c578063d6ae3cd5146109ac578063d8cc1a3c146109df57600080fd5b80638d450a9511610149578063bbdc02db11610123578063bbdc02db14610835578063bcef3b5514610876578063bd8da9561461088b578063c0d8bb74146108ab57600080fd5b80638d450a951461074d57806399735e3214610780578063a445ece61461079557600080fd5b806370872aa5146106de578063786b844b146106f35780637b0f0adc146107085780638129fc1c1461071b5780638980e0cc146107235780638b85902b1461073857600080fd5b80633e3ac9121161024f5780635a5fa2d91161020857806360e27464116101e257806360e27464146106635780636361506d146106835780636b6716c0146106985780636f034409146106cb57600080fd5b80635a5fa2d9146105fb5780635c0cba331461061b578063609d33341461064e57600080fd5b80633e3ac912146105005780633fc8cef314610521578063472777c614610554578063529d6a8c1461056757806354fd4d501461059457806357da950e146105cb57600080fd5b806325fc2ace116102bc57806330dbe5701161029657806330dbe57014610466578063378dd48c1461049e57806337b1b229146104b85780633a768463146104cd57600080fd5b806325fc2ace146104125780632810e1d6146104315780632ad69aeb1461044657600080fd5b8063019351301461030457806303c2924d1461032657806319effeb414610346578063200d2ed21461038a578063222abf45146103b8578063250e69bd146103f8575b600080fd5b34801561031057600080fd5b5061032461031f366004614397565b610b3c565b005b34801561033257600080fd5b506103246103413660046143f1565b610d1a565b34801561035257600080fd5b5060005461036d90600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561039657600080fd5b506000546103ab90600160801b900460ff1681565b604051610381919061444a565b3480156103c457600080fd5b506103e86103d3366004614472565b600c6020526000908152604090205460ff1681565b6040519015158152602001610381565b34801561040457600080fd5b50600a546103e89060ff1681565b34801561041e57600080fd5b506008545b604051908152602001610381565b34801561043d57600080fd5b506103ab6111c5565b34801561045257600080fd5b506104236104613660046143f1565b611345565b34801561047257600080fd5b50600154610486906001600160a01b031681565b6040516001600160a01b039091168152602001610381565b3480156104aa57600080fd5b50600d546103ab9060ff1681565b3480156104c457600080fd5b50610486611376565b3480156104d957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b34801561050c57600080fd5b506000546103e890600160901b900460ff1681565b34801561052d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b61032461056236600461448f565b611387565b34801561057357600080fd5b50610423610582366004614472565b60036020526000908152604090205481565b3480156105a057600080fd5b506040805180820190915260058152640312e372e360dc1b60208201525b6040516103819190614508565b3480156105d757600080fd5b506008546009546105e6919082565b60408051928352602083019190915201610381565b34801561060757600080fd5b5061042361061636600461451b565b611399565b34801561062757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610486565b34801561065a57600080fd5b506105be6113d3565b34801561066f57600080fd5b5061032461067e366004614472565b6113e1565b34801561068f57600080fd5b5061042361167c565b3480156106a457600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061036d565b6103246106d9366004614542565b611688565b3480156106ea57600080fd5b50600954610423565b3480156106ff57600080fd5b50610324611ef9565b61032461071636600461448f565b612262565b61032461226f565b34801561072f57600080fd5b50600254610423565b34801561074457600080fd5b50610423612685565b34801561075957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b34801561078c57600080fd5b50610423612691565b3480156107a157600080fd5b506107f76107b036600461451b565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b03166060820152608001610381565b34801561084157600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610381565b34801561088257600080fd5b5061042361269b565b34801561089757600080fd5b5061036d6108a636600461451b565b6126a7565b3480156108b757600080fd5b506104236108c6366004614472565b600b6020526000908152604090205481565b3480156108e457600080fd5b506104236108f3366004614583565b61283a565b34801561090457600080fd5b5061091861091336600461451b565b61297a565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e001610381565b34801561097857600080fd5b5060005461036d906001600160401b031681565b34801561099857600080fd5b506104236109a7366004614472565b6129ed565b3480156109b857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b3480156109eb57600080fd5b506103246109fa3660046145ac565b612a45565b348015610a0b57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061036d565b348015610a3e57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b348015610a7157600080fd5b506103e8610a8036600461451b565b60046020526000908152604090205460ff1681565b348015610aa157600080fd5b50610324610ab036600461448f565b612dd6565b348015610ac157600080fd5b50610aca613142565b60405161038193929190614637565b348015610ae557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610423565b348015610b1857600080fd5b506103e8610b2736600461451b565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610b5b57610b5b614413565b14610b795760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610ba45760405163075173a960e11b815260040160405180910390fd5b610bb2610baf61269b565b90565b610bc9610bc436869003860186614672565b61319a565b14610be757604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610bfc9291906146e5565b604051809103902014610c225760405163d81d583b60e01b815260040160405180910390fd5b6000610c6b610c6684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131f692505050565b61324a565b90506000610c9282600881518110610c8557610c856146f5565b60200260200101516133ce565b9050602081511115610cb75760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610cce612685565b8103610ced57604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610d3957610d39614413565b14610d575760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610d6c57610d6c6146f5565b906000526020600020906005020190506000610d87846126a7565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610dd65760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610e065760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610e2357508515155b15610e85578354600160201b90046001600160a01b031660008115610e485781610e57565b60018601546001600160a01b03165b9050610e638187613450565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610f09576001600160801b036040820152600181526000869003610f09578195505b600086826020015163ffffffff16610f219190614721565b90506000838211610f325781610f34565b835b602084015190915063ffffffff165b8181101561103a576000868281548110610f5f57610f5f6146f5565b6000918252602080832090910154808352600690915260409091205490915060ff16610f9e57604051634d03b32360e11b815260040160405180910390fd5b600060028281548110610fb357610fb36146f5565b600091825260209091206005909102018054909150600160201b90046001600160a01b0316158015610ff95750600481015460408701516001600160801b039182169116115b156110255760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061103290614739565b915050610f43565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b03909316929092179091558490036111ba57606083015160008a8152600660205260409020805460ff19166001179055891580156111215750600054600160901b900460ff165b15611167576001546001600160a01b031661113c818a613450565b88546001600160a01b03909116600160201b02640100000000600160c01b03199091161788556111b8565b6111946001600160a01b0382161561117f578161118e565b60018901546001600160a01b03165b89613450565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156111e6576111e6614413565b146112045760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff1661124f57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061126e5761126e6146f5565b6000918252602090912060059091020154600160201b90046001600160a01b03161461129b57600161129e565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b83600281111561130457611304614413565b02179055600281111561131957611319614413565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061136157600080fd5b90600052602060002001600091509150505481565b60006113826000613492565b905090565b6113948383836001611688565b505050565b600081815260076020908152604080832060059092528220805482546113ca90610100900463ffffffff1682614752565b95945050505050565b6060611382605460206134b5565b6113e9611ef9565b60006002600d5460ff16600281111561140457611404614413565b0361142857506001600160a01b0381166000908152600b602052604090205461147e565b6001600d5460ff16600281111561144157611441614413565b0361146557506001600160a01b03811660009081526003602052604090205461147e565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611542576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b505050505050565b80600003611563576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156115f057600080fd5b505af1158015611604573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611655576040519150601f19603f3d011682016040523d82523d6000602084013e61165a565b606091505b5050905080611394576040516383e6cc6b60e01b815260040160405180910390fd5b600061138260346134f7565b60008054600160801b900460ff1660028111156116a7576116a7614413565b146116c55760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106116da576116da6146f5565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146117845760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b905060006117b1826001600160801b0316613517565b60ff1690508615806117ec57506117e97f00000000000000000000000000000000000000000000000000000000000000006002614721565b81145b80156117f6575084155b15611814576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff16801561182b575086155b156118495760405163075173a960e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561188a576040516356f57b2b60e01b815260040160405180910390fd5b6118b57f00000000000000000000000000000000000000000000000000000000000000006001614721565b81036118c7576118c786888588613583565b346118d18361283a565b146118ef57604051638620aa1960e01b815260040160405180910390fd5b60006118fa886126a7565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082160361194857604051630ce0744560e21b815260040160405180910390fd5b600061197560017f0000000000000000000000000000000000000000000000000000000000000000614752565b8303611a98577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fd9190614769565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5e9190614786565b611a91907f00000000000000000000000000000000000000000000000000000000000000006001600160401b031661479f565b9050611b29565b611ac360017f0000000000000000000000000000000000000000000000000000000000000000614752565b8303611afd57611a917f00000000000000000000000000000000000000000000000000000000000000006001600160401b031660026147ca565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b611b5c817f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166147f9565b6001600160401b0316611b75836001600160401b031690565b6001600160401b03161115611bba57611bb7817f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166147f9565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615611c16576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050611e0d9190614752565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290611e41908490614721565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015611ea357600080fd5b505af1158015611eb7573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff166002811115611f1257611f12614413565b1480611f3457506001600d5460ff166002811115611f3257611f32614413565b145b15611f3b57565b6000600d5460ff166002811115611f5457611f54614413565b14611f72576040516301e28f7d60e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff49190614821565b156120125760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361204e57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa1580156120b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d99190614821565b9050806120f957604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561215a57600080fd5b505af192505050801561216b575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f79190614821565b9050801561221157600d805460ff1916600117905561221f565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916122569160ff9091169061444a565b60405180910390a15050565b6113948383836000611688565b600054600160881b900460ff16156122995760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa1580156122f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231d919061483e565b90925090508161234057604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461237357639824bdab6000526004601cfd5b8061237c612685565b116123ae5761238961269b565b60405163f40239db60e01b81526004016123a591815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016123d3611376565b6001600160a01b03168152602001346001600160801b031681526020016123f861269b565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906124f2611376565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546125219190614721565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561258357600080fd5b505af1158015612597573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126699190614862565b600a805460ff191663ffffffff92909216929092141790555050565b600061138260546134f7565b6000611382612685565b600061138260146134f7565b600080600054600160801b900460ff1660028111156126c8576126c8614413565b146126e65760405163067fe19560e41b815260040160405180910390fd5b6000600283815481106126fb576126fb6146f5565b600091825260208220600590910201805490925063ffffffff9081161461276157815460028054909163ffffffff16908110612739576127396146f5565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061278a90600160801b90046001600160401b03165b6001600160401b031690565b61279d906001600160401b031642614752565b6127b361277e846001600160801b031660401c90565b6001600160401b03166127c69190614721565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b03161161281057806113ca565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b60008061284f836001600160801b0316613517565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612895576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a30060006128b0838361489e565b9050670de0b6b3a764000060006128e7827f00000000000000000000000000000000000000000000000000000000000000006148b2565b90506000612905612900670de0b6b3a7640000866148b2565b613678565b90506000612913848461388e565b9050600061292183836138dd565b9050600061292e8261390b565b9050600061294d82612948670de0b6b3a76400008f6148b2565b613a88565b9050600061295b8b836138dd565b9050612967818d6148b2565b9f9e505050505050505050505050505050565b6002818154811061298a57600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115612a0857612a08614413565b03612a2957506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff166002811115612a6457612a64614413565b14612a825760405163067fe19560e41b815260040160405180910390fd5b600060028781548110612a9757612a976146f5565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b9050612aed7f00000000000000000000000000000000000000000000000000000000000000006001614721565b612aff826001600160801b0316613517565b60ff1614612b2057604051630bea7bb360e31b815260040160405180910390fd5b6000808915612bfc57612b737f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614752565b6001901b612b89846001600160801b0316613ab9565b6001600160801b0316612b9c91906148d1565b15612bd057612bc7612bb860016001600160801b0387166148e5565b865463ffffffff166000613ad7565b60030154612bf2565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050612c1d565b60038501549150612c1a612bb86001600160801b0386166001614905565b90505b600882901b60088a8a604051612c349291906146e5565b6040518091039020901b14612c5c5760405163696550ff60e01b815260040160405180910390fd5b6000612c678c613ba0565b90506000612c76836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290612cca908f908f908f908f908a90600401614950565b6020604051808303816000875af1158015612ce9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d0d9190614786565b600485015491149150600090600290612d2e906001600160801b0316613517565b612d40896001600160801b0316613517565b612d4a919061498a565b612d5491906149ad565b60ff161590508115158103612d7c5760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615612dac57604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b60008054600160801b900460ff166002811115612df557612df5614413565b14612e135760405163067fe19560e41b815260040160405180910390fd5b600080600080612e2286613bcf565b93509350935093506000612e3885858585613e3e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ebe9190614769565b905060018903612f68576001600160a01b0381166352f0f3ad8a84612ee4610baf61167c565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015612f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f629190614786565b506111ba565b60028903612f87576001600160a01b0381166352f0f3ad8a8489612ee4565b60038903612fa6576001600160a01b0381166352f0f3ad8a8487612ee4565b600489036130b3576000612fe36001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613edd565b600954612ff09190614721565b612ffb906001614721565b9050613005612685565b811061301857613013612685565b61301a565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015613088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ac9190614786565b50506111ba565b60058903613126576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612f1f565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006000606061316f61269b565b91506131796113d3565b9050909192565b600081831161318f5781613191565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016131d9949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361322c57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061325a85613f0a565b91945092509050600181600181111561327557613275614413565b14613293576040516325ce355f60e11b815260040160405180910390fd5b845161329f8385614721565b146132bd57604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816132d45790505093506000835b86518110156133c2576000806133476040518060400160405280858c6000015161332b9190614752565b8152602001858c602001516133409190614721565b9052613f0a565b5091509150604051806040016040528083836133639190614721565b8152602001848b602001516133789190614721565b81525088858151811061338d5761338d6146f5565b60209081029190910101526133a3600185614721565b93506133af8183614721565b6133b99084614721565b92505050613301565b50845250919392505050565b606060008060006133de85613f0a565b9194509250905060008160018111156133f9576133f9614413565b14613417576040516307fe6cb960e21b815260040160405180910390fd5b6134218284614721565b85511461344157604051630b8aa6f760e31b815260040160405180910390fd5b6113ca85602001518484614200565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613489908490614721565b90915550505050565b6000806134a73660011981013560f01c900390565b929092013560601c92915050565b606060006134cb3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b60008061350c3660011981013560f01c900390565b929092013592915050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60006135996001600160801b0384166001614905565b905060006135a982866001613ad7565b9050600086901a838061360b57506135e260027f00000000000000000000000000000000000000000000000000000000000000006148d1565b60048301546002906135fc906001600160801b0316613517565b61360691906149ad565b60ff16145b1561364a5760ff811660011480613625575060ff81166002145b6136455760405163f40239db60e01b8152600481018890526024016123a5565b61366f565b60ff81161561366f5760405163f40239db60e01b8152600481018890526024016123a5565b50505050505050565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b17600082136136cd57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a7640000021582026138cb57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156138fb5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d2819821361392357919050565b680755bf798b4a1bf1e582126139415763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613191670de0b6b3a764000083613aa086613678565b613aaa91906149cf565b613ab49190614a54565b61390b565b600080613ac583613517565b600160ff919091161b90920392915050565b60008082613b1757613b126001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000614294565b613b29565b613b29856001600160801b0316614303565b905060028481548110613b3e57613b3e6146f5565b906000526020600020906005020191505b60048201546001600160801b03828116911614613b9857815460028054909163ffffffff16908110613b8357613b836146f5565b90600052602060002090600502019150613b4f565b509392505050565b6000806000806000613bb186613bcf565b9350935093509350613bc584848484613e3e565b9695505050505050565b6000806000806000859050600060028281548110613bef57613bef6146f5565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613c3b906001600160801b0316613517565b60ff1611613c5c576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613c99906001600160801b0316613517565b60ff169250821115613d0e57825463ffffffff16613cd87f00000000000000000000000000000000000000000000000000000000000000006001614721565b8303613ce2578391505b60028181548110613cf557613cf56146f5565b9060005260206000209060050201935080945050613c60565b600481810154908401546001600160801b0391821691166000816001600160801b0316613d53613d47856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613dec576000613d79836001600160801b0316613ab9565b6001600160801b03161115613dc9576000613da9613da160016001600160801b0386166148e5565b896001613ad7565b6003810154600490910154909c506001600160801b03169a50613dcf9050565b6008549a505b600386015460048701549099506001600160801b03169750613e30565b6000613e05613da16001600160801b0385166001614905565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613e995760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206113ca565b8282604051602001613ebe9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613ee984613517565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613f3457604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613f595760006001600094509450945050506141f9565b60b78111613ff1576000613f6e608083614752565b905080876000015111613f94576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613fc05750600160ff1b6001600160f81b03198216105b15613fde5760405163babb01dd60e01b815260040160405180910390fd5b50600195509350600092506141f9915050565b60bf81116140d357600061400660b783614752565b90508087600001511161402c576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b031916600081900361405d5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c6037811161408c5760405163babb01dd60e01b815260040160405180910390fd5b6140968184614721565b8951116140b6576040516366c9448560e01b815260040160405180910390fd5b6140c1836001614721565b97509550600094506141f99350505050565b60f7811161411f5760006140e860c083614752565b90508087600001511161410e576040516366c9448560e01b815260040160405180910390fd5b6001955093508492506141f9915050565b600061412c60f783614752565b905080876000015111614152576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036141835760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116141b25760405163babb01dd60e01b815260040160405180910390fd5b6141bc8184614721565b8951116141dc576040516366c9448560e01b815260040160405180910390fd5b6141e7836001614721565b97509550600194506141f99350505050565b9193909250565b6060816001600160401b0381111561421a5761421a61465c565b6040519080825280601f01601f191660200182016040528015614244576020820181803683370190505b509050811561428d5760006142598486614721565b90506020820160005b8481101561427a578281015182820152602001614262565b84811115614289576000858301525b5050505b9392505050565b6000816142a9846001600160801b0316613517565b60ff16116142bf5763b34b5c226000526004601cfd5b6142c883614303565b9050816142dd826001600160801b0316613517565b60ff1611613194576131916142f3836001614721565b6001600160801b03831690614327565b6000811960018301168161431682613517565b60ff169390931c8015179392505050565b60008061433384613517565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261436157600080fd5b5081356001600160401b0381111561437857600080fd5b60208301915083602082850101111561439057600080fd5b9250929050565b600080600083850360a08112156143ad57600080fd5b60808112156143bb57600080fd5b5083925060808401356001600160401b038111156143d857600080fd5b6143e48682870161434f565b9497909650939450505050565b6000806040838503121561440457600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061444757634e487b7160e01b600052602160045260246000fd5b50565b6020810161445783614429565b91905290565b6001600160a01b038116811461444757600080fd5b60006020828403121561448457600080fd5b813561428d8161445d565b6000806000606084860312156144a457600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156144e1576020818501810151868301820152016144c5565b818111156144f3576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061319160208301846144bb565b60006020828403121561452d57600080fd5b5035919050565b801515811461444757600080fd5b6000806000806080858703121561455857600080fd5b843593506020850135925060408501359150606085013561457881614534565b939692955090935050565b60006020828403121561459557600080fd5b81356001600160801b038116811461428d57600080fd5b600080600080600080608087890312156145c557600080fd5b8635955060208701356145d781614534565b945060408701356001600160401b03808211156145f357600080fd5b6145ff8a838b0161434f565b9096509450606089013591508082111561461857600080fd5b5061462589828a0161434f565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006113ca60608301846144bb565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561468457600080fd5b604051608081018181106001600160401b03821117156146b457634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156147345761473461470b565b500190565b60006001820161474b5761474b61470b565b5060010190565b6000828210156147645761476461470b565b500390565b60006020828403121561477b57600080fd5b815161428d8161445d565b60006020828403121561479857600080fd5b5051919050565b60006001600160401b038083168185168083038211156147c1576147c161470b565b01949350505050565b60006001600160401b03808316818516818304811182151516156147f0576147f061470b565b02949350505050565b60006001600160401b03838116908316818110156148195761481961470b565b039392505050565b60006020828403121561483357600080fd5b815161428d81614534565b6000806040838503121561485157600080fd5b505080516020909101519092909150565b60006020828403121561487457600080fd5b815163ffffffff8116811461428d57600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826148ad576148ad614888565b500490565b60008160001904831182151516156148cc576148cc61470b565b500290565b6000826148e0576148e0614888565b500690565b60006001600160801b03838116908316818110156148195761481961470b565b60006001600160801b038083168185168083038211156147c1576147c161470b565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614964606083018789614927565b8281036020840152614977818688614927565b9150508260408301529695505050505050565b600060ff821660ff8416808210156149a4576149a461470b565b90039392505050565b600060ff8316806149c0576149c0614888565b8060ff84160691505092915050565b60006001600160ff1b03818413828413808216868404861116156149f5576149f561470b565b600160ff1b6000871282811687830589121615614a1457614a1461470b565b60008712925087820587128484161615614a3057614a3061470b565b87850587128184161615614a4657614a4661470b565b505050929093029392505050565b600082614a6357614a63614888565b600160ff1b821460001984141615614a7d57614a7d61470b565b50059056fea2646970667358221220c89372dbe6a32e5500f05e15b615b291d4f6bc3a4db08fbad24983923dabf49a64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000000339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f910000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a7011000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34", "nonce": "0x48", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xdd0d7a41d07276cd7e7939696d15b69bb958e264cae9e659e5572c06e5672332", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "function": null, "arguments": [ "(1, 0x0339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f91, 73, 30, 10800, 302400, 0x07BABE08EE4D07dBA236530183B24055535A7011, 0x32cE910d9C6c8F78dc6779c1499aB05F281A054e, 0x2fF5cC82dBf333Ea30D8ee462178ab1707315355, 84532)", "0x037637067c1DbE6d2430616d8f54Cb774Daa5999", "0x8b8c52B04A38f10515C52670fcb23f3C4C44474F" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x55bccf", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620055813803806200558183398101604081905262000035916200053b565b82620000446001607e6200064a565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000670565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ab565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000c4b1760201c565b6200020e906001600160401b03166002620006c5565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068b565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ab565b6200030284608001516001600160401b03166200048e60201b62000c4b1760201c565b6001600160401b031662000317919062000670565b905060006200033283836200049160201b6200236f1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000c4b1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000c4b1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e7565b90565b6000818311620004a25781620004a4565b825b9392505050565b60405161014081016001600160401b0381118282101715620004dd57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f857600080fd5b919050565b80516001600160401b0381168114620004f857600080fd5b6001600160a01b03811681146200052b57600080fd5b50565b8051620004f88162000515565b60008060008385036101808112156200055357600080fd5b610140808212156200056457600080fd5b6200056e620004ab565b91506200057b86620004e3565b8252602086015160208301526040860151604083015260608601516060830152620005a960808701620004fd565b6080830152620005bc60a08701620004fd565b60a0830152620005cf60c087016200052e565b60c0830152620005e260e087016200052e565b60e0830152610100620005f78188016200052e565b8184015250610120808701518184015250819450620006188187016200052e565b935050506200062b61016085016200052e565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000667576200066762000634565b90039392505050565b6000821982111562000686576200068662000634565b500190565b6000602082840312156200069e57600080fd5b8151620004a48162000515565b600060208284031215620006be57600080fd5b5051919050565b6000816000190483118215151615620006e257620006e262000634565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051614cbf620008c2600039600081816105d9015281816117610152611f780152600081816108ad0152818161172f01528181611b330152611f4601526000818161071001528181612ae201528181612b4c0152612b7e015260008181610a5701526122c70152600081816106930152818161182d0152818161191f015281816119c701528181611a3d01528181612fa601526132fa0152600081816105660152818161157c0152818161164601528181612ec801526132320152600081816108e80152818161233301526132d10152600081816105120152818161202d015281816129fb0152613a7a015260008181610aaa01528181610e2f01528181611cc801528181611d080152818161298401528181612bad0152612c08015260008181610add015281816121ae015281816128410152818161290d01528181612b1d0152818161392301528181613c0501528181613c6301528181613cae015281816142cb01526143ba015260008181610b8401528181611d4c01528181611db9015281816128c9015281816129cf015281816138bc01526139440152600081816107c501526139c70152614cbf6000f3fe6080604052600436106103355760003560e01c806370872aa5116101ab578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b31578063fa24f74314610b51578063fa315aa914610b75578063fe2bbeb214610ba857600080fd5b8063dabd396d14610a9b578063ec5e630814610ace578063eff0f59214610b0157600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a08578063d5d44d8014610a28578063d6ae3cd514610a48578063d8cc1a3c14610a7b57600080fd5b8063c0d8bb7414610947578063c395e1ca14610974578063c6f0308c1461099457600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb901461089e578063bbdc02db146108d1578063bcef3b5514610912578063bd8da9561461092757600080fd5b80638d450a95146107b657806399735e32146107e9578063a445ece6146107fe57600080fd5b806370872aa514610747578063786b844b1461075c5780637b0f0adc146107715780638129fc1c146107845780638980e0cc1461078c5780638b85902b146107a157600080fd5b80633e3ac912116102855780635a5fa2d91161022357806360e27464116101fd57806360e27464146106cc5780636361506d146106ec5780636b6716c0146107015780636f0344091461073457600080fd5b80635a5fa2d9146106645780635c0cba3314610684578063609d3334146106b757600080fd5b8063529d6a8c1161025f578063529d6a8c1461059d578063534db0e2146105ca57806354fd4d50146105fd57806357da950e1461063457600080fd5b80633e3ac912146105365780633fc8cef314610557578063472777c61461058a57600080fd5b806325fc2ace116102f257806330dbe570116102cc57806330dbe5701461049c578063378dd48c146104d457806337b1b229146104ee5780633a7684631461050357600080fd5b806325fc2ace146104485780632810e1d6146104675780632ad69aeb1461047c57600080fd5b8063019351301461033a57806303c2924d1461035c57806319effeb41461037c578063200d2ed2146103c0578063222abf45146103ee578063250e69bd1461042e575b600080fd5b34801561034657600080fd5b5061035a61035536600461459e565b610bd8565b005b34801561036857600080fd5b5061035a6103773660046145f8565b610db6565b34801561038857600080fd5b506000546103a390600160401b90046001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b3480156103cc57600080fd5b506000546103e190600160801b900460ff1681565b6040516103b79190614651565b3480156103fa57600080fd5b5061041e610409366004614679565b600c6020526000908152604090205460ff1681565b60405190151581526020016103b7565b34801561043a57600080fd5b50600a5461041e9060ff1681565b34801561045457600080fd5b506008545b6040519081526020016103b7565b34801561047357600080fd5b506103e1611261565b34801561048857600080fd5b506104596104973660046145f8565b6113e1565b3480156104a857600080fd5b506001546104bc906001600160a01b031681565b6040516001600160a01b0390911681526020016103b7565b3480156104e057600080fd5b50600d546103e19060ff1681565b3480156104fa57600080fd5b506104bc611412565b34801561050f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b34801561054257600080fd5b5060005461041e90600160901b900460ff1681565b34801561056357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b61035a610598366004614696565b611423565b3480156105a957600080fd5b506104596105b8366004614679565b60036020526000908152604090205481565b3480156105d657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b34801561060957600080fd5b506040805180820190915260058152640312e372e360dc1b60208201525b6040516103b7919061470f565b34801561064057600080fd5b5060085460095461064f919082565b604080519283526020830191909152016103b7565b34801561067057600080fd5b5061045961067f366004614722565b611435565b34801561069057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b3480156106c357600080fd5b5061062761146f565b3480156106d857600080fd5b5061035a6106e7366004614679565b61147d565b3480156106f857600080fd5b50610459611718565b34801561070d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103a3565b61035a610742366004614749565b611724565b34801561075357600080fd5b50600954610459565b34801561076857600080fd5b5061035a6117b2565b61035a61077f366004614696565b611b1b565b61035a611b28565b34801561079857600080fd5b50600254610459565b3480156107ad57600080fd5b50610459611b7b565b3480156107c257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b3480156107f557600080fd5b50610459611b87565b34801561080a57600080fd5b50610860610819366004614722565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103b7565b3480156108aa57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104bc565b3480156108dd57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103b7565b34801561091e57600080fd5b50610459611b91565b34801561093357600080fd5b506103a3610942366004614722565b611b9d565b34801561095357600080fd5b50610459610962366004614679565b600b6020526000908152604090205481565b34801561098057600080fd5b5061045961098f36600461478a565b611d30565b3480156109a057600080fd5b506109b46109af366004614722565b611e70565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103b7565b348015610a1457600080fd5b506000546103a3906001600160401b031681565b348015610a3457600080fd5b50610459610a43366004614679565b611ee3565b348015610a5457600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610a8757600080fd5b5061035a610a963660046147b3565b611f3b565b348015610aa757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103a3565b348015610ada57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610b0d57600080fd5b5061041e610b1c366004614722565b60046020526000908152604090205460ff1681565b348015610b3d57600080fd5b5061035a610b4c366004614696565b611fc5565b348015610b5d57600080fd5b50610b66612331565b6040516103b79392919061483e565b348015610b8157600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610459565b348015610bb457600080fd5b5061041e610bc3366004614722565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610bf757610bf761461a565b14610c155760405163067fe19560e41b815260040160405180910390fd5b600054600160901b900460ff1615610c405760405163075173a960e11b815260040160405180910390fd5b610c4e610c4b611b91565b90565b610c65610c6036869003860186614879565b612389565b14610c8357604051639cc00b5b60e01b815260040160405180910390fd5b82606001358282604051610c989291906148ec565b604051809103902014610cbe5760405163d81d583b60e01b815260040160405180910390fd5b6000610d07610d0284848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506123e592505050565b612439565b90506000610d2e82600881518110610d2157610d216148fc565b60200260200101516125bd565b9050602081511115610d535760405163d81d583b60e01b815260040160405180910390fd5b602081810151825190910360031b1c610d6a611b7b565b8103610d8957604051630b8ed88360e41b815260040160405180910390fd5b5050600180546001600160a01b0319163317905550506000805460ff60901b1916600160901b1790555050565b60008054600160801b900460ff166002811115610dd557610dd561461a565b14610df35760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610e0857610e086148fc565b906000526020600020906005020190506000610e2384611b9d565b90506001600160401b037f000000000000000000000000000000000000000000000000000000000000000081169082161015610e725760405163f2440b5360e01b815260040160405180910390fd5b60008481526006602052604090205460ff1615610ea25760405163f1a9458160e01b815260040160405180910390fd5b6000848152600560205260409020805480158015610ebf57508515155b15610f21578354600160201b90046001600160a01b031660008115610ee45781610ef3565b60018601546001600160a01b03165b9050610eff818761263f565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152610fa5576001600160801b036040820152600181526000869003610fa5578195505b600086826020015163ffffffff16610fbd9190614928565b90506000838211610fce5781610fd0565b835b602084015190915063ffffffff165b818110156110d6576000868281548110610ffb57610ffb6148fc565b6000918252602080832090910154808352600690915260409091205490915060ff1661103a57604051634d03b32360e11b815260040160405180910390fd5b60006002828154811061104f5761104f6148fc565b600091825260209091206005909102018054909150600160201b90046001600160a01b03161580156110955750600481015460408701516001600160801b039182169116115b156110c15760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806110ce90614940565b915050610fdf565b5063ffffffff818116602085810191825260008c815260079091526040908190208651815493519288015164ffffffffff1990941690151564ffffffff00191617610100929094169182029390931774ffffffffffffffffffffffffffffffff00000000001916650100000000006001600160801b03909316929092029190911782556060850151600190920180546001600160a01b0319166001600160a01b039093169290921790915584900361125657606083015160008a8152600660205260409020805460ff19166001179055891580156111bd5750600054600160901b900460ff165b15611203576001546001600160a01b03166111d8818a61263f565b88546001600160a01b03909116600160201b02640100000000600160c01b0319909116178855611254565b6112306001600160a01b0382161561121b578161122a565b60018901546001600160a01b03165b8961263f565b8754640100000000600160c01b031916600160201b6001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156112825761128261461a565b146112a05760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166112eb57604051634d03b32360e11b815260040160405180910390fd5b60006001600160a01b0316600260008154811061130a5761130a6148fc565b6000918252602090912060059091020154600160201b90046001600160a01b03161461133757600161133a565b60025b600080546001600160401b034216600160401b026fffffffffffffffff000000000000000019821681178355929350839260ff60801b191670ffffffffffffffffff00000000000000001990911617600160801b8360028111156113a0576113a061461a565b0217905560028111156113b5576113b561461a565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b600560205281600052604060002081815481106113fd57600080fd5b90600052602060002001600091509150505481565b600061141e6000612681565b905090565b6114308383836001611724565b505050565b6000818152600760209081526040808320600590925282208054825461146690610100900463ffffffff1682614959565b95945050505050565b606061141e605460206126a4565b6114856117b2565b60006002600d5460ff1660028111156114a0576114a061461a565b036114c457506001600160a01b0381166000908152600b602052604090205461151a565b6001600d5460ff1660028111156114dd576114dd61461a565b0361150157506001600160a01b03811660009081526003602052604090205461151a565b6040516301e28f7d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff166115de576001600160a01b038281166000818152600c602052604090819020805460ff1916600117905551637eee288d60e01b81526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050505050565b806000036115ff576040516317bfe5f760e01b815260040160405180910390fd5b6001600160a01b038281166000818152600b602090815260408083208390556003909152808220919091555163f3fef3a360e01b81526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561168c57600080fd5b505af11580156116a0573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146116f1576040519150601f19603f3d011682016040523d82523d6000602084013e6116f6565b606091505b5050905080611430576040516383e6cc6b60e01b815260040160405180910390fd5b600061141e60346126e6565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806117835750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6117a0576040516369c3779f60e11b815260040160405180910390fd5b6117ac84848484612706565b50505050565b6002600d5460ff1660028111156117cb576117cb61461a565b14806117ed57506001600d5460ff1660028111156117eb576117eb61461a565b145b156117f457565b6000600d5460ff16600281111561180d5761180d61461a565b1461182b576040516301e28f7d60e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ad9190614970565b156118cb5760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361190757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190614970565b9050806119b257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611a1357600080fd5b505af1925050508015611a24575060015b506040516324b5ce0b60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611a8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab09190614970565b90508015611aca57600d805460ff19166001179055611ad8565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611b0f9160ff90911690614651565b60405180910390a15050565b6114308383836000611724565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b71576040516369c3779f60e11b815260040160405180910390fd5b611b79612f77565b565b600061141e60546126e6565b600061141e611b7b565b600061141e60146126e6565b600080600054600160801b900460ff166002811115611bbe57611bbe61461a565b14611bdc5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611bf157611bf16148fc565b600091825260208220600590910201805490925063ffffffff90811614611c5757815460028054909163ffffffff16908110611c2f57611c2f6148fc565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090611c8090600160801b90046001600160401b03165b6001600160401b031690565b611c93906001600160401b031642614959565b611ca9611c74846001600160801b031660401c90565b6001600160401b0316611cbc9190614928565b90506001600160401b037f0000000000000000000000000000000000000000000000000000000000000000166001600160401b0316816001600160401b031611611d065780611466565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611d45836001600160801b031661338d565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611d8b576040516356f57b2b60e01b815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611da683836149a3565b9050670de0b6b3a76400006000611ddd827f00000000000000000000000000000000000000000000000000000000000000006149b7565b90506000611dfb611df6670de0b6b3a7640000866149b7565b6133f9565b90506000611e09848461360f565b90506000611e17838361365e565b90506000611e248261368c565b90506000611e4382611e3e670de0b6b3a76400008f6149b7565b613809565b90506000611e518b8361365e565b9050611e5d818d6149b7565b9f9e505050505050505050505050505050565b60028181548110611e8057600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff84169550600160201b9093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff166002811115611efe57611efe61461a565b03611f1f57506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611f9a5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611fb7576040516369c3779f60e11b815260040160405180910390fd5b6115d686868686868661383a565b60008054600160801b900460ff166002811115611fe457611fe461461a565b146120025760405163067fe19560e41b815260040160405180910390fd5b60008060008061201186613bcb565b9350935093509350600061202785858585613e3a565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612089573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ad91906149d6565b905060018903612157576001600160a01b0381166352f0f3ad8a846120d3610c4b611718565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561212d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215191906149f3565b50611256565b60028903612176576001600160a01b0381166352f0f3ad8a84896120d3565b60038903612195576001600160a01b0381166352f0f3ad8a84876120d3565b600489036122a25760006121d26001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000613ed9565b6009546121df9190614928565b6121ea906001614928565b90506121f4611b7b565b811061220757612202611b7b565b612209565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b6001600160e01b03191681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229b91906149f3565b5050611256565b60058903612315576040516352f0f3ad60e01b8152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a40161210e565b604051600162ec819b60e01b0319815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006000606061235e611b91565b915061236861146f565b9050909192565b600081831161237e5781612380565b825b90505b92915050565b600081600001518260200151836040015184606001516040516020016123c8949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820152815160000361241b57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061244985613f06565b9194509250905060018160018111156124645761246461461a565b14612482576040516325ce355f60e11b815260040160405180910390fd5b845161248e8385614928565b146124ac57604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816124c35790505093506000835b86518110156125b1576000806125366040518060400160405280858c6000015161251a9190614959565b8152602001858c6020015161252f9190614928565b9052613f06565b5091509150604051806040016040528083836125529190614928565b8152602001848b602001516125679190614928565b81525088858151811061257c5761257c6148fc565b6020908102919091010152612592600185614928565b935061259e8183614928565b6125a89084614928565b925050506124f0565b50845250919392505050565b606060008060006125cd85613f06565b9194509250905060008160018111156125e8576125e861461a565b14612606576040516307fe6cb960e21b815260040160405180910390fd5b6126108284614928565b85511461263057604051630b8aa6f760e31b815260040160405180910390fd5b611466856020015184846141fc565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612678908490614928565b90915550505050565b6000806126963660011981013560f01c900390565b929092013560601c92915050565b606060006126ba3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806126fb3660011981013560f01c900390565b929092013592915050565b60008054600160801b900460ff1660028111156127255761272561461a565b146127435760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612758576127586148fc565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b03600160201b90910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c0820152915085146128025760405163180a019960e11b815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b9050600061282f826001600160801b031661338d565b60ff16905086158061286a57506128677f00000000000000000000000000000000000000000000000000000000000000006002614928565b81145b8015612874575084155b15612892576040516329098def60e21b815260040160405180910390fd5b600054600160901b900460ff1680156128a9575086155b156128c75760405163075173a960e11b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612908576040516356f57b2b60e01b815260040160405180910390fd5b6129337f00000000000000000000000000000000000000000000000000000000000000006001614928565b81036129455761294586888588614290565b3461294f83611d30565b1461296d57604051638620aa1960e01b815260040160405180910390fd5b600061297888611b9d565b90506001600160401b037f00000000000000000000000000000000000000000000000000000000000000008116908216036129c657604051630ce0744560e21b815260040160405180910390fd5b60006129f360017f0000000000000000000000000000000000000000000000000000000000000000614959565b8303612b16577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a7b91906149d6565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612adc91906149f3565b612b0f907f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a0c565b9050612ba7565b612b4160017f0000000000000000000000000000000000000000000000000000000000000000614959565b8303612b7b57612b0f7f00000000000000000000000000000000000000000000000000000000000000006001600160401b03166002614a37565b507f00000000000000000000000000000000000000000000000000000000000000006001600160401b03165b612bda817f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a66565b6001600160401b0316612bf3836001600160401b031690565b6001600160401b03161115612c3857612c35817f00000000000000000000000000000000000000000000000000000000000000006001600160401b0316614a66565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff1615612c94576040516380497e3b60e01b815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c81526020019081526020016000206001600280549050612e8b9190614959565b81546001810183556000928352602080842090910191909155338252600b9052604081208054349290612ebf908490614928565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f2157600080fd5b505af1158015612f35573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b600054600160881b900460ff1615612fa15760405162dc149f60e41b815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613001573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130259190614a8e565b90925090508161304857604051633535e1d960e11b815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461307b57639824bdab6000526004601cfd5b80613084611b7b565b116130b657613091611b91565b60405163f40239db60e01b81526004016130ad91815260200190565b60405180910390fd5b6040805160e08101825263ffffffff81526000602082015260029181016130db611412565b6001600160a01b03168152602001346001600160801b03168152602001613100611b91565b815260016020820152604001426001600160801b0390811690915282546001808201855560009485526020808620855160059094020180549186015163ffffffff9094166001600160c01b031990921691909117600160201b6001600160a01b0394851602178155604085015191810180546001600160a01b031916929093169190911790915560608301516002820180546fffffffffffffffffffffffffffffffff19169184169190911790556080830151600382015560a083015160c090930151928216600160801b9390921692909202176004909101558054600160881b60ff60881b199091161781553490600b906131fa611412565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546132299190614928565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b50506000805467ffffffffffffffff1916426001600160401b0316179055505060408051630f27ce5f60e21b815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa15801561334d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133719190614ab2565b600a805460ff191663ffffffff92909216929092141790555050565b7e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b6001600160401b03831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6001600160801b03811160071b81811c6001600160401b031060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361344e57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261364c57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b60008160001904831182021561367c5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b600068023f2fa8f6da5b9d281982136136a457919050565b680755bf798b4a1bf1e582126136c25763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612380670de0b6b3a764000083613821866133f9565b61382b9190614ad8565b6138359190614b5d565b61368c565b60008054600160801b900460ff1660028111156138595761385961461a565b146138775760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061388c5761388c6148fc565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506138e27f00000000000000000000000000000000000000000000000000000000000000006001614928565b6138f4826001600160801b031661338d565b60ff161461391557604051630bea7bb360e31b815260040160405180910390fd5b60008089156139f1576139687f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614959565b6001901b61397e846001600160801b0316614385565b6001600160801b03166139919190614b8b565b156139c5576139bc6139ad60016001600160801b038716614b9f565b865463ffffffff1660006143a3565b600301546139e7565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050613a12565b60038501549150613a0f6139ad6001600160801b0386166001614bbf565b90505b600882901b60088a8a604051613a299291906148ec565b6040518091039020901b14613a515760405163696550ff60e01b815260040160405180910390fd5b6000613a5c8c61446c565b90506000613a6b836003015490565b6040516370a6769960e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290613abf908f908f908f908f908a90600401614c0a565b6020604051808303816000875af1158015613ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b0291906149f3565b600485015491149150600090600290613b23906001600160801b031661338d565b613b35896001600160801b031661338d565b613b3f9190614c44565b613b499190614c67565b60ff161590508115158103613b715760405163fb4e40dd60e01b815260040160405180910390fd5b8754600160201b90046001600160a01b031615613ba157604051639071e6af60e01b815260040160405180910390fd5b50508554640100000000600160c01b03191633600160201b02179095555050505050505050505050565b6000806000806000859050600060028281548110613beb57613beb6148fc565b6000918252602090912060059091020160048101549091507f000000000000000000000000000000000000000000000000000000000000000090613c37906001600160801b031661338d565b60ff1611613c58576040516359a5ae1160e11b815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090613c95906001600160801b031661338d565b60ff169250821115613d0a57825463ffffffff16613cd47f00000000000000000000000000000000000000000000000000000000000000006001614928565b8303613cde578391505b60028181548110613cf157613cf16148fc565b9060005260206000209060050201935080945050613c5c565b600481810154908401546001600160801b0391821691166000816001600160801b0316613d4f613d43856001600160801b031660011c90565b6001600160801b031690565b6001600160801b03161490508015613de8576000613d75836001600160801b0316614385565b6001600160801b03161115613dc5576000613da5613d9d60016001600160801b038616614b9f565b8960016143a3565b6003810154600490910154909c506001600160801b03169a50613dcb9050565b6008549a505b600386015460048701549099506001600160801b03169750613e2c565b6000613e01613d9d6001600160801b0385166001614bbf565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615613e955760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611466565b8282604051602001613eba9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080613ee58461338d565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003613f3057604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f8111613f555760006001600094509450945050506141f5565b60b78111613fed576000613f6a608083614959565b905080876000015111613f90576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b0319169082148015613fbc5750600160ff1b6001600160f81b03198216105b15613fda5760405163babb01dd60e01b815260040160405180910390fd5b50600195509350600092506141f5915050565b60bf81116140cf57600061400260b783614959565b905080876000015111614028576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036140595760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116140885760405163babb01dd60e01b815260040160405180910390fd5b6140928184614928565b8951116140b2576040516366c9448560e01b815260040160405180910390fd5b6140bd836001614928565b97509550600094506141f59350505050565b60f7811161411b5760006140e460c083614959565b90508087600001511161410a576040516366c9448560e01b815260040160405180910390fd5b6001955093508492506141f5915050565b600061412860f783614959565b90508087600001511161414e576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b031916600081900361417f5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116141ae5760405163babb01dd60e01b815260040160405180910390fd5b6141b88184614928565b8951116141d8576040516366c9448560e01b815260040160405180910390fd5b6141e3836001614928565b97509550600194506141f59350505050565b9193909250565b6060816001600160401b0381111561421657614216614863565b6040519080825280601f01601f191660200182016040528015614240576020820181803683370190505b50905081156142895760006142558486614928565b90506020820160005b8481101561427657828101518282015260200161425e565b84811115614285576000858301525b5050505b9392505050565b60006142a66001600160801b0384166001614bbf565b905060006142b6828660016143a3565b9050600086901a838061431857506142ef60027f0000000000000000000000000000000000000000000000000000000000000000614b8b565b6004830154600290614309906001600160801b031661338d565b6143139190614c67565b60ff16145b156143575760ff811660011480614332575060ff81166002145b6143525760405163f40239db60e01b8152600481018890526024016130ad565b61437c565b60ff81161561437c5760405163f40239db60e01b8152600481018890526024016130ad565b50505050505050565b6000806143918361338d565b600160ff919091161b90920392915050565b600080826143e3576143de6001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061449b565b6143f5565b6143f5856001600160801b031661450a565b90506002848154811061440a5761440a6148fc565b906000526020600020906005020191505b60048201546001600160801b0382811691161461446457815460028054909163ffffffff1690811061444f5761444f6148fc565b9060005260206000209060050201915061441b565b509392505050565b600080600080600061447d86613bcb565b935093509350935061449184848484613e3a565b9695505050505050565b6000816144b0846001600160801b031661338d565b60ff16116144c65763b34b5c226000526004601cfd5b6144cf8361450a565b9050816144e4826001600160801b031661338d565b60ff1611612383576123806144fa836001614928565b6001600160801b0383169061452e565b6000811960018301168161451d8261338d565b60ff169390931c8015179392505050565b60008061453a8461338d565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261456857600080fd5b5081356001600160401b0381111561457f57600080fd5b60208301915083602082850101111561459757600080fd5b9250929050565b600080600083850360a08112156145b457600080fd5b60808112156145c257600080fd5b5083925060808401356001600160401b038111156145df57600080fd5b6145eb86828701614556565b9497909650939450505050565b6000806040838503121561460b57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061464e57634e487b7160e01b600052602160045260246000fd5b50565b6020810161465e83614630565b91905290565b6001600160a01b038116811461464e57600080fd5b60006020828403121561468b57600080fd5b813561428981614664565b6000806000606084860312156146ab57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b818110156146e8576020818501810151868301820152016146cc565b818111156146fa576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061238060208301846146c2565b60006020828403121561473457600080fd5b5035919050565b801515811461464e57600080fd5b6000806000806080858703121561475f57600080fd5b843593506020850135925060408501359150606085013561477f8161473b565b939692955090935050565b60006020828403121561479c57600080fd5b81356001600160801b038116811461428957600080fd5b600080600080600080608087890312156147cc57600080fd5b8635955060208701356147de8161473b565b945060408701356001600160401b03808211156147fa57600080fd5b6148068a838b01614556565b9096509450606089013591508082111561481f57600080fd5b5061482c89828a01614556565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061146660608301846146c2565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561488b57600080fd5b604051608081018181106001600160401b03821117156148bb57634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561493b5761493b614912565b500190565b60006001820161495257614952614912565b5060010190565b60008282101561496b5761496b614912565b500390565b60006020828403121561498257600080fd5b81516142898161473b565b634e487b7160e01b600052601260045260246000fd5b6000826149b2576149b261498d565b500490565b60008160001904831182151516156149d1576149d1614912565b500290565b6000602082840312156149e857600080fd5b815161428981614664565b600060208284031215614a0557600080fd5b5051919050565b60006001600160401b03808316818516808303821115614a2e57614a2e614912565b01949350505050565b60006001600160401b0380831681851681830481118215151615614a5d57614a5d614912565b02949350505050565b60006001600160401b0383811690831681811015614a8657614a86614912565b039392505050565b60008060408385031215614aa157600080fd5b505080516020909101519092909150565b600060208284031215614ac457600080fd5b815163ffffffff8116811461428957600080fd5b60006001600160ff1b0381841382841380821686840486111615614afe57614afe614912565b600160ff1b6000871282811687830589121615614b1d57614b1d614912565b60008712925087820587128484161615614b3957614b39614912565b87850587128184161615614b4f57614b4f614912565b505050929093029392505050565b600082614b6c57614b6c61498d565b600160ff1b821460001984141615614b8657614b86614912565b500590565b600082614b9a57614b9a61498d565b500690565b60006001600160801b0383811690831681811015614a8657614a86614912565b60006001600160801b03808316818516808303821115614a2e57614a2e614912565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000614c1e606083018789614be1565b8281036020840152614c31818688614be1565b9150508260408301529695505050505050565b600060ff821660ff841680821015614c5e57614c5e614912565b90039392505050565b600060ff831680614c7a57614c7a61498d565b8060ff8416069150509291505056fea2646970667358221220aa8314d509b8cacb517035d54e7d78a21e52e14ef16e338f8f65f356641274fc64736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010339db503776757491b9f3038bf6f1d37b7988a2f75e823fe2656c1352ef2f910000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d4000000000000000000000000007babe08ee4d07dba236530183b24055535a701100000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f", "nonce": "0x49", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x12a0203", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa535191db0a343c3de5d51377bb1c4d4e76550da5d29d80f81eaf9a52438a664", "transactionIndex": "0x18f", "blockHash": "0x20215a8f9bca335399bbe1932dcdc4df47f35e31ccb0186cfc01ea39048debc4", "blockNumber": "0x8f1213", "gasUsed": "0x403b2c", "effectiveGasPrice": "0x174748", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xf83157709129bd03fb02e96950be288e8c2c1c67" }, { "status": "0x1", "cumulativeGasUsed": "0x16bf5b6", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xdd0d7a41d07276cd7e7939696d15b69bb958e264cae9e659e5572c06e5672332", "transactionIndex": "0x190", "blockHash": "0x20215a8f9bca335399bbe1932dcdc4df47f35e31ccb0186cfc01ea39048debc4", "blockNumber": "0x8f1213", "gasUsed": "0x41f3b3", "effectiveGasPrice": "0x174748", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x5920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760020249278, "chain": 11155111, "commit": "ac66a18" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xac92fe", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "blockTimestamp": "0x68e956cc", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "logIndex": "0x7a", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "blockTimestamp": "0x68e956cc", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "logIndex": "0x7b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000040000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "gasUsed": "0x17209", "effectiveGasPrice": "0xf4257", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760122572937, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760121901524.json ================================================ { "transactions": [ { "hash": "0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xfe7826142f341fb56484486f2724c6bf16aed3d851d371ce1e9efbbfe2760aa702b64e0c32c78576abc069a844b49fc764b3c203c80d1aa4348d4a72e7c36fc71b4ddb3d9b148954e161bdd5e2bae9a2962c72381818a6b8d85f68d6cf5664ec622bcbdb4ce30bb622e242719a1516660e7bf4353af6a63cf684e5467b37f52aaa1c1044974e227b80c435ea410beb0af132f0fc7f778faa7d8fb5b59521eda996266d8a9324aa3b081f270e79e064136a197b46361836ba290b16abad5a443032b71b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2323d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3fe7826142f341fb56484486f2724c6bf16aed3d851d371ce1e9efbbfe2760aa702b64e0c32c78576abc069a844b49fc764b3c203c80d1aa4348d4a72e7c36fc71b4ddb3d9b148954e161bdd5e2bae9a2962c72381818a6b8d85f68d6cf5664ec622bcbdb4ce30bb622e242719a1516660e7bf4353af6a63cf684e5467b37f52aaa1c1044974e227b80c435ea410beb0af132f0fc7f778faa7d8fb5b59521eda996266d8a9324aa3b081f270e79e064136a197b46361836ba290b16abad5a443032b71b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa6642a", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207", "blockNumber": "0x8f30cb", "blockTimestamp": "0x68e9542c", "transactionHash": "0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522", "transactionIndex": "0x55", "logIndex": "0x72", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x6ea140c36ecd4026c7f9a234a61d37b768b4d95efe70af68bebbc2ce2037687b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207", "blockNumber": "0x8f30cb", "blockTimestamp": "0x68e9542c", "transactionHash": "0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522", "transactionIndex": "0x55", "logIndex": "0x73", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000200000000040000000000010000000000000000000000000000010000000000100000400000000000000000010000000000000000000000002000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000040000000000000000000000000000000000000000000000020000404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x2a7fc8ac2b918415980f60f4b655224f21fb79f5dec122c1d667d7349775e522", "transactionIndex": "0x55", "blockHash": "0x82f791a4fbef657f49006463300dce366c8ad0637b456a7d292375f35e526207", "blockNumber": "0x8f30cb", "gasUsed": "0x1970e", "effectiveGasPrice": "0xf4253", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760121901524, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122214430.json ================================================ { "transactions": [ { "hash": "0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xfc820978b1e70cfc54e72f7f48909c350cc750fb79f3ccf82623aa31ab828d8604eb6b347153839fc43ce49835da78ba4b919dab692f1dda6447597f585f53671b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041fc820978b1e70cfc54e72f7f48909c350cc750fb79f3ccf82623aa31ab828d8604eb6b347153839fc43ce49835da78ba4b919dab692f1dda6447597f585f53671b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x38ff410", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941", "blockNumber": "0x8f30e3", "blockTimestamp": "0x68e95564", "transactionHash": "0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46", "transactionIndex": "0x11b", "logIndex": "0x178", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xadb326b6c4e2f316a5598d5fa712d4071f872a56578625269ac9b3b462c174040000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941", "blockNumber": "0x8f30e3", "blockTimestamp": "0x68e95564", "transactionHash": "0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46", "transactionIndex": "0x11b", "logIndex": "0x179", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000400000000000000000000000000000000000000000002000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xd2a7b9c9138374f26a7bf6b51c26605772fab3e0b7c57ef05c6ff934a18a9b46", "transactionIndex": "0x11b", "blockHash": "0x630e12dff4891d6a99f98b6db9b0d910bb174c8aec95941604c9bbed5c336941", "blockNumber": "0x8f30e3", "gasUsed": "0x15883", "effectiveGasPrice": "0xf4252", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760122214430, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122500830.json ================================================ { "transactions": [ { "hash": "0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x488699d08e432737ad002fe14ed8ce4ef6937b400d19254d309072b8b8a476db141419f11f27294c8fda3e73941461f2c384cb492084a5716d00ab196d9d38ec1c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e9ff", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041488699d08e432737ad002fe14ed8ce4ef6937b400d19254d309072b8b8a476db141419f11f27294c8fda3e73941461f2c384cb492084a5716d00ab196d9d38ec1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc95d1e", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287", "blockNumber": "0x8f30f7", "blockTimestamp": "0x68e95684", "transactionHash": "0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d", "transactionIndex": "0x81", "logIndex": "0x92", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb11365b5e790207354a0eb7ba99e2dc5c44f2badc5dc149a1054b0451489baf90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287", "blockNumber": "0x8f30f7", "blockTimestamp": "0x68e95684", "transactionHash": "0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d", "transactionIndex": "0x81", "logIndex": "0x93", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x0d92bdec764d4582be5b0d35f57d4712cdec19627f28004b859f835e7bd5d22d", "transactionIndex": "0x81", "blockHash": "0x1cb4d0e4362a1fdcd709cba9d89c330d329d0d1ba6c8d796c7d2b45adfbc0287", "blockNumber": "0x8f30f7", "gasUsed": "0x162c0", "effectiveGasPrice": "0xf4259", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760122500830, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122572937.json ================================================ { "transactions": [ { "hash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d800000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xac92fe", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d8", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "blockTimestamp": "0x68e956cc", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "logIndex": "0x7a", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x67570f60417b81fbe38150dc02c3c92ea6c8f88175c77690c2d31394305b0f9d0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "blockTimestamp": "0x68e956cc", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "logIndex": "0x7b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000040100000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000040000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x72f9ccf1d88ab10c29032a63759f784d40df2f0b398a27ec13d5d65813d6453c", "transactionIndex": "0x5b", "blockHash": "0xcb638ec68f87a923fdf26f5008ab378a9e770960d8b9c6d3e5708264dfa0b188", "blockNumber": "0x8f30fc", "gasUsed": "0x17209", "effectiveGasPrice": "0xf4257", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760122572937, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/records/UpgradeDGF.s.sol/11155111/run-1760122597545.json ================================================ { "transactions": [ { "hash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x2460b", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000284174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xe22f11", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000000000000000000000000000000000000000000284174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c6700000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004414f6b1a300000000000000000000000000000000000000000000000000000000000000010000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000190000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada", "blockNumber": "0x8f30fe", "blockTimestamp": "0x68e956e4", "transactionHash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionIndex": "0x83", "logIndex": "0xda", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada", "blockNumber": "0x8f30fe", "blockTimestamp": "0x68e956e4", "transactionHash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionIndex": "0x83", "logIndex": "0xdb", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada", "blockNumber": "0x8f30fe", "blockTimestamp": "0x68e956e4", "transactionHash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionIndex": "0x83", "logIndex": "0xdc", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4fc8422f969946b78f92dd386faaf5e5710bd810922d125c95ea308f152075d80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada", "blockNumber": "0x8f30fe", "blockTimestamp": "0x68e956e4", "transactionHash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionIndex": "0x83", "logIndex": "0xdd", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000100000000000000000048000000000000400000000000000400000000000040000040000000000000000000000400000020000000000400000000800000000000000000000400000000008000000200000000800000000000000000000000000000000000000000080000000000000000400000000000000000004000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x7881a472e6153e5c3757254dcf1e924d036bf46af008df496b9ef66ceb6c9535", "transactionIndex": "0x83", "blockHash": "0xac096cb95701f1147bdd8fa438affdeef5ca8f6cd83e4f7f89bb9d3ae2a23ada", "blockNumber": "0x8f30fe", "gasUsed": "0x18dfb", "effectiveGasPrice": "0xf4258", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1760122597545, "chain": 11155111, "commit": "44d9390" } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from "@eth-optimism-bedrock/src/dispute/FaultDisputeGame.sol"; import { PermissionedDisputeGame, FaultDisputeGame } from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType, Duration, Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {LibGameType, LibDuration} from "@eth-optimism-bedrock/src/dispute/lib/LibUDT.sol"; import {DisputeGameFactory} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; using LibDuration for Duration; using LibGameType for GameType; string public constant EXPECTED_VERSION = "1.7.0"; SystemConfig public SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim public immutable ABSOLUTE_PRESTATE; FaultDisputeGame.GameConstructorParams fdgParams; FaultDisputeGame.GameConstructorParams pdgParams; address proposer; address challenger; constructor() { ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); } function setUp() public { DisputeGameFactory dgfProxy = DisputeGameFactory(SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); uint256 maxGameDepth = currentFdg.maxGameDepth(); uint256 splitDepth = currentFdg.splitDepth(); Duration clockExtension = currentFdg.clockExtension(); Duration maxClockDuration = currentFdg.maxClockDuration(); IBigStepper bigStepper = currentFdg.vm(); IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry(); uint256 l2ChainId = currentFdg.l2ChainId(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); fdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.CANNON, absolutePrestate: ABSOLUTE_PRESTATE, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentFdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); pdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.PERMISSIONED_CANNON, absolutePrestate: ABSOLUTE_PRESTATE, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentPdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); } function _postCheck(address fdgImpl, address pdgImpl) private view { FaultDisputeGame fdg = FaultDisputeGame(fdgImpl); PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl); require(Strings.equal(fdg.version(), EXPECTED_VERSION), "Postcheck version 1"); require(Strings.equal(pdg.version(), EXPECTED_VERSION), "Postcheck version 2"); require(fdg.gameType().raw() == GameTypes.CANNON.raw(), "Postcheck 1"); require(fdg.absolutePrestate().raw() == ABSOLUTE_PRESTATE.raw(), "Postcheck 2"); require(fdg.maxGameDepth() == fdgParams.maxGameDepth, "Postcheck 3"); require(fdg.splitDepth() == fdgParams.splitDepth, "Postcheck 4"); require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), "Postcheck 5"); require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), "Postcheck 6"); require(fdg.vm() == fdgParams.vm, "Postcheck 7"); require(fdg.weth() == fdgParams.weth, "Postcheck 8"); require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, "Postcheck 9"); require(fdg.l2ChainId() == fdgParams.l2ChainId, "Postcheck 10"); require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), "Postcheck 11"); require(pdg.absolutePrestate().raw() == ABSOLUTE_PRESTATE.raw(), "Postcheck 12"); require(pdg.maxGameDepth() == pdgParams.maxGameDepth, "Postcheck 13"); require(pdg.splitDepth() == pdgParams.splitDepth, "Postcheck 14"); require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), "Postcheck 15"); require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), "Postcheck 16"); require(pdg.vm() == pdgParams.vm, "Postcheck 17"); require(pdg.weth() == pdgParams.weth, "Postcheck 18"); require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, "Postcheck 19"); require(pdg.l2ChainId() == pdgParams.l2ChainId, "Postcheck 20"); require(pdg.proposer() == proposer, "Postcheck 21"); require(pdg.challenger() == challenger, "Postcheck 22"); } function run() public { (address fdg, address pdg) = _deployContracts(); _postCheck(fdg, pdg); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { console.log("FaultDisputeGame params:"); console.logBytes(abi.encode(fdgParams)); console.log("PermissionedDisputeGame params:"); console.logBytes(abi.encode(pdgParams, proposer, challenger)); vm.startBroadcast(); address fdg = address(new FaultDisputeGame(fdgParams)); address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger)); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {console} from "forge-std/console.sol"; import {LibString} from "@solady/utils/LibString.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IDisputeGameFactory { function gameImpls(uint32) external view returns (address); function setImplementation(uint32, address) external; } interface IPermissionedDisputeGame { function challenger() external view returns (address); function proposer() external view returns (address); } interface ISystemConfig { function disputeGameFactory() external view returns (address); } interface IFaultDisputeGame { function version() external view returns (string memory); function vm() external view returns (address); function weth() external view returns (address); function anchorStateRegistry() external view returns (address); function l2ChainId() external view returns (uint64); function splitDepth() external view returns (uint64); function maxGameDepth() external view returns (uint64); function maxClockDuration() external view returns (uint64); function clockExtension() external view returns (uint64); } interface IAnchorStateRegistry { function anchors(uint32) external view returns (bytes32, uint256); } /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is MultisigScript { using stdJson for string; string public constant EXPECTED_VERSION = "1.7.0"; uint32 public constant CANNON = 0; uint32 public constant PERMISSIONED_CANNON = 1; address public immutable OWNER_SAFE; IDisputeGameFactory public dgfProxy; address public fdgImpl; address public pdgImpl; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); } function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(CANNON, fdgImpl); _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType); IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl); require(LibString.eq(currentImpl.version(), EXPECTED_VERSION), "00"); require(currentImpl.vm() == faultDisputeGame.vm(), "10"); require(currentImpl.weth() == faultDisputeGame.weth(), "20"); require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), "70"); require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), "80"); if (targetGameType == PERMISSIONED_CANNON) { IPermissionedDisputeGame currentPdg = IPermissionedDisputeGame(address(currentImpl)); IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame)); require(currentPdg.proposer() == permissionedDisputeGame.proposer(), "90"); require(currentPdg.challenger() == permissionedDisputeGame.challenger(), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(dgfProxy.gameImpls(CANNON) == fdgImpl, "post-110"); require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, "post-120"); _postcheckHasAnchorState(CANNON); _postcheckHasAnchorState(PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(uint32 gameType) internal view { console.log("check anchor state exists", gameType); IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType)); (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType); require(root != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: address(dgfProxy), allowFailure: false, callData: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/validations/BASE_NESTED_VALIDATION.json ================================================ { "task_name": "sepolia-fusaka-defense", "script_name": "UpgradeDGF", "signature": "sign(address[])", "sender": "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "args": "[0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A]", "ledger-id": 1, "rpc_url": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expected_domain_and_message_hashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domain_hash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "message_hash": "0x944752703c0c80fd083016d34d1d6fb26daa2aac5d61824638b19f5027e64c34" }, "expected_nested_hash": "", "state_overrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x5f8247dedc09521b672973565542085da2880c5b9ece59fd089115b14af87e59", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] } ], "state_changes": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce" }, { "key": "0xf053cd9a0ff3b12c0e12da96b5403383c5c0b737175cbbce357166a3d3354b5c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction" } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000005", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Increments the nonce" } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000008", "after": "0x0000000000000000000000000000000000000000000000000000000000000009", "description": "Increments the nonce" }, { "key": "0xcab2546401c6fb6e5329ad63e24fb95fbd28fc4fef6efd120dfa7c9f671f7ba7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction" } ] }, { "name": "Dispute Game Factory - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e", "after": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "description": "Updates the PermissionedDisputeGame implementation address" }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1", "after": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "description": "Updates the FaultDisputeGame implementation address" } ] } ] } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/validations/BASE_SC_VALIDATION.json ================================================ { "task_name": "sepolia-fusaka-defense", "script_name": "UpgradeDGF", "signature": "sign(address[])", "sender": "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "args": "[0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A]", "ledger-id": 1, "rpc_url": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expected_domain_and_message_hashes": { "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "domain_hash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "message_hash": "0x6072e15918a00f06524a93fd3c54b071bed1b5d2a0a2434e359c1efe48fb40fe" }, "expected_nested_hash": "", "state_overrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0xb3b93d74462e7447a46722b75d1f4c5ed9bc3234792779a166a626a27442bf72", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "state_changes": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce" }, { "key": "0xf053cd9a0ff3b12c0e12da96b5403383c5c0b737175cbbce357166a3d3354b5c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction" } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000008", "after": "0x0000000000000000000000000000000000000000000000000000000000000009", "description": "Increments the nonce" }, { "key": "0xa64a71a744dbf36228dd5c0b829eb81564eeb8129752bb01f692572d4af703ac", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction" } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce" } ] }, { "name": "Dispute Game Factory - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e", "after": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "description": "Updates the PermissionedDisputeGame implementation address" }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1", "after": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "description": "Updates the FaultDisputeGame implementation address" } ] } ] } ================================================ FILE: sepolia/2025-10-09-fusaka-defense/validations/OP_VALIDATION.json ================================================ { "task_name": "sepolia-fusaka-defense", "script_name": "UpgradeDGF", "signature": "sign(address[])", "sender": "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "args": "[0x6AF0674791925f767060Dd52f7fB20984E8639d8]", "ledger-id": 1, "rpc_url": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expected_domain_and_message_hashes": { "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "domain_hash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "message_hash": "0xdd7292ec7808a57179b25869cc34fc358d773a80d330ac859d87d3f3ae09b04f" }, "expected_nested_hash": "", "state_overrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0x4559bbb55c927434366c6e32ba5d225c4627a990c160938e5b5db2adc91c5600", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "state_changes": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce" }, { "key": "0xb29af55234326eb4cad380a2eff35a598abc43d759ed8ae848ce5758091a0d3c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction" } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the nonce" } ] }, { "name": "Dispute Game Factory - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000217e725700de4dc599360adbd57dbb7de280817e", "after": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "description": "Updates the PermissionedDisputeGame implementation address" }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x00000000000000000000000032b37bbd2c81e853ea098ce45856ae305df10dd1", "after": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "description": "Updates the FaultDisputeGame implementation address" } ] } ] } ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deps deps: forge install --no-git github.com/base/bridge@e9b5fe27280ad2345d823d42668810432b0651aa .PHONY: deploy deploy: forge script DeployBridge --rpc-url $(L2_RPC_URL) \ --sender $(shell cast wallet address --account testnet-admin) \ --account testnet-admin --broadcast -vvvv ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/README.md ================================================ # Base Bridge Deployment Deploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`. ## Deployment Steps 1. Install dependencies ```bash cd sepolia/2025-10-17-base-bridge-alpha-deployment make deps ``` 2. Deploy bridge ```bash make deploy ``` ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/addresses.json ================================================ { "Bridge": "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "BridgeValidator": "0x41775f86710572Ec9AbeA4955A3dE882e0930675", "CrossChainERC20Factory": "0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE", "Twin": "0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6", "RelayerOrchestrator": "0x815170c71B25c6aA9891F386f96d2e84cC682149", "WrappedSol": "0x003512146Fd54b71f926C7Fd4B7bd20Fc84E22c5" } ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/config.json ================================================ { "salt": "0xa9252d7f6f4f65eaaecf9228b26ebb5ed5c03771fd884c8c07d639ac2ce40e55", "initialOwner": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "partnerValidators": "0x0000000000000000000000000000000000000001", "baseValidators": [ "0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4", "0x6D0E9C04BD896608b7e10b87FB686E1Feba85510" ], "baseSignatureThreshold": 2, "partnerValidatorThreshold": 0, "remoteBridge": "0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac", "guardians": ["0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f"] } ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/records/DeployBridge.s.sol/84532/run-1761064051180.json ================================================ { "transactions": [ { "hash": "0x412e9ed3060c3ba457f7aeda2204ff11c48b348d68d62e5fb23a902f3aa9a302", "transactionType": "CREATE", "contractName": "Twin", "contractAddress": "0x4dc9cf09dce777c7ce4657adc002645361d4e792", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x8c894", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b", "nonce": "0x5a0", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a", "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6", "function": null, "arguments": [ "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x4DC9cf09dce777c7Ce4657ADc002645361D4E792" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x4c1bf", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208900000000000000000000000004dc9cf09dce777c7ce4657adc002645361d4e792", "nonce": "0x5a1", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac", "transactionType": "CREATE", "contractName": "CrossChainERC20", "contractAddress": "0xa73bb8a073e2578edaab56f9c48b276647a08bcb", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x1461c7", "value": "0x0", "input": "0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b", "nonce": "0x5a2", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de", "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0xfbaade604e0de1ac8b902120b6e25b9cd5884665", "function": null, "arguments": [ "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0xa73bb8A073E2578eDAaB56f9C48B276647a08bcb" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x4c1bf", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000a73bb8a073e2578edaab56f9c48b276647a08bcb", "nonce": "0x5a3", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xad2616b57ecf141419cb0ee4c14caf4fdeed14b0e6e38cfdb548f8497624648c", "transactionType": "CREATE", "contractName": "CrossChainERC20Factory", "contractAddress": "0x9bb8a17474401c26f9e2173bb2cd428d41586361", "function": null, "arguments": [ "0xFbAadE604E0de1aC8B902120B6E25B9cD5884665" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x86c84", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220f8580010539103fca1b4f359cdfb177f98b25738d0d577d2e4708865a69c7ac464736f6c634300081c0033000000000000000000000000fbaade604e0de1ac8b902120b6e25b9cd5884665", "nonce": "0x5a4", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0x9BB8a17474401C26F9e2173BB2CD428d41586361", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c610000000000000000000000009bb8a17474401c26f9e2173bb2cd428d415863610000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5a5", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0xa51473bc986c95a5e1a7f9a9991e3f2f263842be", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f", "transactionType": "CREATE", "contractName": "BridgeValidator", "contractAddress": "0xc6a99e05b835270b4205d619a531087789f81c46", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0x0000000000000000000000000000000000000001" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x183053", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea26469706673582212207ceedf727f1bd1281cce70297cdcafc481f8bd32b5e97692e0d9bf67e23bb29b64736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x5a6", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployAndCall(address,address,bytes)", "arguments": [ "0xC6A99E05B835270B4205D619a531087789f81c46", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4bb34", "value": "0x0", "input": "0x4314f120000000000000000000000000c6a99e05b835270b4205d619a531087789f81c460000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000", "nonce": "0x5a7", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x41775f86710572ec9abea4955a3de882e0930675", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779", "transactionType": "CREATE", "contractName": "Bridge", "contractAddress": "0x6827fb4906530520af8ba952550cfea393857bed", "function": null, "arguments": [ "0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac", "0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6", "0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE", "0x41775f86710572Ec9AbeA4955A3dE882e0930675" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x5355eb", "value": "0x0", "input": "0x610100604052348015610010575f5ffd5b50604051614cc2380380614cc283398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ac16102015f395f81816105ae0152611fa701525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ac15ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a05565b6107d9565b005b61024c61025c366004613a20565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a20565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a58565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a58565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613a82565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a58565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a58565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c1b565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c6b565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a20565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613ca2565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613ce1565b610b62565b348015610589575f5ffd5b5061024c610598366004613c6b565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d19565b61105a565b6040516102c39190613d32565b34801561063a575f5ffd5b5061024c610649366004613ca2565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613a82565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a20565b5f6020819052908152604090205460ff1681565b61024c610717366004613a82565b61117b565b348015610727575f5ffd5b506102a2610736366004613a20565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613a82565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e21565b611c14565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611dbd565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611ebe565b610a7b6111fc565b610a845f611eec565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f68565b9050602002810190610b1d9190613f95565b611f51565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a846121a3565b5f5b82811015610cc2575f848483818110610c2757610c27613f68565b9050602002016020810190610c3c9190613a82565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f68565b9050602002016020810190610cb39190613a82565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d05612206565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613fd1565b810190610d4b91906140c7565b90505f5f5f8360600151806020019051810190610d6891906140f9565b925092509250610d7983838361223f565b5050505050565b6001610d9260a0830160808401614179565b6002811115610da357610da361413e565b03610def575f610db660a0830183613fd1565b810190610dc39190614192565b9050610869817f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f00000000000000000000000000000000000000000000000000000000000000008360400135612734565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a0840160808501614179565b6002811115610ebc57610ebc61413e565b03610f63575f610ecf60a0840184613fd1565b810190610edc91906140c7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f319084906004016141f8565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a0840160808501614179565b6002811115610f8657610f8661413e565b03610869575f80610f9a60a0850185613fd1565b810190610fa7919061426a565b91509150610fd5827f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d28906110279084906004016141f8565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b606061088582612747565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e21565b612a61565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611dbd565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611eec565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611eec565b5f6108857f00000000000000000000000000000000000000000000000000000000000000008330612a94565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612b57565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f68565b90506020028101906112f591906142b6565b6113039060208101906142e8565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f68565b905060200281019061136391906142b6565b6113719060208101906142e8565b90508110156115a057365f8a8a8581811061138e5761138e613f68565b90506020028101906113a091906142b6565b6113ae9060208101906142e8565b848181106113be576113be613f68565b90506020028101906113d09190613fd1565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f68565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f68565b60209081029190910101526001909801975b5f84846114c160016022614379565b60ff168181106114d3576114d3613f68565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f68565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f68565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161176957845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd9190614392565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855173ffffffffffffffffffffffffffffffffffffffff165f90815260208481526040808320828a01518452909152812080546002965084929061175d9084906143a9565b90915550611ba4915050565b34156117a1576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa15801561180e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061183291906143bc565b156119cd575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611884573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a891906143d7565b602087015190915015806118bf5750602086015181145b6118f5576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b15801561197b575f5ffd5b505af115801561198d573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000146119c35760016119c5565b5f5b935050611ba4565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a3d576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a589190614392565b90505f611a68885f015130612bae565b9050611a79885f0151333085612be1565b5f611a87895f015130612bae565b90505f611a9483836143ee565b90505f611aa18683614401565b90505f8111611adc576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ae68682614392565b96505f611af388846143ee565b90508015611b08578b51611b08903383612c43565b611b1182612c96565b8c6060019067ffffffffffffffff16908167ffffffffffffffff168152505087895f015f8e5f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8e6020015181526020019081526020015f205f828254611b9391906143a9565b9091555060029a5050505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611c6657611c6661413e565b03611cb257805f8660400151611c89886060015167ffffffffffffffff16612cb3565b604051602001611c9c9493929190614450565b6040516020818303038152906040529050611d6b565b6001846002811115611cc657611cc661413e565b03611d0857806001865f015187602001518860400151611cf38a6060015167ffffffffffffffff16612cb3565b604051602001611c9c969594939291906144c1565b6002846002811115611d1c57611d1c61413e565b03611d6b5780600286602001518760400151611d45896060015167ffffffffffffffff16612cb3565b604051602001611d59959493929190614564565b60405160208183030381529060405290505b80611d7584612d21565b604051602001611d869291906145da565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611e2282612df8565b83549091505f90611e3e90839067ffffffffffffffff16612e36565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611eae9087906145ee565b60405180910390a3505050505050565b5f610885611ed26040840160208501613d19565b67ffffffffffffffff168335611ee785612eef565b612f25565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611f5b82610a69565b5f8181526020819052604090205490915060ff1615611f78575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015612001573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202591906143bc565b61205b576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d3256120716080850160608601613d19565b67ffffffffffffffff16846040518363ffffffff1660e01b81526004016120989190614697565b5f604051808303815f88803b1580156120af575f5ffd5b5087f1935050505080156120c1575060015b61212c575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830061226b82600a614896565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff1111111111111111111111111111111111111112016123f857845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612382576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661239c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906123e29084906143ee565b909155506123f290508383612f48565b506126c6565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa158015612465573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248991906143bc565b156125e2575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ff91906143d7565b905061250e8187602001511490565b612544576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b1580156125c6575f5ffd5b505af11580156125d8573d5f5f3e3d5ffd5b50505050506126c6565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612652576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661266c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906126b29084906143ee565b909155505085516126c4908484612c43565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6127405f8484612f61565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f036127b0576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff908116908416106127f8576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f6128058761302c565b93509350935093505f8367ffffffffffffffff81111561282757612827613a9d565b604051908082528060200260200182016040528015612850578160200160208202803683370190505b509050845f5b8581101561295257600167ffffffffffffffff8616821c8116145f8082156128a5576128838560016143a9565b90506128908460016143a9565b61289e906001901b826143ee565b91506128ce565b6128b08460016143a9565b6128be906001901b866143a9565b90506128cb6001826143ee565b91505b60028b0154821061290b576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061292057612920613f68565b905f5260205f20015486858151811061293b5761293b613f68565b602090810291909101015293505050600101612856565b508251825161296191906143a9565b67ffffffffffffffff81111561297957612979613a9d565b6040519080825280602002602001820160405280156129a2578160200160208202803683370190505b5097505f805b83518110156129fc578381815181106129c3576129c3613f68565b60200260200101518a83806129d7906148a4565b9450815181106129e9576129e9613f68565b60209081029190910101526001016129a8565b505f5b8451811015612a5357848181518110612a1a57612a1a613f68565b60200260200101518a8380612a2e906148a4565b945081518110612a4057612a40613f68565b60209081029190910101526001016129ff565b505050505050505050919050565b60605f612a6d83612d21565b604051602001612a7e9291906148db565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612b4e818585613053565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612b78575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c3557803d873b151710612c3557637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612c8c57803d853b151710612c8c576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612caf57612caf613072565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d2e835161307f565b604051602001612d69919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612df15781612da8858381518110612d9b57612d9b613f68565b60200260200101516130ea565b604051602001612db99291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612d7c565b5092915050565b5f815f015182602001518360400151604051602001612e1993929190614911565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ebc916143ee565b9050612ec88185613230565b5f612edc612ed7866001614972565b613305565b6001909301839055509091505092915050565b5f6040820135612f0560a0840160808501614179565b612f1260a0850185613fd1565b604051602001612e199493929190614992565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f591508161301e5763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061303a856133cc565b9195509350915061304a85613556565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d19565b60605f825f015160405160200161310391815260200190565b60405160208183030381529060405290508061312384602001515161307f565b6040516020016131349291906149c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131db57818460200151828151811061318a5761318a613f68565b60200260200101516040516020016131a39291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101613166565b50806131ea84604001516136e9565b6040516020016131fb9291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f6132758383613707565b90505f84600201828154811061328d5761328d613f68565b905f5260205f20015490505f8560020185815481106132ae576132ae613f68565b905f5260205f20015490505f6132c4838361371e565b600288018054600181810183555f8381526020902090910183905590549192506132ed916143ee565b9550846132f9816148a4565b95505050505050613254565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361335b57505f9392505050565b5f6133658561374c565b905080515f0361337957505f949350505050565b80516001036133c35782600201815f8151811061339857613398613f68565b6020026020010151815481106133b0576133b0613f68565b905f5260205f2001549350505050919050565b612b4e81613849565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f908190819061340f9067ffffffffffffffff1661390d565b90505f61341d8260016143a9565b90505b801561351c575f6134326001836143ee565b865490915067ffffffffffffffff16811c60019081169003613509576001811b67ffffffffffffffff808616908c161080159061348b57506134748186614972565b67ffffffffffffffff168b67ffffffffffffffff16105b156134e6575f61349b868d614a01565b90505f6134a782613970565b6134bc67ffffffffffffffff84166002614392565b6134c691906143ee565b90506134d281896143a9565b9b50929950975061354f9650505050505050565b6134ef826139a8565b6134f990876143a9565b95506135058186614972565b9450505b508061351481614a21565b915050613420565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135b99067ffffffffffffffff1661390d565b90505f6135c78260016143a9565b90505b80156136db575f6135dc6001836143ee565b885490915067ffffffffffffffff16811c600190811690036136c8576001811b5f67ffffffffffffffff808716908d1610801590613636575061361f8287614972565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613642846139a8565b9050816136ac575f6001613656838b6143a9565b61366091906143ee565b90508b600201818154811061367757613677613f68565b905f5260205f2001548b8b8061368c906148a4565b9c508151811061369e5761369e613f68565b602002602001018181525050505b6136b681896143a9565b97506136c28388614972565b96505050505b50806136d381614a21565b9150506135ca565b505050908252509392505050565b60606136f5825161307f565b82604051602001612a7e929190614a55565b5f5f613712836139a8565b9050612f4081856143ee565b5f8183101561373a57505f828152602082905260409020610885565b5f828152602084905260409020612740565b60608167ffffffffffffffff165f0361377457604080515f8082526020820190925290612df1565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137a18661390d565b90505f6137af8260016143a9565b90505b801561383e575f6137c46001836143ee565b9050600167ffffffffffffffff8916821c81160361382b575f6137e785836139c3565b9050808787815181106137fc576137fc613f68565b602090810291909101015285613811816148a4565b96505061381d826139a8565b61382790866143a9565b9450505b508061383681614a21565b9150506137b2565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f8151811061388557613885613f68565b60200260200101518154811061389d5761389d613f68565b5f91825260209091200154905060015b8451811015613905575f836002018683815181106138cd576138cd613f68565b6020026020010151815481106138e5576138e5613f68565b905f5260205f20015490506138fa83826139e6565b9250506001016138ad565b509392505050565b5f8167ffffffffffffffff165f0361392657505f919050565b5f825b67ffffffffffffffff8116156139585781613943816148a4565b92505060011c677fffffffffffffff16613929565b5f8211613965575f612f40565b612f406001836143ee565b5f805b67ffffffffffffffff8316156108855761399060018416826143a9565b905060018367ffffffffffffffff16901c9250613973565b5f60016139b583826143a9565b6001901b61088591906143ee565b5f5f6139ce836139a8565b905060016139dc82866143a9565b612f4091906143ee565b5f828152602082905260408120612740565b8015158114610854575f5ffd5b5f60208284031215613a15575f5ffd5b8135612740816139f8565b5f60208284031215613a30575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a69575f5ffd5b8235613a7481613a37565b946020939093013593505050565b5f60208284031215613a92575f5ffd5b813561274081613a37565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613aed57613aed613a9d565b60405290565b6040516060810167ffffffffffffffff81118282101715613aed57613aed613a9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b5d57613b5d613a9d565b604052919050565b803567ffffffffffffffff81168114613b7c575f5ffd5b919050565b5f60808284031215613b91575f5ffd5b613b99613aca565b90508135613ba681613a37565b81526020828101359082015260408083013590820152613bc860608301613b65565b606082015292915050565b5f5f83601f840112613be3575f5ffd5b50813567ffffffffffffffff811115613bfa575f5ffd5b6020830191508360208260051b8501011115613c14575f5ffd5b9250929050565b5f5f5f60a08486031215613c2d575f5ffd5b613c378585613b81565b9250608084013567ffffffffffffffff811115613c52575f5ffd5b613c5e86828701613bd3565b9497909650939450505050565b5f60208284031215613c7b575f5ffd5b813567ffffffffffffffff811115613c91575f5ffd5b820160c08185031215612740575f5ffd5b5f5f60208385031215613cb3575f5ffd5b823567ffffffffffffffff811115613cc9575f5ffd5b613cd585828601613bd3565b90969095509350505050565b5f5f5f60408486031215613cf3575f5ffd5b8335613cfe81613a37565b9250602084013567ffffffffffffffff811115613c52575f5ffd5b5f60208284031215613d29575f5ffd5b61274082613b65565b602080825282518282018190525f918401906040840190835b81811015613d69578351835260209384019390920191600101613d4b565b509095945050505050565b5f67ffffffffffffffff821115613d8d57613d8d613a9d565b5060051b60200190565b5f82601f830112613da6575f5ffd5b813567ffffffffffffffff811115613dc057613dc0613a9d565b613df160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b16565b818152846020838601011115613e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e33613e2e84613d74565b613b16565b8381526020810190600585901b840136811115613e4e575f5ffd5b845b81811015613d6957803567ffffffffffffffff811115613e6e575f5ffd5b86016060368290031215613e80575f5ffd5b613e88613af3565b81358152602082013567ffffffffffffffff811115613ea5575f5ffd5b820136601f820112613eb5575f5ffd5b8035613ec3613e2e82613d74565b8082825260208201915060208360051b850101925036831115613ee4575f5ffd5b602084015b83811015613f2557803567ffffffffffffffff811115613f07575f5ffd5b613f1636602083890101613d97565b84525060209283019201613ee9565b506020850152505050604082013567ffffffffffffffff811115613f47575f5ffd5b613f5336828501613d97565b60408301525085525060209384019301613e50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613fc7575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614004575f5ffd5b83018035915067ffffffffffffffff82111561401e575f5ffd5b602001915036819003821315613c14575f5ffd5b5f60808284031215614042575f5ffd5b61404a613aca565b905081356004811061405a575f5ffd5b8152602082013561406a81613a37565b602082015260408201356fffffffffffffffffffffffffffffffff81168114614091575f5ffd5b6040820152606082013567ffffffffffffffff8111156140af575f5ffd5b6140bb84828501613d97565b60608301525092915050565b5f602082840312156140d7575f5ffd5b813567ffffffffffffffff8111156140ed575f5ffd5b612f4084828501614032565b5f5f5f6060848603121561410b575f5ffd5b835161411681613a37565b60208501516040860151919450925060ff81168114614133575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613b7c575f5ffd5b5f60208284031215614189575f5ffd5b6127408261416b565b5f608082840312156141a2575f5ffd5b6127408383613b81565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061420f5761420f61413e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f4060a08401826141ac565b5f5f60a0838503121561427b575f5ffd5b6142858484613b81565b9150608083013567ffffffffffffffff8111156142a0575f5ffd5b6142ac85828601614032565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613fc7575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261431b575f5ffd5b83018035915067ffffffffffffffff821115614335575f5ffd5b6020019150600581901b3603821315613c14575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff82811682821603908111156108855761088561434c565b80820281158282048414176108855761088561434c565b808201808211156108855761088561434c565b5f602082840312156143cc575f5ffd5b8151612740816139f8565b5f602082840312156143e7575f5ffd5b5051919050565b818103818111156108855761088561434c565b5f82614434577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61445b8287614439565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144cc8289614439565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f61456f8288614439565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f406145e88386614439565b84614439565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f4060808401826141ac565b6003811061464c5761464c61413e565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146b9908501613b65565b1660408301525f604084013590508060608401525067ffffffffffffffff6146e360608501613b65565b1660808301526146f56080840161416b565b61470260a084018261463c565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614737575f5ffd5b830160208101903567ffffffffffffffff811115614753575f5ffd5b803603821315614761575f5ffd5b60c080850152612b4e60e085018284614650565b6001815b60018411156147b0578085048111156147945761479461434c565b60018416156147a257908102905b60019390931c928002614779565b935093915050565b5f826147c657506001610885565b816147d257505f610885565b81600181146147e857600281146147f25761480e565b6001915050610885565b60ff8411156148035761480361434c565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614831575081810a610885565b61485c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614775565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561488e5761488e61434c565b029392505050565b5f61274060ff8416836147b8565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d4576148d461434c565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f406001830184614439565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612b4e601c830184614439565b67ffffffffffffffff81811683821601908111156108855761088561434c565b8481526149a2602082018561463c565b606060408201525f6149b8606083018486614650565b9695505050505050565b5f6149cd8285614439565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff82811682821603908111156108855761088561434c565b5f81614a2f57614a2f61434c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f40600483018461443956fea2646970667358221220290ec9711f7eee3b922fa1ce8886b777131b7c66fc27a832dab589884dac941b64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be00000000000000000000000041775f86710572ec9abea4955a3de882e0930675", "nonce": "0x5a8", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployDeterministicAndCall(address,address,bytes32,bytes)", "arguments": [ "0x6827Fb4906530520af8ba952550cfEA393857bEd", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x8c1a617bdb47342f9c17ac8750e0b070c372c7210b72a942ba884bdf7ac2874a", "0x946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4829d", "value": "0x0", "input": "0xa97b90d50000000000000000000000006827fb4906530520af8ba952550cfea393857bed0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208908c1a617bdb47342f9c17ac8750e0b070c372c7210b72a942ba884bdf7ac2874a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000000000000000000000000000000000000", "nonce": "0x5a9", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x64567a9147fa89b1edc987e36eb6f4b6db71656b", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xc56efb1412d28ad36dbcbaa238971cb203f6a6329a8ff66bcbc65e8069f57dfe", "transactionType": "CREATE", "contractName": "RelayerOrchestrator", "contractAddress": "0xcf0b2bbbb0e79c46599d5ca18347fbe028edd7a3", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0x41775f86710572Ec9AbeA4955A3dE882e0930675" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x7af17", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea26469706673582212205088542475db6d257ca490934dd9023af311bc0327ac384da1cbf79ff6b873a564736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b00000000000000000000000041775f86710572ec9abea4955a3de882e0930675", "nonce": "0x5aa", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0xcF0b2BbbB0e79c46599D5CA18347FBe028EDD7A3", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c61000000000000000000000000cf0b2bbbb0e79c46599d5ca18347fbe028edd7a30000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5ab", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x815170c71b25c6aa9891f386f96d2e84cc682149", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155", "transactionType": "CALL", "contractName": null, "contractAddress": "0xa51473bc986c95a5e1a7f9a9991e3f2f263842be", "function": "deploySolWrapper()", "arguments": [], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xa51473bc986c95a5e1a7f9a9991e3f2f263842be", "gas": "0x52327", "value": "0x0", "input": "0xad831c1a", "nonce": "0x5ac", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x003512146fd54b71f926c7fd4b7bd20fc84e22c5", "initCode": "0x60523d8160223d3973fbaade604e0de1ac8b902120b6e25b9cd588466560195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1c9798", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x412e9ed3060c3ba457f7aeda2204ff11c48b348d68d62e5fb23a902f3aa9a302", "transactionIndex": "0xf", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x6c1ad", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x4dc9cf09dce777c7ce4657adc002645361d4e792", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x3dc", "l1GasPrice": "0xe", "l1GasUsed": "0x442d" }, { "status": "0x1", "cumulativeGasUsed": "0x204053", "logs": [ { "address": "0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a", "transactionIndex": "0x10", "logIndex": "0x19", "removed": false }, { "address": "0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000004dc9cf09dce777c7ce4657adc002645361d4e792" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a", "transactionIndex": "0x10", "logIndex": "0x1a", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800010000000000000000000000000000400000000400010000000000000000000000010000000000000000000000000000000000000000000000000000000000080400000000000000000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa6d43aeccb5d852c1ff40f36a5f66b1c6664b33fb7d4d96a5cbb5d819a863e4a", "transactionIndex": "0x10", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x3a8bb", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x013d06e4cf47229d973cb3c4e23ff8d336ce5ff6", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x23e", "l1GasPrice": "0xe", "l1GasUsed": "0x2794" }, { "status": "0x1", "cumulativeGasUsed": "0x2fee00", "logs": [ { "address": "0xa73bb8a073e2578edaab56f9c48b276647a08bcb", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac", "transactionIndex": "0x11", "logIndex": "0x1b", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb46dfda2d8ebfccaf573de5a6b65d84340289097d25aa4e1db0139a8a349ceac", "transactionIndex": "0x11", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0xfadad", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xa73bb8a073e2578edaab56f9c48b276647a08bcb", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x903", "l1GasPrice": "0xe", "l1GasUsed": "0x9f18" }, { "status": "0x1", "cumulativeGasUsed": "0x3396bb", "logs": [ { "address": "0xfbaade604e0de1ac8b902120b6e25b9cd5884665", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de", "transactionIndex": "0x12", "logIndex": "0x1c", "removed": false }, { "address": "0xfbaade604e0de1ac8b902120b6e25b9cd5884665", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000a73bb8a073e2578edaab56f9c48b276647a08bcb" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de", "transactionIndex": "0x12", "logIndex": "0x1d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000000000001000000000000000000000000000100000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000020000000000000000000000000000002000000000000000000040020001000000000000000000000000000000000000000000000000000080000000000", "type": "0x2", "transactionHash": "0xf2d765b8606e52c8cc6818691c9aa8057557e3c757674b9b623a3beba86988de", "transactionIndex": "0x12", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x3a8bb", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xfbaade604e0de1ac8b902120b6e25b9cd5884665", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x23e", "l1GasPrice": "0xe", "l1GasUsed": "0x2794" }, { "status": "0x1", "cumulativeGasUsed": "0x3a1197", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xad2616b57ecf141419cb0ee4c14caf4fdeed14b0e6e38cfdb548f8497624648c", "transactionIndex": "0x13", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x67adc", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x9bb8a17474401c26f9e2173bb2cd428d41586361", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x418", "l1GasPrice": "0xe", "l1GasUsed": "0x484f" }, { "status": "0x1", "cumulativeGasUsed": "0x3bfadc", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be", "0x0000000000000000000000009bb8a17474401c26f9e2173bb2cd428d41586361", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a", "transactionIndex": "0x14", "logIndex": "0x1e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000040800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000002000800200000000000000400000000000000000000002000000000000000000000040000000000400000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xcca6960f26ce754403d975ba1e65761e76bb72cdbf4fa43897233b0d81a4fd2a", "transactionIndex": "0x14", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x1e945", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x5a", "l1GasPrice": "0xe", "l1GasUsed": "0x640" }, { "status": "0x1", "cumulativeGasUsed": "0x4e9630", "logs": [ { "address": "0xc6a99e05b835270b4205d619a531087789f81c46", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f", "transactionIndex": "0x15", "logIndex": "0x1f", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000400000000000000080000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000001000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x36dab9664876f2238d536e9264937619b9cfa87b1a089f34883748f005bd8b9f", "transactionIndex": "0x15", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x129b54", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xc6a99e05b835270b4205d619a531087789f81c46", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x9c7", "l1GasPrice": "0xe", "l1GasUsed": "0xaca3" }, { "status": "0x1", "cumulativeGasUsed": "0x520314", "logs": [ { "address": "0x41775f86710572ec9abea4955a3de882e0930675", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3", "transactionIndex": "0x16", "logIndex": "0x20", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x00000000000000000000000041775f86710572ec9abea4955a3de882e0930675", "0x000000000000000000000000c6a99e05b835270b4205d619a531087789f81c46", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3", "transactionIndex": "0x16", "logIndex": "0x21", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000400000000000200000000000000100000000000000000008800000000000000800000000000000000000000080000000000000000000000000000000000000000000000000080000002000000000000000000400000000800000000000000000400000000000000000000004000002000000000000000000000000000400000000000000000004000000000000000000000000000000", "type": "0x2", "transactionHash": "0xdb7eb9fb9bcdf88290193a6c915a483ebff40b5b162744958e9f3b077c3d80f3", "transactionIndex": "0x16", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x36ce4", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x9d", "l1GasPrice": "0xe", "l1GasUsed": "0xad3" }, { "status": "0x1", "cumulativeGasUsed": "0x921dc9", "logs": [ { "address": "0x6827fb4906530520af8ba952550cfea393857bed", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779", "transactionIndex": "0x17", "logIndex": "0x22", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000800000000", "type": "0x2", "transactionHash": "0xbbcfd555c29dd3691d7f07bae881c1a7b23e26852b45a6908d5856daff10f779", "transactionIndex": "0x17", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x401ab5", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x6827fb4906530520af8ba952550cfea393857bed", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x2041", "l1GasPrice": "0xe", "l1GasUsed": "0x23958" }, { "status": "0x1", "cumulativeGasUsed": "0x953344", "logs": [ { "address": "0x64567a9147fa89b1edc987e36eb6f4b6db71656b", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionIndex": "0x18", "logIndex": "0x23", "removed": false }, { "address": "0x64567a9147fa89b1edc987e36eb6f4b6db71656b", "topics": [ "0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionIndex": "0x18", "logIndex": "0x24", "removed": false }, { "address": "0x64567a9147fa89b1edc987e36eb6f4b6db71656b", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionIndex": "0x18", "logIndex": "0x25", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b", "0x0000000000000000000000006827fb4906530520af8ba952550cfea393857bed", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionIndex": "0x18", "logIndex": "0x26", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000800000000000000400000002000000000000000000000000000000000000000000000040040000000000000000000000000000000000080001000000040000000000000000000000000000020000004000400000000800200000000000000000000000000000400000800000000000000800000000000008040000000080000002000000000000000000000000000000000000000000080000000000010000000000000000000000802000400000000400400000000000000000000004000000080000000060000000000000000000000000000000000000000000000000000000000000000040", "type": "0x2", "transactionHash": "0x13d30b1cc77d753c330abff59a105c53527f2fce88d9e53468e0d4f7e5cb74df", "transactionIndex": "0x18", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x3157b", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x97", "l1GasPrice": "0xe", "l1GasUsed": "0xa76" }, { "status": "0x1", "cumulativeGasUsed": "0x9b1c6a", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc56efb1412d28ad36dbcbaa238971cb203f6a6329a8ff66bcbc65e8069f57dfe", "transactionIndex": "0x19", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x5e926", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xcf0b2bbbb0e79c46599d5ca18347fbe028edd7a3", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x39f", "l1GasPrice": "0xe", "l1GasUsed": "0x3ff1" }, { "status": "0x1", "cumulativeGasUsed": "0x9d05af", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000815170c71b25c6aa9891f386f96d2e84cc682149", "0x000000000000000000000000cf0b2bbbb0e79c46599d5ca18347fbe028edd7a3", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630", "transactionIndex": "0x1a", "logIndex": "0x27", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000400000000000200000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000000400004000000000000000000000000008040000000000000000000000000000000000000000000000000100000000000000000000000", "type": "0x2", "transactionHash": "0x15df849730959a53ebc64f12828705e2f529447c6b01cb3262045d314b64a630", "transactionIndex": "0x1a", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x1e945", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x5a", "l1GasPrice": "0xe", "l1GasUsed": "0x640" }, { "status": "0x1", "cumulativeGasUsed": "0xa0bdd5", "logs": [ { "address": "0x003512146fd54b71f926c7fd4b7bd20fc84e22c5", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155", "transactionIndex": "0x1b", "logIndex": "0x28", "removed": false }, { "address": "0xa51473bc986c95a5e1a7f9a9991e3f2f263842be", "topics": [ "0x0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d28783", "0x000000000000000000000000003512146fd54b71f926c7fd4b7bd20fc84e22c5", "0x069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000" ], "data": "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "blockTimestamp": "0x68f7b472", "transactionHash": "0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155", "transactionIndex": "0x1b", "logIndex": "0x29", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000100800200004000000080000000080000000000000000000000000000000000000000000000000000000000000000000001000040000000000000000000000000000000000002000000000040004000000000000000000000000000000000000000008000000000000000800000000000000000008000000", "type": "0x2", "transactionHash": "0xc97ce961690354bedec3c1c9c1f810be855f15aef4c4cf9dc230c790c79a3155", "transactionIndex": "0x1b", "blockHash": "0x822cbe9ff4681557c8f631212ac75360cb4c5c3c833b8d44e531f9750ecc75f6", "blockNumber": "0x1f22ac9", "gasUsed": "0x3b826", "effectiveGasPrice": "0xf4280", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xa51473bc986c95a5e1a7f9a9991e3f2f263842be", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x5a", "l1GasPrice": "0xe", "l1GasUsed": "0x640" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761064051180, "chain": 84532, "commit": "398e6cc" } ================================================ FILE: sepolia/2025-10-17-base-bridge-alpha-deployment/script/DeployBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {LibString} from "solady/utils/LibString.sol"; import {UpgradeableBeacon} from "@solady/utils/UpgradeableBeacon.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Pubkey} from "bridge/libraries/SVMLib.sol"; import {TokenLib} from "bridge/libraries/TokenLib.sol"; import {RelayerOrchestrator} from "bridge/periphery/RelayerOrchestrator.sol"; import {Bridge} from "bridge/Bridge.sol"; import {BridgeValidator} from "bridge/BridgeValidator.sol"; import {CrossChainERC20} from "bridge/CrossChainERC20.sol"; import {CrossChainERC20Factory} from "bridge/CrossChainERC20Factory.sol"; import {Twin} from "bridge/Twin.sol"; struct Cfg { bytes32 salt; address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint128 baseSignatureThreshold; uint256 partnerValidatorThreshold; Pubkey remoteBridge; address[] guardians; } contract DeployBridge is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.salt = _readBytes32FromConfig("salt"); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); cfg.partnerValidators = _readAddressFromConfig("partnerValidators"); cfg.baseValidators = _readAddressArrayFromConfig("baseValidators"); cfg.baseSignatureThreshold = uint128(_readUintFromConfig("baseSignatureThreshold")); cfg.partnerValidatorThreshold = _readUintFromConfig("partnerValidatorThreshold"); cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig("remoteBridge")); cfg.guardians = _readAddressArrayFromConfig("guardians"); require(cfg.guardians.length == 1, "invalid guardians length"); cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias(); } function run() public { address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt()); vm.startBroadcast(); address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress}); address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress}); address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress}); address bridge = _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator}); address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}); address sol = CrossChainERC20Factory(factory).deploySolWrapper(); vm.stopBroadcast(); require(address(bridge) == precomputedBridgeAddress, "Bridge address mismatch"); _serializeAddress({key: "Bridge", value: bridge}); _serializeAddress({key: "BridgeValidator", value: bridgeValidator}); _serializeAddress({key: "CrossChainERC20Factory", value: factory}); _serializeAddress({key: "Twin", value: twinBeacon}); _serializeAddress({key: "RelayerOrchestrator", value: relayerOrchestrator}); _serializeAddress({key: "WrappedSol", value: sol}); _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol); } function _postCheck( address twinBeacon, address factory, address bridgeValidator, address bridge, address relayerOrchestrator, address sol ) private view { // Twin Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation())); require(twinImpl.BRIDGE() == bridge, "PC01: incorrect bridge address in twin impl"); // Factory UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON()); CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation()); require(tokenImpl.bridge() == bridge, "PC02: incorrect bridge address in token impl"); // BridgeValidator require( BridgeValidator(bridgeValidator).BRIDGE() == bridge, "PC03: incorrect bridge address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators, "PC04: incorrect partnerValidators address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold, "PC05: incorrect partner validator threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold, "PC06: incorrect Base threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length, "PC07: incorrect registered base validator count" ); for (uint256 i; i < cfg.baseValidators.length; i++) { require( BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]), "PC08: base validator not registered" ); } // Bridge require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, "PC09: incorrect remote bridge in Bridge contract"); require(Bridge(bridge).TWIN_BEACON() == twinBeacon, "PC10: incorrect twin beacon in Bridge contract"); require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, "PC11: incorrect factory in Bridge contract"); require( Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, "PC12: incorrect bridge validator in Bridge contract" ); require(Bridge(bridge).owner() == cfg.initialOwner, "PC13: incorrect Bridge owner"); for (uint256 i; i < cfg.guardians.length; i++) { require( Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(), "PC14: guardian missing perms" ); } // RelayerOrchestrator require( RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, "PC15: incorrect bridge in RelayerOrchestrator" ); require( RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator, "PC16: incorrect bridge validator in RelayerOrchestrator" ); // SOL require(CrossChainERC20(sol).bridge() == bridge, "PC17: incorrect bridge in SOL contract"); require(LibString.eq(CrossChainERC20(sol).name(), "Solana"), "PC18: incorrect SOL name"); require(LibString.eq(CrossChainERC20(sol).symbol(), "SOL"), "PC19: incorrect SOL symbol"); require( CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY), "PC20: incorrect SOL remote token" ); require(CrossChainERC20(sol).decimals() == 9, "PC21: incorrect SOL decimals"); } function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) { address twinImpl = address(new Twin(precomputedBridgeAddress)); return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl})); } function _deployFactory(address precomputedBridgeAddress) private returns (address) { address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress)); address erc20Beacon = address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl})); address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon)); return ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner}); } function _deployBridgeValidator(address bridge) private returns (address) { address bridgeValidatorImpl = address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators})); return ERC1967Factory(cfg.erc1967Factory) .deployAndCall({ implementation: bridgeValidatorImpl, admin: cfg.initialOwner, data: abi.encodeCall( BridgeValidator.initialize, (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold) ) }); } function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator) private returns (address) { Bridge bridgeImpl = new Bridge({ remoteBridge: cfg.remoteBridge, twinBeacon: twinBeacon, crossChainErc20Factory: crossChainErc20Factory, bridgeValidator: bridgeValidator }); return ERC1967Factory(cfg.erc1967Factory) .deployDeterministicAndCall({ implementation: address(bridgeImpl), admin: cfg.initialOwner, salt: _salt(), data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians)) }); } function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) { address relayerOrchestratorImpl = address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator})); return ERC1967Factory(cfg.erc1967Factory) .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "addresses.json", valueKey: string.concat(".", key) }); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) { return vm.parseJsonAddressArray({json: cfgData, key: string.concat(".", key)}); } function _readUintFromConfig(string memory key) private view returns (uint256) { return vm.parseJsonUint({json: cfgData, key: string.concat(".", key)}); } function _readBytes32FromConfig(string memory key) private view returns (bytes32) { return vm.parseJsonBytes32({json: cfgData, key: string.concat(".", key)}); } /// @dev Appends `msg.sender` to the front of the salt to satisfy a requirement /// of the `ERC1967Factory.deployDeterministicAndCall()` method. function _salt() private view returns (bytes32) { bytes12 s = bytes12(keccak256(abi.encode(cfg.salt))); return bytes32(abi.encodePacked(msg.sender, s)); } } ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deps deps: forge install --no-git github.com/base/bridge@24b6bcaec94eac34524bcd0774dd6ec14dc3bf21 .PHONY: deploy deploy: forge script DeployBridge --rpc-url $(L2_RPC_URL) \ --sender $(shell cast wallet address --account testnet-admin) \ --account testnet-admin --broadcast -vvvv ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/README.md ================================================ # Base Bridge Deployment Status: EXECUTED Deploys the Base side of [Base Bridge](https://github.com/base/bridge). This should be done after deploying the Solana bridge program since the program's pubkey needs to be added to `config.json`. ## Deployment Steps 1. Install dependencies ```bash cd sepolia/2025-10-17-base-bridge-deployment make deps ``` 2. Connect and unlock Ledger 3. Deploy bridge ```bash make deploy ``` ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/addresses.json ================================================ { "Bridge": "0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B", "BridgeValidator": "0x863Bed3E344035253CC44C75612Ad5fDF5904aEE", "CrossChainERC20Factory": "0x488EB7F7cb2568e31595D48cb26F63963Cc7565D", "Twin": "0x11bF22cFf007C46C725Dc59A919383326E3cdefB", "RelayerOrchestrator": "0x1e0842b2E6FA06A59b05a9c1d36a6480730012CE", "WrappedSol": "0xCace0c896714DaF7098FFD8CC54aFCFe0338b4BC" } ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/config.json ================================================ { "salt": "0x90c21999d061600a9c6553e1e6feddb6c90ba96a617a140fe81e8195be404b6e", "initialOwner": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "partnerValidators": "0x0000000000000000000000000000000000000001", "baseValidators": [ "0x2880a6DcC8c87dD2874bCBB9ad7E627a407Cf3C2", "0xc5fe09f194C01e56fB89cC1155daE033D20cDCc7" ], "baseSignatureThreshold": 2, "partnerValidatorThreshold": 0, "remoteBridge": "0x6223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f", "guardians": ["0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f"] } ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/records/DeployBridge.s.sol/84532/run-1761256132305.json ================================================ { "transactions": [ { "hash": "0x5077e35ff20eed7e8ce8d54cf71b6e341c554fbaad469cc5c0b41c85c6ccec98", "transactionType": "CREATE", "contractName": "Twin", "contractAddress": "0x66586d1297008c11006e11ae3b7cc2544db56bad", "function": null, "arguments": [ "0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x8c894", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b506040516107b03803806107b0833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516107076100a95f395f81816068015260cb01526107075ff3fe60806040526004361061002b575f3560e01c806360ed1d2814610036578063ee9a31a214610057575f5ffd5b3661003257005b5f5ffd5b348015610041575f5ffd5b50610055610050366004610389565b6100b3565b005b348015610062575f5ffd5b5061008a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806100f657503330145b61012c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013d61013882610527565b610140565b50565b5f81516003811115610154576101546105bc565b0361022c575f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683604001516fffffffffffffffffffffffffffffffff16846060015160405161019f91906105e9565b5f6040518083038185875af1925050503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b606091505b5091509150818190610226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021d91906105ff565b60405180910390fd5b50505050565b600181516003811115610241576102416105bc565b036102fb5760408101516fffffffffffffffffffffffffffffffff1615610294576040517f81c2388100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f826020015173ffffffffffffffffffffffffffffffffffffffff1683606001516040516102c391906105e9565b5f60405180830381855af49150503d805f81146101d9576040519150601f19603f3d011682016040523d82523d5f602084013e6101de565b600281516003811115610310576103106105bc565b03610330576040810151606082015180516020820183f080610226575f5ffd5b600381516003811115610345576103456105bc565b0361013d575f816040015190505f5f836060015180602001905181019061036c9190610652565b915091508181516020830185f580610382575f5ffd5b5050505050565b5f60208284031215610399575f5ffd5b813567ffffffffffffffff8111156103af575f5ffd5b8201608081850312156103c0575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715610417576104176103c7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610464576104646103c7565b604052919050565b80356fffffffffffffffffffffffffffffffff8116811461048b575f5ffd5b919050565b5f67ffffffffffffffff8211156104a9576104a96103c7565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126104e4575f5ffd5b81356104f76104f282610490565b61041d565b81815284602083860101111561050b575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60808236031215610537575f5ffd5b61053f6103f4565b82356004811061054d575f5ffd5b8152602083013573ffffffffffffffffffffffffffffffffffffffff81168114610575575f5ffd5b60208201526105866040840161046c565b6040820152606083013567ffffffffffffffff8111156105a4575f5ffd5b6105b0368286016104d5565b60608301525092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f5f60408385031215610663575f5ffd5b82519150602083015167ffffffffffffffff811115610680575f5ffd5b8301601f81018513610690575f5ffd5b805161069e6104f282610490565b8181528660208385010111156106b2575f5ffd5b8160208401602083015e5f60208383010152809350505050925092905056fea2646970667358221220ecd62574def5cbde1a390b3a28be1417f09ed9db0a349a4078ffc3cc5c7bd2aa64736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b", "nonce": "0x5ba", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb", "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0x11bf22cff007c46c725dc59a919383326e3cdefb", "function": null, "arguments": [ "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x66586D1297008C11006E11AE3b7CC2544db56bad" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x4c1a0", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000066586d1297008c11006e11ae3b7cc2544db56bad", "nonce": "0x5bb", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9", "transactionType": "CREATE", "contractName": "CrossChainERC20", "contractAddress": "0x36ce7eae58186e092e5ce44f7fcb4c926768bc32", "function": null, "arguments": [ "0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x1461c7", "value": "0x0", "input": "0x60a060405234801561000f575f5ffd5b5060405161125038038061125083398101604081905261002e916100d5565b6001600160a01b0381166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660805261006a610070565b50610102565b63409feecd198054600181161561008e5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100d0578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f602082840312156100e5575f5ffd5b81516001600160a01b03811681146100fb575f5ffd5b9392505050565b6080516111286101285f395f818161028c01528181610535015261076e01526111285ff3fe608060405234801561000f575f5ffd5b5060043610610115575f3560e01c80637ecebe00116100ad578063a9059cbb1161007d578063d6c0b2c411610063578063d6c0b2c414610257578063dd62ed3e1461025f578063e78cea9214610272575f5ffd5b8063a9059cbb14610231578063d505accf14610244575f5ffd5b80637ecebe00146101de578063828b417b1461020357806395d89b41146102165780639dc29fac1461021e575f5ffd5b8063313ce567116100e8578063313ce567146101875780633644e5151461019c57806340c10f19146101a457806370a08231146101b9575f5ffd5b806306fdde0314610119578063095ea7b31461013757806318160ddd1461015a57806323b872dd14610174575b5f5ffd5b6101216102b6565b60405161012e9190610c2f565b60405180910390f35b61014a610145366004610caa565b610345565b604051901515815260200161012e565b6805345cdf77eb68f44c545b60405190815260200161012e565b61014a610182366004610cd2565b6103d2565b60035460405160ff909116815260200161012e565b6101666104a1565b6101b76101b2366004610caa565b61051d565b005b6101666101c7366004610d0c565b6387a211a2600c9081525f91909152602090205490565b6101666101ec366004610d0c565b6338377508600c9081525f91909152602090205490565b6101b7610211366004610e31565b610637565b610121610747565b6101b761022c366004610caa565b610756565b61014a61023f366004610caa565b610864565b6101b7610252366004610eaf565b6108db565b600254610166565b61016661026d366004610f15565b610aad565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016815260200161012e565b60605f80546102c490610f46565b80601f01602080910402602001604051908101604052809291908181526020018280546102f090610f46565b801561033b5780601f106103125761010080835404028352916020019161033b565b820191905f5260205f20905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff83166e22d473030f116ddee9f6b43ac78ba3188219151761038357633f68539a5f526004601cfd5b82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f8360601b6e22d473030f116ddee9f6b43ac78ba333146104275733602052637f5e9f208117600c526034600c208054801915610424578085111561041e576313be252b5f526004601cfd5b84810382555b50505b6387a211a28117600c526020600c2080548085111561044d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b5f806104ab6102b6565b805190602001209050604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815260208101929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69082015246606082015230608082015260a09020919050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461058c576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166105d9576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105e38282610b32565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161062b91815260200190565b60405180910390a25050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156106885760018160011c14303b1061067f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50846106c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002859055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff84161790555f6106fd8582610fdb565b50600161070a8482610fdb565b508015610740576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b6060600180546102c490610f46565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146107c5576040517fed7a257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610812576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081c8282610bae565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161062b91815260200190565b5f6387a211a2600c52335f526020600c2080548084111561088c5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff86166e22d473030f116ddee9f6b43ac78ba3188519151761091857633f68539a5f526004601cfd5b5f6109216102b6565b8051906020012090507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64286101561096057631a15a3cc5f526004601cfd5b6040518960601b60601c99508860601b60601c985065383775081901600e52895f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835284602084015283604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528b60208401528a60408401528960608401528060808401528860a084015260c08320604e526042602c205f528760ff16602052866040528560605260208060805f60015afa8c3d5114610a485763ddafbaef5f526004601cfd5b019055777f5e9f20000000000000000000000000000000000000000089176040526034602c20889055888a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f60605250505050505050565b5f7fffffffffffffffffffffffffffffffffffdd2b8cfcf0ee922116094bc538745d73ffffffffffffffffffffffffffffffffffffffff831601610b1257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103cc565b50602052637f5e9f20600c9081525f91909152603490205490565b505050565b6805345cdf77eb68f44c5481810181811015610b555763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52815f526020600c20805480831115610bd55763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f81815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ca5575f5ffd5b919050565b5f5f60408385031215610cbb575f5ffd5b610cc483610c82565b946020939093013593505050565b5f5f5f60608486031215610ce4575f5ffd5b610ced84610c82565b9250610cfb60208501610c82565b929592945050506040919091013590565b5f60208284031215610d1c575f5ffd5b610d2582610c82565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610d68575f5ffd5b813567ffffffffffffffff811115610d8257610d82610d2c565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610dee57610dee610d2c565b604052818152838201602001851015610e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff81168114610ca5575f5ffd5b5f5f5f5f60808587031215610e44575f5ffd5b84359350602085013567ffffffffffffffff811115610e61575f5ffd5b610e6d87828801610d59565b935050604085013567ffffffffffffffff811115610e89575f5ffd5b610e9587828801610d59565b925050610ea460608601610e21565b905092959194509250565b5f5f5f5f5f5f5f60e0888a031215610ec5575f5ffd5b610ece88610c82565b9650610edc60208901610c82565b95506040880135945060608801359350610ef860808901610e21565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610f26575f5ffd5b610f2f83610c82565b9150610f3d60208401610c82565b90509250929050565b600181811c90821680610f5a57607f821691505b602082108103610f91577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610b2d57805f5260205f20601f840160051c81016020851015610fbc5750805b601f840160051c820191505b81811015610740575f8155600101610fc8565b815167ffffffffffffffff811115610ff557610ff5610d2c565b611009816110038454610f46565b84610f97565b6020601f82116001811461105a575f83156110245750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455610740565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156110a75787850151825560209485019460019092019101611087565b50848210156110e357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d2fb81c45e4c919f9f3d7fde2b3f5c7f2cc036de5b08b7b5d1c212ba5571b71564736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b", "nonce": "0x5bc", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0", "transactionType": "CREATE", "contractName": "UpgradeableBeacon", "contractAddress": "0xc039781ccb3cb281f69f8509bfb17163993dd6d1", "function": null, "arguments": [ "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x36ce7eAe58186e092E5ce44f7FCB4c926768bC32" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x4c1bf", "value": "0x0", "input": "0x60806040526040516103a53803806103a583398101604081905261002291610108565b61002c8282610033565b5050610139565b61003d8282610041565b5050565b61004a82610053565b61003d8161009d565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b6001600160a01b0316803b6100b957636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b80516001600160a01b0381168114610103575f5ffd5b919050565b5f5f60408385031215610119575f5ffd5b610122836100ed565b9150610130602084016100ed565b90509250929050565b61025f806101465f395ff3fe608060405234801561000f575f5ffd5b5060043610610064575f3560e01c8063715018a61161004d578063715018a6146100b25780638da5cb5b146100ba578063f2fde38b146100ca575f5ffd5b80633659cfe6146100685780635c60da1b1461007d575b5f5ffd5b61007b6100763660046101ef565b6100dd565b005b68911c5a209f08d5ec5e545b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007b6100f1565b684343a0dc92ed22dbfc54610089565b61007b6100d83660046101ef565b610104565b6100e561012a565b6100ee81610148565b50565b6100f961012a565b6101025f6101a5565b565b61010c61012a565b8060601b61012157637448fbae5f526004601cfd5b6100ee816101a5565b684343a0dc92ed22dbfc543314610102576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16803b61017157636d3e283b5f526004601cfd5b8068911c5a209f08d5ec5e55807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a250565b8060601b60601c9050684343a0dc92ed22dbfc5481684343a0dc92ed22dbfc5581817f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f38a35050565b5f602082840312156101ff575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610222575f5ffd5b939250505056fea26469706673582212204df276d825fed74b1d1cec9e8d4151a0fbdbbd97bd93bd6a5c4550f78c5b368a64736f6c634300081c00330000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000036ce7eae58186e092e5ce44f7fcb4c926768bc32", "nonce": "0x5bd", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x9f883cb5add5e4359a90759a9af90609af1f6594cd7045119ea7913565a88ed0", "transactionType": "CREATE", "contractName": "CrossChainERC20Factory", "contractAddress": "0xa97abd07320801d8bf083e192da44d4405bbc0a0", "function": null, "arguments": [ "0xc039781CCb3cb281F69f8509BfB17163993Dd6D1" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x86c84", "value": "0x0", "input": "0x60a0604052348015600e575f5ffd5b5060405161075f38038061075f833981016040819052602b916061565b6001600160a01b03811660515760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0316608052608c565b5f602082840312156070575f5ffd5b81516001600160a01b03811681146085575f5ffd5b9392505050565b6080516106b56100aa5f395f818160c2015261023001526106b55ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806323c3601f1461004e57806334476ab11461008b57806349493a4d146100bd578063ad831c1a146100e4575b5f5ffd5b61006161005c36600461053c565b6100ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100ad6100993660046105c1565b5f6020819052908152604090205460ff1681565b6040519015158152602001610082565b6100617f000000000000000000000000000000000000000000000000000000000000000081565b61006161015b565b5f7ff96418d547c92b1533fdada48caf5875c6a25d0edac5bf1450299d00000000008501610146576040517f2d70578000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610152858585856101fa565b95945050505050565b5f6101f57f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd66300000000005f1b6040518060400160405280600681526020017f536f6c616e6100000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f534f4c000000000000000000000000000000000000000000000000000000000081525060096101fa565b905090565b5f5f858585856040516020016102139493929190610640565b6040516020818303038152906040528051906020012090506102557f000000000000000000000000000000000000000000000000000000000000000082610369565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f828b417b0000000000000000000000000000000000000000000000000000000081529193509063828b417b906102e6908990899089908990600401610640565b5f604051808303815f87803b1580156102fd575f5ffd5b505af115801561030f573d5f5f3e3d5ffd5b505060405133815288925073ffffffffffffffffffffffffffffffffffffffff851691507f0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d287839060200160405180910390a350949350505050565b5f6103755f848461037c565b9392505050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816104395763301164255f526004601cfd5b6040525f6060529392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f82601f830112610483575f5ffd5b813567ffffffffffffffff81111561049d5761049d610447565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff8211171561050957610509610447565b604052818152838201602001851015610520575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f6080858703121561054f575f5ffd5b84359350602085013567ffffffffffffffff81111561056c575f5ffd5b61057887828801610474565b935050604085013567ffffffffffffffff811115610594575f5ffd5b6105a087828801610474565b925050606085013560ff811681146105b6575f5ffd5b939692955090935050565b5f602082840312156105d1575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610375575f5ffd5b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b848152608060208201525f61065860808301866105f4565b828103604084015261066a81866105f4565b91505060ff831660608301529594505050505056fea2646970667358221220f8580010539103fca1b4f359cdfb177f98b25738d0d577d2e4708865a69c7ac464736f6c634300081c0033000000000000000000000000c039781ccb3cb281f69f8509bfb17163993dd6d1", "nonce": "0x5be", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0xa97AbD07320801D8bf083E192dA44D4405Bbc0A0", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c61000000000000000000000000a97abd07320801d8bf083e192da44d4405bbc0a00000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5bf", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x488eb7f7cb2568e31595d48cb26f63963cc7565d", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61", "transactionType": "CREATE", "contractName": "BridgeValidator", "contractAddress": "0x57c612cdc685ffaa0b970bac784ff1860fcb0541", "function": null, "arguments": [ "0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B", "0x0000000000000000000000000000000000000001" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x183053", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea26469706673582212207ceedf727f1bd1281cce70297cdcafc481f8bd32b5e97692e0d9bf67e23bb29b64736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x5c0", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployAndCall(address,address,bytes)", "arguments": [ "0x57c612Cdc685FfAA0b970bAc784Ff1860fCb0541", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002880a6dcc8c87dd2874bcbb9ad7e627a407cf3c2000000000000000000000000c5fe09f194c01e56fb89cc1155dae033d20cdcc7" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4bb34", "value": "0x0", "input": "0x4314f12000000000000000000000000057c612cdc685ffaa0b970bac784ff1860fcb05410000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002880a6dcc8c87dd2874bcbb9ad7e627a407cf3c2000000000000000000000000c5fe09f194c01e56fb89cc1155dae033d20cdcc700000000000000000000000000000000000000000000000000000000", "nonce": "0x5c1", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x863bed3e344035253cc44c75612ad5fdf5904aee", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d", "transactionType": "CREATE", "contractName": "Bridge", "contractAddress": "0x4e8a5cce3078164ba75982d74d322fbc9b4de648", "function": null, "arguments": [ "0x6223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f", "0x11bF22cFf007C46C725Dc59A919383326E3cdefB", "0x488EB7F7cb2568e31595D48cb26F63963Cc7565D", "0x863Bed3E344035253CC44C75612Ad5fDF5904aEE" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x5355eb", "value": "0x0", "input": "0x610100604052348015610010575f5ffd5b50604051614cc2380380614cc283398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ac16102015f395f81816105ae0152611fa701525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ac15ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a05565b6107d9565b005b61024c61025c366004613a20565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a20565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a58565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a58565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613a82565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a58565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a58565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c1b565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c6b565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a20565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613ca2565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613ce1565b610b62565b348015610589575f5ffd5b5061024c610598366004613c6b565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d19565b61105a565b6040516102c39190613d32565b34801561063a575f5ffd5b5061024c610649366004613ca2565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613a82565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a20565b5f6020819052908152604090205460ff1681565b61024c610717366004613a82565b61117b565b348015610727575f5ffd5b506102a2610736366004613a20565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a58565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613a82565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e21565b611c14565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611dbd565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611ebe565b610a7b6111fc565b610a845f611eec565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f68565b9050602002810190610b1d9190613f95565b611f51565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a846121a3565b5f5b82811015610cc2575f848483818110610c2757610c27613f68565b9050602002016020810190610c3c9190613a82565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f68565b9050602002016020810190610cb39190613a82565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d05612206565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613fd1565b810190610d4b91906140c7565b90505f5f5f8360600151806020019051810190610d6891906140f9565b925092509250610d7983838361223f565b5050505050565b6001610d9260a0830160808401614179565b6002811115610da357610da361413e565b03610def575f610db660a0830183613fd1565b810190610dc39190614192565b9050610869817f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f00000000000000000000000000000000000000000000000000000000000000008360400135612734565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a0840160808501614179565b6002811115610ebc57610ebc61413e565b03610f63575f610ecf60a0840184613fd1565b810190610edc91906140c7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f319084906004016141f8565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a0840160808501614179565b6002811115610f8657610f8661413e565b03610869575f80610f9a60a0850185613fd1565b810190610fa7919061426a565b91509150610fd5827f00000000000000000000000000000000000000000000000000000000000000006122a7565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d28906110279084906004016141f8565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b606061088582612747565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e21565b612a61565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611dbd565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611eec565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611eec565b5f6108857f00000000000000000000000000000000000000000000000000000000000000008330612a94565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612b57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612b57565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f68565b90506020028101906112f591906142b6565b6113039060208101906142e8565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f68565b905060200281019061136391906142b6565b6113719060208101906142e8565b90508110156115a057365f8a8a8581811061138e5761138e613f68565b90506020028101906113a091906142b6565b6113ae9060208101906142e8565b848181106113be576113be613f68565b90506020028101906113d09190613fd1565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f68565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f68565b60209081029190910101526001909801975b5f84846114c160016022614379565b60ff168181106114d3576114d3613f68565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f68565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f68565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161176957845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd9190614392565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855173ffffffffffffffffffffffffffffffffffffffff165f90815260208481526040808320828a01518452909152812080546002965084929061175d9084906143a9565b90915550611ba4915050565b34156117a1576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa15801561180e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061183291906143bc565b156119cd575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611884573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a891906143d7565b602087015190915015806118bf5750602086015181145b6118f5576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b15801561197b575f5ffd5b505af115801561198d573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000146119c35760016119c5565b5f5b935050611ba4565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a3d576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a589190614392565b90505f611a68885f015130612bae565b9050611a79885f0151333085612be1565b5f611a87895f015130612bae565b90505f611a9483836143ee565b90505f611aa18683614401565b90505f8111611adc576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ae68682614392565b96505f611af388846143ee565b90508015611b08578b51611b08903383612c43565b611b1182612c96565b8c6060019067ffffffffffffffff16908167ffffffffffffffff168152505087895f015f8e5f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8e6020015181526020019081526020015f205f828254611b9391906143a9565b9091555060029a5050505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611c6657611c6661413e565b03611cb257805f8660400151611c89886060015167ffffffffffffffff16612cb3565b604051602001611c9c9493929190614450565b6040516020818303038152906040529050611d6b565b6001846002811115611cc657611cc661413e565b03611d0857806001865f015187602001518860400151611cf38a6060015167ffffffffffffffff16612cb3565b604051602001611c9c969594939291906144c1565b6002846002811115611d1c57611d1c61413e565b03611d6b5780600286602001518760400151611d45896060015167ffffffffffffffff16612cb3565b604051602001611d59959493929190614564565b60405160208183030381529060405290505b80611d7584612d21565b604051602001611d869291906145da565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611e2282612df8565b83549091505f90611e3e90839067ffffffffffffffff16612e36565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611eae9087906145ee565b60405180910390a3505050505050565b5f610885611ed26040840160208501613d19565b67ffffffffffffffff168335611ee785612eef565b612f25565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611f5b82610a69565b5f8181526020819052604090205490915060ff1615611f78575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015612001573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061202591906143bc565b61205b576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d3256120716080850160608601613d19565b67ffffffffffffffff16846040518363ffffffff1660e01b81526004016120989190614697565b5f604051808303815f88803b1580156120af575f5ffd5b5087f1935050505080156120c1575060015b61212c575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830061226b82600a614896565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff1111111111111111111111111111111111111112016123f857845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612382576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661239c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906123e29084906143ee565b909155506123f290508383612f48565b506126c6565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa158015612465573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248991906143bc565b156125e2575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124ff91906143d7565b905061250e8187602001511490565b612544576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b1580156125c6575f5ffd5b505af11580156125d8573d5f5f3e3d5ffd5b50505050506126c6565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600184016020908152604080832082890151845290915281205490819003612652576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661266c9190614392565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b015184529091528120805492945084929091906126b29084906143ee565b909155505085516126c4908484612c43565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6127405f8484612f61565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f036127b0576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff908116908416106127f8576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f6128058761302c565b93509350935093505f8367ffffffffffffffff81111561282757612827613a9d565b604051908082528060200260200182016040528015612850578160200160208202803683370190505b509050845f5b8581101561295257600167ffffffffffffffff8616821c8116145f8082156128a5576128838560016143a9565b90506128908460016143a9565b61289e906001901b826143ee565b91506128ce565b6128b08460016143a9565b6128be906001901b866143a9565b90506128cb6001826143ee565b91505b60028b0154821061290b576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061292057612920613f68565b905f5260205f20015486858151811061293b5761293b613f68565b602090810291909101015293505050600101612856565b508251825161296191906143a9565b67ffffffffffffffff81111561297957612979613a9d565b6040519080825280602002602001820160405280156129a2578160200160208202803683370190505b5097505f805b83518110156129fc578381815181106129c3576129c3613f68565b60200260200101518a83806129d7906148a4565b9450815181106129e9576129e9613f68565b60209081029190910101526001016129a8565b505f5b8451811015612a5357848181518110612a1a57612a1a613f68565b60200260200101518a8380612a2e906148a4565b945081518110612a4057612a40613f68565b60209081029190910101526001016129ff565b505050505050505050919050565b60605f612a6d83612d21565b604051602001612a7e9291906148db565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612b4e818585613053565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612b78575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c3557803d873b151710612c3557637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612c8c57803d853b151710612c8c576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612caf57612caf613072565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d2e835161307f565b604051602001612d69919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612df15781612da8858381518110612d9b57612d9b613f68565b60200260200101516130ea565b604051602001612db99291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612d7c565b5092915050565b5f815f015182602001518360400151604051602001612e1993929190614911565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ebc916143ee565b9050612ec88185613230565b5f612edc612ed7866001614972565b613305565b6001909301839055509091505092915050565b5f6040820135612f0560a0840160808501614179565b612f1260a0850185613fd1565b604051602001612e199493929190614992565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f591508161301e5763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061303a856133cc565b9195509350915061304a85613556565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d19565b60605f825f015160405160200161310391815260200190565b60405160208183030381529060405290508061312384602001515161307f565b6040516020016131349291906149c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131db57818460200151828151811061318a5761318a613f68565b60200260200101516040516020016131a39291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101613166565b50806131ea84604001516136e9565b6040516020016131fb9291906145da565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f6132758383613707565b90505f84600201828154811061328d5761328d613f68565b905f5260205f20015490505f8560020185815481106132ae576132ae613f68565b905f5260205f20015490505f6132c4838361371e565b600288018054600181810183555f8381526020902090910183905590549192506132ed916143ee565b9550846132f9816148a4565b95505050505050613254565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361335b57505f9392505050565b5f6133658561374c565b905080515f0361337957505f949350505050565b80516001036133c35782600201815f8151811061339857613398613f68565b6020026020010151815481106133b0576133b0613f68565b905f5260205f2001549350505050919050565b612b4e81613849565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f908190819061340f9067ffffffffffffffff1661390d565b90505f61341d8260016143a9565b90505b801561351c575f6134326001836143ee565b865490915067ffffffffffffffff16811c60019081169003613509576001811b67ffffffffffffffff808616908c161080159061348b57506134748186614972565b67ffffffffffffffff168b67ffffffffffffffff16105b156134e6575f61349b868d614a01565b90505f6134a782613970565b6134bc67ffffffffffffffff84166002614392565b6134c691906143ee565b90506134d281896143a9565b9b50929950975061354f9650505050505050565b6134ef826139a8565b6134f990876143a9565b95506135058186614972565b9450505b508061351481614a21565b915050613420565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135b99067ffffffffffffffff1661390d565b90505f6135c78260016143a9565b90505b80156136db575f6135dc6001836143ee565b885490915067ffffffffffffffff16811c600190811690036136c8576001811b5f67ffffffffffffffff808716908d1610801590613636575061361f8287614972565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613642846139a8565b9050816136ac575f6001613656838b6143a9565b61366091906143ee565b90508b600201818154811061367757613677613f68565b905f5260205f2001548b8b8061368c906148a4565b9c508151811061369e5761369e613f68565b602002602001018181525050505b6136b681896143a9565b97506136c28388614972565b96505050505b50806136d381614a21565b9150506135ca565b505050908252509392505050565b60606136f5825161307f565b82604051602001612a7e929190614a55565b5f5f613712836139a8565b9050612f4081856143ee565b5f8183101561373a57505f828152602082905260409020610885565b5f828152602084905260409020612740565b60608167ffffffffffffffff165f0361377457604080515f8082526020820190925290612df1565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137a18661390d565b90505f6137af8260016143a9565b90505b801561383e575f6137c46001836143ee565b9050600167ffffffffffffffff8916821c81160361382b575f6137e785836139c3565b9050808787815181106137fc576137fc613f68565b602090810291909101015285613811816148a4565b96505061381d826139a8565b61382790866143a9565b9450505b508061383681614a21565b9150506137b2565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f8151811061388557613885613f68565b60200260200101518154811061389d5761389d613f68565b5f91825260209091200154905060015b8451811015613905575f836002018683815181106138cd576138cd613f68565b6020026020010151815481106138e5576138e5613f68565b905f5260205f20015490506138fa83826139e6565b9250506001016138ad565b509392505050565b5f8167ffffffffffffffff165f0361392657505f919050565b5f825b67ffffffffffffffff8116156139585781613943816148a4565b92505060011c677fffffffffffffff16613929565b5f8211613965575f612f40565b612f406001836143ee565b5f805b67ffffffffffffffff8316156108855761399060018416826143a9565b905060018367ffffffffffffffff16901c9250613973565b5f60016139b583826143a9565b6001901b61088591906143ee565b5f5f6139ce836139a8565b905060016139dc82866143a9565b612f4091906143ee565b5f828152602082905260408120612740565b8015158114610854575f5ffd5b5f60208284031215613a15575f5ffd5b8135612740816139f8565b5f60208284031215613a30575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a69575f5ffd5b8235613a7481613a37565b946020939093013593505050565b5f60208284031215613a92575f5ffd5b813561274081613a37565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613aed57613aed613a9d565b60405290565b6040516060810167ffffffffffffffff81118282101715613aed57613aed613a9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b5d57613b5d613a9d565b604052919050565b803567ffffffffffffffff81168114613b7c575f5ffd5b919050565b5f60808284031215613b91575f5ffd5b613b99613aca565b90508135613ba681613a37565b81526020828101359082015260408083013590820152613bc860608301613b65565b606082015292915050565b5f5f83601f840112613be3575f5ffd5b50813567ffffffffffffffff811115613bfa575f5ffd5b6020830191508360208260051b8501011115613c14575f5ffd5b9250929050565b5f5f5f60a08486031215613c2d575f5ffd5b613c378585613b81565b9250608084013567ffffffffffffffff811115613c52575f5ffd5b613c5e86828701613bd3565b9497909650939450505050565b5f60208284031215613c7b575f5ffd5b813567ffffffffffffffff811115613c91575f5ffd5b820160c08185031215612740575f5ffd5b5f5f60208385031215613cb3575f5ffd5b823567ffffffffffffffff811115613cc9575f5ffd5b613cd585828601613bd3565b90969095509350505050565b5f5f5f60408486031215613cf3575f5ffd5b8335613cfe81613a37565b9250602084013567ffffffffffffffff811115613c52575f5ffd5b5f60208284031215613d29575f5ffd5b61274082613b65565b602080825282518282018190525f918401906040840190835b81811015613d69578351835260209384019390920191600101613d4b565b509095945050505050565b5f67ffffffffffffffff821115613d8d57613d8d613a9d565b5060051b60200190565b5f82601f830112613da6575f5ffd5b813567ffffffffffffffff811115613dc057613dc0613a9d565b613df160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b16565b818152846020838601011115613e05575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e33613e2e84613d74565b613b16565b8381526020810190600585901b840136811115613e4e575f5ffd5b845b81811015613d6957803567ffffffffffffffff811115613e6e575f5ffd5b86016060368290031215613e80575f5ffd5b613e88613af3565b81358152602082013567ffffffffffffffff811115613ea5575f5ffd5b820136601f820112613eb5575f5ffd5b8035613ec3613e2e82613d74565b8082825260208201915060208360051b850101925036831115613ee4575f5ffd5b602084015b83811015613f2557803567ffffffffffffffff811115613f07575f5ffd5b613f1636602083890101613d97565b84525060209283019201613ee9565b506020850152505050604082013567ffffffffffffffff811115613f47575f5ffd5b613f5336828501613d97565b60408301525085525060209384019301613e50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613fc7575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614004575f5ffd5b83018035915067ffffffffffffffff82111561401e575f5ffd5b602001915036819003821315613c14575f5ffd5b5f60808284031215614042575f5ffd5b61404a613aca565b905081356004811061405a575f5ffd5b8152602082013561406a81613a37565b602082015260408201356fffffffffffffffffffffffffffffffff81168114614091575f5ffd5b6040820152606082013567ffffffffffffffff8111156140af575f5ffd5b6140bb84828501613d97565b60608301525092915050565b5f602082840312156140d7575f5ffd5b813567ffffffffffffffff8111156140ed575f5ffd5b612f4084828501614032565b5f5f5f6060848603121561410b575f5ffd5b835161411681613a37565b60208501516040860151919450925060ff81168114614133575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613b7c575f5ffd5b5f60208284031215614189575f5ffd5b6127408261416b565b5f608082840312156141a2575f5ffd5b6127408383613b81565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061420f5761420f61413e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f4060a08401826141ac565b5f5f60a0838503121561427b575f5ffd5b6142858484613b81565b9150608083013567ffffffffffffffff8111156142a0575f5ffd5b6142ac85828601614032565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613fc7575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261431b575f5ffd5b83018035915067ffffffffffffffff821115614335575f5ffd5b6020019150600581901b3603821315613c14575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff82811682821603908111156108855761088561434c565b80820281158282048414176108855761088561434c565b808201808211156108855761088561434c565b5f602082840312156143cc575f5ffd5b8151612740816139f8565b5f602082840312156143e7575f5ffd5b5051919050565b818103818111156108855761088561434c565b5f82614434577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61445b8287614439565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144cc8289614439565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f61456f8288614439565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f406145e88386614439565b84614439565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f4060808401826141ac565b6003811061464c5761464c61413e565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146b9908501613b65565b1660408301525f604084013590508060608401525067ffffffffffffffff6146e360608501613b65565b1660808301526146f56080840161416b565b61470260a084018261463c565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614737575f5ffd5b830160208101903567ffffffffffffffff811115614753575f5ffd5b803603821315614761575f5ffd5b60c080850152612b4e60e085018284614650565b6001815b60018411156147b0578085048111156147945761479461434c565b60018416156147a257908102905b60019390931c928002614779565b935093915050565b5f826147c657506001610885565b816147d257505f610885565b81600181146147e857600281146147f25761480e565b6001915050610885565b60ff8411156148035761480361434c565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614831575081810a610885565b61485c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614775565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561488e5761488e61434c565b029392505050565b5f61274060ff8416836147b8565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148d4576148d461434c565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f406001830184614439565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612b4e601c830184614439565b67ffffffffffffffff81811683821601908111156108855761088561434c565b8481526149a2602082018561463c565b606060408201525f6149b8606083018486614650565b9695505050505050565b5f6149cd8285614439565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff82811682821603908111156108855761088561434c565b5f81614a2f57614a2f61434c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f40600483018461443956fea2646970667358221220290ec9711f7eee3b922fa1ce8886b777131b7c66fc27a832dab589884dac941b64736f6c634300081c00336223fa80b3f80549a9ac4f1deea54e39a74aa8fa8f74a62131460716519d4f8f00000000000000000000000011bf22cff007c46c725dc59a919383326e3cdefb000000000000000000000000488eb7f7cb2568e31595d48cb26f63963cc7565d000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee", "nonce": "0x5c2", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployDeterministicAndCall(address,address,bytes32,bytes)", "arguments": [ "0x4E8A5cce3078164bA75982D74d322Fbc9b4De648", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x8c1a617bdb47342f9c17ac8750e0b070c372c721ddb41d0496437ded0cfd47f7", "0x946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4829d", "value": "0x0", "input": "0xa97b90d50000000000000000000000004e8a5cce3078164ba75982d74d322fbc9b4de6480000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e208908c1a617bdb47342f9c17ac8750e0b070c372c721ddb41d0496437ded0cfd47f700000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000084946d92040000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e2089000000000000000000000000000000000000000000000000000000000", "nonce": "0x5c3", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xddc3a6f439b9501c2817d33e23cfb0de8ffaf831dab02a1f5b42671138fce080", "transactionType": "CREATE", "contractName": "RelayerOrchestrator", "contractAddress": "0x3558163d836af904ead458d7b86aa4a9f88bc181", "function": null, "arguments": [ "0x01824a90d32A69022DdAEcC6C5C14Ed08dB4EB9B", "0x863Bed3E344035253CC44C75612Ad5fDF5904aEE" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x7af17", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea26469706673582212205088542475db6d257ca490934dd9023af311bc0327ac384da1cbf79ff6b873a564736f6c634300081c003300000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee", "nonce": "0x5c4", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0x3558163D836Af904EAd458d7b86Aa4a9f88bc181", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c610000000000000000000000003558163d836af904ead458d7b86aa4a9f88bc1810000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5c5", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x1e0842b2e6fa06a59b05a9c1d36a6480730012ce", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53", "transactionType": "CALL", "contractName": null, "contractAddress": "0x488eb7f7cb2568e31595d48cb26f63963cc7565d", "function": "deploySolWrapper()", "arguments": [], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x488eb7f7cb2568e31595d48cb26f63963cc7565d", "gas": "0x52327", "value": "0x0", "input": "0xad831c1a", "nonce": "0x5c6", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0xcace0c896714daf7098ffd8cc54afcfe0338b4bc", "initCode": "0x60523d8160223d3973c039781ccb3cb281f69f8509bfb17163993dd6d160195155f3363d3d373d3d363d602036600436635c60da1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x22d333", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x5077e35ff20eed7e8ce8d54cf71b6e341c554fbaad469cc5c0b41c85c6ccec98", "transactionIndex": "0x5", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x6c1ad", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x66586d1297008c11006e11ae3b7cc2544db56bad", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x37c", "l1GasPrice": "0x9", "l1GasUsed": "0x442d" }, { "status": "0x1", "cumulativeGasUsed": "0x267bd6", "logs": [ { "address": "0x11bf22cff007c46c725dc59a919383326e3cdefb", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb", "transactionIndex": "0x6", "logIndex": "0x26", "removed": false }, { "address": "0x11bf22cff007c46c725dc59a919383326e3cdefb", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000066586d1297008c11006e11ae3b7cc2544db56bad" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb", "transactionIndex": "0x6", "logIndex": "0x27", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000800000000000000000000002000000000000000000000000000000000000000000000000040000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000040000000000000000000408000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000020000000000000000000000000000000010000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x196d8816c38e862a57e249ba8f238d3f4cc80d5d4598c8e986731555e044b4bb", "transactionIndex": "0x6", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x3a8a3", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x11bf22cff007c46c725dc59a919383326e3cdefb", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x206", "l1GasPrice": "0x9", "l1GasUsed": "0x2794" }, { "status": "0x1", "cumulativeGasUsed": "0x362983", "logs": [ { "address": "0x36ce7eae58186e092e5ce44f7fcb4c926768bc32", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9", "transactionIndex": "0x7", "logIndex": "0x28", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000800000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x174f9be3c6ab04e172dc685d5ae4eeb43a16ddc0843757dc5c69fc42d60b95c9", "transactionIndex": "0x7", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0xfadad", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x36ce7eae58186e092e5ce44f7fcb4c926768bc32", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x823", "l1GasPrice": "0x9", "l1GasUsed": "0x9f18" }, { "status": "0x1", "cumulativeGasUsed": "0x39d23e", "logs": [ { "address": "0xc039781ccb3cb281f69f8509bfb17163993dd6d1", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0", "transactionIndex": "0x8", "logIndex": "0x29", "removed": false }, { "address": "0xc039781ccb3cb281f69f8509bfb17163993dd6d1", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000036ce7eae58186e092e5ce44f7fcb4c926768bc32" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0", "transactionIndex": "0x8", "logIndex": "0x2a", "removed": false } ], "logsBloom": "0x00000000000000000200000000000000400000000000000000800000000000000000000002408000000000000000000000000000000000000000000000000000000000000000000000000000000002000001000000000000000000000000000000000000020000000000400000000800000000000000000000000000000000400000000000000000000000400000000000000000000000000000000000000000000000000000000200000000000000080002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x841c94f576860c46e1bfd8c5b29b2970f9495b48f21bb9b80f87b77754c3fac0", "transactionIndex": "0x8", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x3a8bb", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xc039781ccb3cb281f69f8509bfb17163993dd6d1", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x206", "l1GasPrice": "0x9", "l1GasUsed": "0x2794" }, { "status": "0x1", "cumulativeGasUsed": "0x404d1a", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9f883cb5add5e4359a90759a9af90609af1f6594cd7045119ea7913565a88ed0", "transactionIndex": "0x9", "blockHash": "0x0e42af71f4b402c16952e566a4f15cccae4d8e6b5d05e20ffa949a1693fc351d", "blockNumber": "0x1f3a1f2", "gasUsed": "0x67adc", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xa97abd07320801d8bf083e192da44d4405bbc0a0", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x51", "l1GasPrice": "0x9", "l1GasUsed": "0x484f" }, { "status": "0x1", "cumulativeGasUsed": "0x42365f", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000488eb7f7cb2568e31595d48cb26f63963cc7565d", "0x000000000000000000000000a97abd07320801d8bf083e192da44d4405bbc0a0", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f", "transactionIndex": "0xa", "logIndex": "0x2b", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000100200000000000000000000000000000400000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000040000000400000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3dc221b5371478e11915c2e90bc75eb294986f9af27e475b76e029b4e6aa641f", "transactionIndex": "0xa", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x1e945", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x51", "l1GasPrice": "0x9", "l1GasUsed": "0x640" }, { "status": "0x1", "cumulativeGasUsed": "0x54d1b3", "logs": [ { "address": "0x57c612cdc685ffaa0b970bac784ff1860fcb0541", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61", "transactionIndex": "0xb", "logIndex": "0x2c", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000100000000000000000000000000000800000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa9c540bb9682bbb3ea061804629f066a81e06595fbadd20dc7eaca731d565d61", "transactionIndex": "0xb", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x129b54", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x57c612cdc685ffaa0b970bac784ff1860fcb0541", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x8d4", "l1GasPrice": "0x9", "l1GasUsed": "0xaca3" }, { "status": "0x1", "cumulativeGasUsed": "0x583e97", "logs": [ { "address": "0x863bed3e344035253cc44c75612ad5fdf5904aee", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793", "transactionIndex": "0xc", "logIndex": "0x2d", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000863bed3e344035253cc44c75612ad5fdf5904aee", "0x00000000000000000000000057c612cdc685ffaa0b970bac784ff1860fcb0541", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793", "transactionIndex": "0xc", "logIndex": "0x2e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000010000000000800800000000000000000004400000002000000000000000000000000000000000000000000000000000000000000000000800000000000000004000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000000000000800000000000000000000000080000000000100001010000000000000000000000000000000080000000000000000000000000000000000800000800000000000400000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x835856ca1f90904f93c2f3272ff56c0c94a25f8d3557dbbfe6438421b2e69793", "transactionIndex": "0xc", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x36ce4", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x8f", "l1GasPrice": "0x9", "l1GasUsed": "0xaee" }, { "status": "0x1", "cumulativeGasUsed": "0xa8781e", "logs": [ { "address": "0x4e8a5cce3078164ba75982d74d322fbc9b4de648", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d", "transactionIndex": "0xe", "logIndex": "0x35", "removed": false } ], "logsBloom": "0x00000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000800000000000000000000000080000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd62955f7eab7a132c3d189f337f2edaa8100d574e2feccdbab471c2f676b8c6d", "transactionIndex": "0xe", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x401ab5", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x4e8a5cce3078164ba75982d74d322fbc9b4de648", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x1d1f", "l1GasPrice": "0x9", "l1GasUsed": "0x23958" }, { "status": "0x1", "cumulativeGasUsed": "0xab8d99", "logs": [ { "address": "0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionIndex": "0xf", "logIndex": "0x36", "removed": false }, { "address": "0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b", "topics": [ "0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionIndex": "0xf", "logIndex": "0x37", "removed": false }, { "address": "0x01824a90d32a69022ddaecc6c5c14ed08db4eb9b", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionIndex": "0xf", "logIndex": "0x38", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b", "0x0000000000000000000000004e8a5cce3078164ba75982d74d322fbc9b4de648", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionIndex": "0xf", "logIndex": "0x39", "removed": false } ], "logsBloom": "0x00000000000000000000000200000000000000000000800000800000000000000400000002004000000000000000000000000000000000000000000000040000000000000000000000000000000000000001000000040000000000000000000000000000020000000000400000000800200000000000000000000000000000400000800000000000000800000000000000000000040080001000000000000000000000000000000000001000000000080000000000090000000010000000400000802000400000000000400000000000000000000004000000000000000060000000000000000000000000000001000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc6ac9f62efdfe2184ff96003ac2380581729456e19592ad922bf74f8e33c25ef", "transactionIndex": "0xf", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x3157b", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x88", "l1GasPrice": "0x9", "l1GasUsed": "0xa76" }, { "status": "0x1", "cumulativeGasUsed": "0xb176bf", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xddc3a6f439b9501c2817d33e23cfb0de8ffaf831dab02a1f5b42671138fce080", "transactionIndex": "0x10", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x5e926", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x3558163d836af904ead458d7b86aa4a9f88bc181", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x345", "l1GasPrice": "0x9", "l1GasUsed": "0x3ff1" }, { "status": "0x1", "cumulativeGasUsed": "0xb36004", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x0000000000000000000000001e0842b2e6fa06a59b05a9c1d36a6480730012ce", "0x0000000000000000000000003558163d836af904ead458d7b86aa4a9f88bc181", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8", "transactionIndex": "0x11", "logIndex": "0x3a", "removed": false } ], "logsBloom": "0x00000010000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000400000000020000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000400000000000200000004000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000020400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf96925c95d32bbd7bcd7c6d00c63553a7bb5e58c04daccf29762feb00d660fa8", "transactionIndex": "0x11", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x1e945", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x51", "l1GasPrice": "0x9", "l1GasUsed": "0x640" }, { "status": "0x1", "cumulativeGasUsed": "0xb7182a", "logs": [ { "address": "0xcace0c896714daf7098ffd8cc54afcfe0338b4bc", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53", "transactionIndex": "0x12", "logIndex": "0x3b", "removed": false }, { "address": "0x488eb7f7cb2568e31595d48cb26f63963cc7565d", "topics": [ "0x0b84965add45c4d10c5aacc22714edc5f88def8df83d2c1f9d18b45ef2d28783", "0x000000000000000000000000cace0c896714daf7098ffd8cc54afcfe0338b4bc", "0x069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd6630000000000" ], "data": "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "blockTimestamp": "0x68faa2c4", "transactionHash": "0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53", "transactionIndex": "0x12", "logIndex": "0x3c", "removed": false } ], "logsBloom": "0x00000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000100000000001020000000000000000000020000000000000000001000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000100800000000000000080000000080000000000000000000000000000000000000000000000000000000000000000000001000000000000002000000000000000000000000000000000000000104000000000000000000000000000000000000000000000000000000000800000000000000000000000000", "type": "0x2", "transactionHash": "0xee0a34d46c735edd0b1265c2db610f7aa817cabbf558864ed355a1aba3ed0a53", "transactionIndex": "0x12", "blockHash": "0x46ebe524d30b6e43d84f162fe8be46d6374c01984bab74d0cca44070330b06f4", "blockNumber": "0x1f3a1f2", "gasUsed": "0x3b826", "effectiveGasPrice": "0xf427a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x488eb7f7cb2568e31595d48cb26f63963cc7565d", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x51", "l1GasPrice": "0x9", "l1GasUsed": "0x640" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761256132305, "chain": 84532, "commit": "7062242" } ================================================ FILE: sepolia/2025-10-17-base-bridge-deployment/script/DeployBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {LibString} from "solady/utils/LibString.sol"; import {UpgradeableBeacon} from "@solady/utils/UpgradeableBeacon.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Pubkey} from "bridge/libraries/SVMLib.sol"; import {TokenLib} from "bridge/libraries/TokenLib.sol"; import {RelayerOrchestrator} from "bridge/periphery/RelayerOrchestrator.sol"; import {Bridge} from "bridge/Bridge.sol"; import {BridgeValidator} from "bridge/BridgeValidator.sol"; import {CrossChainERC20} from "bridge/CrossChainERC20.sol"; import {CrossChainERC20Factory} from "bridge/CrossChainERC20Factory.sol"; import {Twin} from "bridge/Twin.sol"; struct Cfg { bytes32 salt; address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint128 baseSignatureThreshold; uint256 partnerValidatorThreshold; Pubkey remoteBridge; address[] guardians; } contract DeployBridge is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.salt = _readBytes32FromConfig("salt"); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); cfg.partnerValidators = _readAddressFromConfig("partnerValidators"); cfg.baseValidators = _readAddressArrayFromConfig("baseValidators"); cfg.baseSignatureThreshold = uint128(_readUintFromConfig("baseSignatureThreshold")); cfg.partnerValidatorThreshold = _readUintFromConfig("partnerValidatorThreshold"); cfg.remoteBridge = Pubkey.wrap(_readBytes32FromConfig("remoteBridge")); cfg.guardians = _readAddressArrayFromConfig("guardians"); require(cfg.guardians.length == 1, "invalid guardians length"); cfg.guardians[0] = cfg.guardians[0].applyL1ToL2Alias(); } function run() public { address precomputedBridgeAddress = ERC1967Factory(cfg.erc1967Factory).predictDeterministicAddress(_salt()); vm.startBroadcast(); address twinBeacon = _deployTwinBeacon({precomputedBridgeAddress: precomputedBridgeAddress}); address factory = _deployFactory({precomputedBridgeAddress: precomputedBridgeAddress}); address bridgeValidator = _deployBridgeValidator({bridge: precomputedBridgeAddress}); address bridge = _deployBridge({twinBeacon: twinBeacon, crossChainErc20Factory: factory, bridgeValidator: bridgeValidator}); address relayerOrchestrator = _deployRelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator}); address sol = CrossChainERC20Factory(factory).deploySolWrapper(); vm.stopBroadcast(); require(address(bridge) == precomputedBridgeAddress, "Bridge address mismatch"); _serializeAddress({key: "Bridge", value: bridge}); _serializeAddress({key: "BridgeValidator", value: bridgeValidator}); _serializeAddress({key: "CrossChainERC20Factory", value: factory}); _serializeAddress({key: "Twin", value: twinBeacon}); _serializeAddress({key: "RelayerOrchestrator", value: relayerOrchestrator}); _serializeAddress({key: "WrappedSol", value: sol}); _postCheck(twinBeacon, factory, bridgeValidator, bridge, relayerOrchestrator, sol); } function _postCheck( address twinBeacon, address factory, address bridgeValidator, address bridge, address relayerOrchestrator, address sol ) private view { // Twin Twin twinImpl = Twin(payable(UpgradeableBeacon(twinBeacon).implementation())); require(twinImpl.BRIDGE() == bridge, "PC01: incorrect bridge address in twin impl"); // Factory UpgradeableBeacon tokenBeacon = UpgradeableBeacon(CrossChainERC20Factory(factory).BEACON()); CrossChainERC20 tokenImpl = CrossChainERC20(tokenBeacon.implementation()); require(tokenImpl.bridge() == bridge, "PC02: incorrect bridge address in token impl"); // BridgeValidator require( BridgeValidator(bridgeValidator).BRIDGE() == bridge, "PC03: incorrect bridge address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).PARTNER_VALIDATORS() == cfg.partnerValidators, "PC04: incorrect partnerValidators address in BridgeValidator" ); require( BridgeValidator(bridgeValidator).partnerValidatorThreshold() == cfg.partnerValidatorThreshold, "PC05: incorrect partner validator threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseThreshold() == cfg.baseSignatureThreshold, "PC06: incorrect Base threshold in BridgeValidator" ); require( BridgeValidator(bridgeValidator).getBaseValidatorCount() == cfg.baseValidators.length, "PC07: incorrect registered base validator count" ); for (uint256 i; i < cfg.baseValidators.length; i++) { require( BridgeValidator(bridgeValidator).isBaseValidator(cfg.baseValidators[i]), "PC08: base validator not registered" ); } // Bridge require(Bridge(bridge).REMOTE_BRIDGE() == cfg.remoteBridge, "PC09: incorrect remote bridge in Bridge contract"); require(Bridge(bridge).TWIN_BEACON() == twinBeacon, "PC10: incorrect twin beacon in Bridge contract"); require(Bridge(bridge).CROSS_CHAIN_ERC20_FACTORY() == factory, "PC11: incorrect factory in Bridge contract"); require( Bridge(bridge).BRIDGE_VALIDATOR() == bridgeValidator, "PC12: incorrect bridge validator in Bridge contract" ); require(Bridge(bridge).owner() == cfg.initialOwner, "PC13: incorrect Bridge owner"); for (uint256 i; i < cfg.guardians.length; i++) { require( Bridge(bridge).rolesOf(cfg.guardians[i]) == Bridge(bridge).GUARDIAN_ROLE(), "PC14: guardian missing perms" ); } // RelayerOrchestrator require( RelayerOrchestrator(relayerOrchestrator).BRIDGE() == bridge, "PC15: incorrect bridge in RelayerOrchestrator" ); require( RelayerOrchestrator(relayerOrchestrator).BRIDGE_VALIDATOR() == bridgeValidator, "PC16: incorrect bridge validator in RelayerOrchestrator" ); // SOL require(CrossChainERC20(sol).bridge() == bridge, "PC17: incorrect bridge in SOL contract"); require(LibString.eq(CrossChainERC20(sol).name(), "Solana"), "PC18: incorrect SOL name"); require(LibString.eq(CrossChainERC20(sol).symbol(), "SOL"), "PC19: incorrect SOL symbol"); require( CrossChainERC20(sol).remoteToken() == Pubkey.unwrap(TokenLib.NATIVE_SOL_PUBKEY), "PC20: incorrect SOL remote token" ); require(CrossChainERC20(sol).decimals() == 9, "PC21: incorrect SOL decimals"); } function _deployTwinBeacon(address precomputedBridgeAddress) private returns (address) { address twinImpl = address(new Twin(precomputedBridgeAddress)); return address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: twinImpl})); } function _deployFactory(address precomputedBridgeAddress) private returns (address) { address erc20Impl = address(new CrossChainERC20(precomputedBridgeAddress)); address erc20Beacon = address(new UpgradeableBeacon({initialOwner: cfg.initialOwner, initialImplementation: erc20Impl})); address xChainErc20FactoryImpl = address(new CrossChainERC20Factory(erc20Beacon)); return ERC1967Factory(cfg.erc1967Factory).deploy({implementation: xChainErc20FactoryImpl, admin: cfg.initialOwner}); } function _deployBridgeValidator(address bridge) private returns (address) { address bridgeValidatorImpl = address(new BridgeValidator({bridgeAddress: bridge, partnerValidators: cfg.partnerValidators})); return ERC1967Factory(cfg.erc1967Factory) .deployAndCall({ implementation: bridgeValidatorImpl, admin: cfg.initialOwner, data: abi.encodeCall( BridgeValidator.initialize, (cfg.baseValidators, cfg.baseSignatureThreshold, cfg.partnerValidatorThreshold) ) }); } function _deployBridge(address twinBeacon, address crossChainErc20Factory, address bridgeValidator) private returns (address) { Bridge bridgeImpl = new Bridge({ remoteBridge: cfg.remoteBridge, twinBeacon: twinBeacon, crossChainErc20Factory: crossChainErc20Factory, bridgeValidator: bridgeValidator }); return ERC1967Factory(cfg.erc1967Factory) .deployDeterministicAndCall({ implementation: address(bridgeImpl), admin: cfg.initialOwner, salt: _salt(), data: abi.encodeCall(Bridge.initialize, (cfg.initialOwner, cfg.guardians)) }); } function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) { address relayerOrchestratorImpl = address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator})); return ERC1967Factory(cfg.erc1967Factory) .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "addresses.json", valueKey: string.concat(".", key) }); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) { return vm.parseJsonAddressArray({json: cfgData, key: string.concat(".", key)}); } function _readUintFromConfig(string memory key) private view returns (uint256) { return vm.parseJsonUint({json: cfgData, key: string.concat(".", key)}); } function _readBytes32FromConfig(string memory key) private view returns (bytes32) { return vm.parseJsonBytes32({json: cfgData, key: string.concat(".", key)}); } /// @dev Appends `msg.sender` to the front of the salt to satisfy a requirement /// of the `ERC1967Factory.deployDeterministicAndCall()` method. function _salt() private view returns (bytes32) { bytes12 s = bytes12(keccak256(abi.encode(cfg.salt))); return bytes32(abi.encodePacked(msg.sender, s)); } } ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-10-23-pause-bridge-base make deps ``` ### 2. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ### 3. (When ready) Execute un-pause ```bash SIGNATURES=AAABBBCCC make execute-unpause ``` ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif SAFE_NONCE=6 SCRIPT_NAME=PauseBridge .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B' --out ../validations/base-signer.json; .PHONY: sign-pause sign-pause: IS_PAUSED=true SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B .PHONY: sign-unpause sign-unpause: IS_PAUSED=false SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B # Execute .PHONY: execute-pause execute-pause: IS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute-unpause execute-unpause: IS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: check-status check-status: cast call $(L2_BRIDGE) "paused()" --rpc-url $(L2_RPC_URL) ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/README.md ================================================ # Pause Base Bridge Status: EXECUTED ## Description Pauses the Base side of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. Send signature to facilitator ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761250009978.json ================================================ { "transactions": [ { "hash": "0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x56dc393143b8405549aa0c7a299ff0cfc7dd82c596a694d3c2b54fe57710036b23357f11666f06611dec9456682632d7fdb309e93725b5204b9ce48a1e063e621cd62972fb9082eb07ebaaf2b0565f6a333609ba12f24ff52543b20d068f05d46878dcda435eff9ae5a2e04a2b5f9e5d5419a5e9a5f70b021254d604a2146923d31b7a2137ab7d9402e758c0fbe2757c573adf01cf44ced16d7b17d7b2ffb7136a4039fabae68feb11a7863b0edd20ad8bd2cf8ff91ef1558d904db6af00f959b6741c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3cf1a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c356dc393143b8405549aa0c7a299ff0cfc7dd82c596a694d3c2b54fe57710036b23357f11666f06611dec9456682632d7fdb309e93725b5204b9ce48a1e063e621cd62972fb9082eb07ebaaf2b0565f6a333609ba12f24ff52543b20d068f05d46878dcda435eff9ae5a2e04a2b5f9e5d5419a5e9a5f70b021254d604a2146923d31b7a2137ab7d9402e758c0fbe2757c573adf01cf44ced16d7b17d7b2ffb7136a4039fabae68feb11a7863b0edd20ad8bd2cf8ff91ef1558d904db6af00f959b6741c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3c3b98", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", "blockHash": "0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb", "blockNumber": "0x909482", "blockTimestamp": "0x68fa8ad8", "transactionHash": "0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae", "transactionIndex": "0x39", "logIndex": "0x38", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x1b059d5ad73ceae3d06e384e5071f67169f00807b1ae659b40a60e5852a0055b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb", "blockNumber": "0x909482", "blockTimestamp": "0x68fa8ad8", "transactionHash": "0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae", "transactionIndex": "0x39", "logIndex": "0x39", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000002000000000000000000000000000000000000000000000040000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000008000000000000000002000000000000002000000000000000000000000404080000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000100000000000000000", "type": "0x2", "transactionHash": "0xe6fae08da55fdc7b6528b7811e442346f900e0ae6931942943a5bbbfe4e3b4ae", "transactionIndex": "0x39", "blockHash": "0xc7ea062f6ab34be42113df58502c6ce2d25ad9b4183d119039dc709b79ccfeeb", "blockNumber": "0x909482", "gasUsed": "0x2c1f5", "effectiveGasPrice": "0xf6402", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761250009978, "chain": 11155111, "commit": "b99e9f4" } ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761251184644.json ================================================ { "transactions": [ { "hash": "0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6b00a009c79a2fae0ed54b15ed1f44f5e60067127bb9acc14a95bd5b0278b2de0b8c7e6b8e4f3b8e35439ca59a4727797476d4c01315df7dc269a851dd9ea4781b922110400ab33d3d135b058aaa6f945ccdb487a5c7899dcb67fbd7e447cd99cc11267dd805693df603fde1b41372890ba6cb51ec7173bce42f134489d234e8061ba8070e0c6800e2c96b4a9b7f76c9b1cf3d4f4acdd36ee890ecc3eef5b78c62311f8c27a6495badb164c9b39bf89cd31e291fd6006e2bdd66313ce30e8df05f9a1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3ced7", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36b00a009c79a2fae0ed54b15ed1f44f5e60067127bb9acc14a95bd5b0278b2de0b8c7e6b8e4f3b8e35439ca59a4727797476d4c01315df7dc269a851dd9ea4781b922110400ab33d3d135b058aaa6f945ccdb487a5c7899dcb67fbd7e447cd99cc11267dd805693df603fde1b41372890ba6cb51ec7173bce42f134489d234e8061ba8070e0c6800e2c96b4a9b7f76c9b1cf3d4f4acdd36ee890ecc3eef5b78c62311f8c27a6495badb164c9b39bf89cd31e291fd6006e2bdd66313ce30e8df05f9a1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x40", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3cdb21", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef", "blockNumber": "0x9094e4", "blockTimestamp": "0x68fa8f70", "transactionHash": "0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644", "transactionIndex": "0x30", "logIndex": "0x2b", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x9f8287f8ea209cb8ddcd13a15c260bfb43ee4ec65c3e8ad46b6e06a6edf3c834" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef", "blockNumber": "0x9094e4", "blockTimestamp": "0x68fa8f70", "transactionHash": "0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644", "transactionIndex": "0x30", "logIndex": "0x2c", "removed": false } ], "logsBloom": "0x00000000400000000000000008000000000000000000000000000000040000000000000002000000000000000000000000000000000000000000000040000200000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000820000000000020000000000000000008000000000000000000000000000000000008000000000000000002000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0x05f0e3e877ded508584d96b22424b69334a0e73326470b4bb0fe16960664a644", "transactionIndex": "0x30", "blockHash": "0x223710445892c08e4135a8cccdda857b543aabbdc0e9ae23cc479942631276ef", "blockNumber": "0x9094e4", "gasUsed": "0x2c1c5", "effectiveGasPrice": "0xfa1cf", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761251184644, "chain": 11155111, "commit": "b99e9f4" } ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/script/PauseBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IBridge { function setPaused(bool) external; } contract PauseBridge is MultisigScript { address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE = vm.envAddress("L2_BRIDGE"); bool public immutable IS_PAUSED = vm.envBool("IS_PAUSED"); function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = L2_BRIDGE; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED)); calls[0] = IMulticall3.Call3Value({ target: L1_PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-10-23-pause-bridge-base/validations/base-signer.json ================================================ { "task_name": "sepolia-pause-base-bridge", "script_name": "PauseBridge", "signature": "sign(address[])", "sender": "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "args": "[]", "ledger-id": 1, "rpc_url": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expected_domain_and_message_hashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domain_hash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "message_hash": "0x4b6ccc7a2fbd88da7340b54ab6b065a2a6640ed4dcaf3342fefa89bf075eec90" }, "state_overrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x2e7309fd460be25e22fa96a891bd961839cf6c2ca56f9a059b605f768f8b4a92", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "state_changes": [ { "name": "OptimismPortal2 - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x00000000009092cb000000000007e1760000000000000000000000003b9aca00", "after": "0x00000000009092cc00000000000186a00000000000000000000000003b9aca00", "description": "Gas fee tracking for deposit tx execution on L2" } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000006", "after": "0x0000000000000000000000000000000000000000000000000000000000000007", "description": "Increments the nonce" } ] } ] } ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-10-24-pause-bridge-base make deps ``` ### 2. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ### 3. (When ready) Execute un-pause ```bash SIGNATURES=AAABBBCCC make execute-unpause ``` ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif SAFE_NONCE=8 NEXT_NONCE=9 SENDER=0xb2d9a52e76841279EF0372c534C539a4f68f8C0B SCRIPT_NAME=PauseBridge .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: sign-pause sign-pause: IS_PAUSED=true SAFE_NONCE=$(SAFE_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) .PHONY: sign-unpause sign-unpause: IS_PAUSED=false SAFE_NONCE=$(NEXT_NONCE) $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) # Execute .PHONY: execute-pause execute-pause: IS_PAUSED=true forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: execute-unpause execute-unpause: IS_PAUSED=false forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: check-status check-status: cast call $(L2_BRIDGE) "paused()" --rpc-url $(L2_RPC_URL) ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/README.md ================================================ # Pause Base Bridge Status: EXECUTED ## Description Pauses the Base side of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. Send signature to facilitator ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761340416907.json ================================================ { "transactions": [ { "hash": "0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x63f3064139205cf75a32306a076d42f675a7222475b943a9bbd1f5dff376cacb392b62386b66fb2214a77a8b9a3d15f9a56fbdd98ebdff7242a142ac3d9648991b95d87005d60c02a12d66bfd8de43f91575913f2261c15f9b2e6a58b00967fca138a5814df9bbedd04e9ae1bd7001b271259c94be3286aff5ebf08b80699665561b2901f91a508e7e93c516aedfd49736c40c2272a8a355ba00cdc07a7e821642ed2bb105e2fb1b2ed1def00724886331f25b612c7d6b67e5aefa9ae046f44b27141c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3cf1a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c363f3064139205cf75a32306a076d42f675a7222475b943a9bbd1f5dff376cacb392b62386b66fb2214a77a8b9a3d15f9a56fbdd98ebdff7242a142ac3d9648991b95d87005d60c02a12d66bfd8de43f91575913f2261c15f9b2e6a58b00967fca138a5814df9bbedd04e9ae1bd7001b271259c94be3286aff5ebf08b80699665561b2901f91a508e7e93c516aedfd49736c40c2272a8a355ba00cdc07a7e821642ed2bb105e2fb1b2ed1def00724886331f25b612c7d6b67e5aefa9ae046f44b27141c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x41", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc42a26", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000", "blockHash": "0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e", "blockNumber": "0x90b1d7", "blockTimestamp": "0x68fbec00", "transactionHash": "0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a", "transactionIndex": "0x31", "logIndex": "0x3f", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xe943dd133744f3f9288ab41e66b7d7bb3c1653ab1cf1ab084fbd90128eb2a69f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e", "blockNumber": "0x90b1d7", "blockTimestamp": "0x68fbec00", "transactionHash": "0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a", "transactionIndex": "0x31", "logIndex": "0x40", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000002004000000000000000000800000000000000000000000400000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004020000000000000000000000040002000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0x2a14bae27dcf33130b9d71704153f8b3d6cfddb856aa4a05335f0a5fa304e41a", "transactionIndex": "0x31", "blockHash": "0x1e8b8f3247fb086ed27d217c3520690fcef7a1aa9c80f53f7bcecaafce206d0e", "blockNumber": "0x90b1d7", "gasUsed": "0x2c1f5", "effectiveGasPrice": "0xf4248", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761340416907, "chain": 11155111, "commit": "aa89f90" } ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/records/PauseBridge.s.sol/11155111/run-1761340908642.json ================================================ { "transactions": [ { "hash": "0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xc73bd2dceb3f830c0737789117fafced0f77918f2f26abbfe038407b9ca994310b33c54b6a02ac2d664d5f458a0d969684a6b88c75636c4f1b353e45334136711b6f94ac20c4606c33ef3ecf070a645fa51e484559a3ad3e4915576aa967ffe88270cf683bdb1126116ff53acbee858f2e46119cf1d3815b4c5a04e7ecc3d1f9fb1b0c51c5afd3e9a7f3ee603944fced99db1430b28b00c79becfba418ceba3f9e0d2bc2573f189ff176ad53e4cd89e68b7f51a839407f38d596371b154e8edb82611c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x40864", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000224174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002416c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3c73bd2dceb3f830c0737789117fafced0f77918f2f26abbfe038407b9ca994310b33c54b6a02ac2d664d5f458a0d969684a6b88c75636c4f1b353e45334136711b6f94ac20c4606c33ef3ecf070a645fa51e484559a3ad3e4915576aa967ffe88270cf683bdb1126116ff53acbee858f2e46119cf1d3815b4c5a04e7ecc3d1f9fb1b0c51c5afd3e9a7f3ee603944fced99db1430b28b00c79becfba418ceba3f9e0d2bc2573f189ff176ad53e4cd89e68b7f51a839407f38d596371b154e8edb82611c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x42", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x74169d", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000001824a90d32a69022ddaecc6c5c14ed08db4eb9b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00016c38b3c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c", "blockNumber": "0x90b200", "blockTimestamp": "0x68fbedec", "transactionHash": "0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae", "transactionIndex": "0x32", "logIndex": "0x43", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x57e915e976bdc2b2bd45566cfabdbf2209ea76b986d252aeea859c6e159829c7" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c", "blockNumber": "0x90b200", "blockTimestamp": "0x68fbedec", "transactionHash": "0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae", "transactionIndex": "0x32", "logIndex": "0x44", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000002004000000000000000000000000000000000000000000000000000000001000000000000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000001000000000004000000000000000000000001000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000004000000000000040002000000040000000080000000000000000000000", "type": "0x2", "transactionHash": "0xf0701901382f95607b42e98d37a405cc6b3e57da1a2ef246fbd3d9af35d449ae", "transactionIndex": "0x32", "blockHash": "0x304c7b17389bda46c8929669d193046c041d972bec2562739b81ed38467f123c", "blockNumber": "0x90b200", "gasUsed": "0x2c1e9", "effectiveGasPrice": "0xf4248", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1761340908642, "chain": 11155111, "commit": "aa89f90" } ================================================ FILE: sepolia/2025-10-24-pause-bridge-base/script/PauseBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IBridge { function setPaused(bool) external; } contract PauseBridge is MultisigScript { address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE = vm.envAddress("L2_BRIDGE"); bool public immutable IS_PAUSED = vm.envBool("IS_PAUSED"); function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = L2_BRIDGE; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED)); calls[0] = IMulticall3.Call3Value({ target: L1_PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpdateSigners VALIDATIONS_DIR = validations PRIMARY_VALIDATION_FILE = base-signer.json SECONDARY_VALIDATION_FILE = base-signer-safe-b.json ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deps deps: new-forge-deps .PHONY: new-forge-deps new-forge-deps: forge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604 .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'OWNER_SAFE=$(PRIMARY_SAFE) forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' \ --out ../$(VALIDATIONS_DIR)/$(PRIMARY_VALIDATION_FILE); .PHONY: gen-validation-secondary gen-validation-secondary: checkout-signer-tool run-script-secondary .PHONY: run-script-secondary run-script-secondary: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(L1_RPC_URL) \ --workdir .. --forge-cmd 'OWNER_SAFE=$(SECONDARY_SAFE) forge script --rpc-url $(L1_RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' \ --out ../$(VALIDATIONS_DIR)/$(SECONDARY_VALIDATION_FILE); .PHONY: execute execute: OWNER_SAFE=$(PRIMARY_SAFE) $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: execute-secondary execute-secondary: OWNER_SAFE=$(SECONDARY_SAFE) $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0x5F1955729e3D6129FB73813E891742D473fc74F7", "0x6e427c3212C0b63BE0C382F97715D49b011bFF33" ], "OwnersToRemove": [ "0xaa2489DEbF1EF02ab83bA6Cde4419E662De9254E", "0x9B43cC2EF6fa521127Ade09e20efD6ABBC5BF799", "0xf2Fb17eab635f036Da7864B8e39ef8e9A03441df" ] } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/README.md ================================================ # Update Sepolia Incident Multisig Signers Status: [SAFE A EXECUTED](https://sepolia.etherscan.io/tx/0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34) ([artefact](./records/UpdateSigners.s.sol/11155111/run-1763579592746.json)) and [SAFE B EXECUTED](https://sepolia.etherscan.io/tx/0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556) ([artefact](./records/UpdateSigners.s.sol/11155111/run-1763579822181.json)) Safe A (3-of-14): [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f](https://sepolia.etherscan.io/address/0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f) Safe B (1-of-14): [0x6AF0674791925f767060Dd52f7fB20984E8639d8](https://sepolia.etherscan.io/address/0x6AF0674791925f767060Dd52f7fB20984E8639d8) ## Description We are updating both Sepolia Incident Multisig Safes to reflect the current Base Chain Eng roster. The signer additions and removals are listed in [OwnerDiff.json](./OwnerDiff.json) and apply to both safes. Safe A keeps its 3-of-14 threshold, while Safe B mirrors the same owners with a 1-of-14 threshold. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If you see a version output at or above `v18.18`, you can move on. Otherwise, install (or update) node: ```bash brew install node ``` ## Approving Signers Update ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign. Then select the Safe for which you would like to sign. Typically this will be Safe A, since Save B only requires a single signature and can thus usually be provided by the task facilitator themselves. - Safe A → `validations/base-signer.json` - Safe B → `validations/base-signer-safe-b.json` ### 4. Send signature to facilitator You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1763579592746.json ================================================ { "transactions": [ { "hash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x111d6741e664bbf9572afe7d369cb7ad3950c44408297ab649eb9dcb6499b83653b0ed2c06a5cd44c8483e1c8aa03d0558388e3f40910b20da498fa783a20a921ca355f7dac3eaddb5b624e005c1f9cb8c69e314ce322de7dbb70cbe45e68c258778a8e4fb4719fd6032378e5915a51622769aef629943378db1b585b575d929e31bc7998eb89837ddfa0e8285f7f89c3ed2c4420d0451a0365a90706adb245159f31268bd6cef717c9dae8df08e8c48570934d1dd8271440025c7e99399a42626e91c" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3d23d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3111d6741e664bbf9572afe7d369cb7ad3950c44408297ab649eb9dcb6499b83653b0ed2c06a5cd44c8483e1c8aa03d0558388e3f40910b20da498fa783a20a921ca355f7dac3eaddb5b624e005c1f9cb8c69e314ce322de7dbb70cbe45e68c258778a8e4fb4719fd6032378e5915a51622769aef629943378db1b585b575d929e31bc7998eb89837ddfa0e8285f7f89c3ed2c4420d0451a0365a90706adb245159f31268bd6cef717c9dae8df08e8c48570934d1dd8271440025c7e99399a42626e91c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x27", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1163b08", "logs": [ { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7" ], "data": "0x", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x197", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26", "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33" ], "data": "0x", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x198", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e" ], "data": "0x", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x199", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799" ], "data": "0x", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x19a", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf", "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df" ], "data": "0x", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x19b", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x4a9ea9b915134c475d681e665829fac2d818c1c2137194ad886f587423689639" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "blockTimestamp": "0x691e16c8", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "logIndex": "0x19c", "removed": false } ], "logsBloom": "0x00020800440000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000040000000000000000000000010008000000000000400000000000000000000800000000000000000000000100010000000000000000000002000000000000000004000000000008010000000000000000080000000200000000000000000000000000000000000040000000000000001000000404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041000000000400400080000040010000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0xadffced4438bd307fe2d61cfb212e46c3f07b73ffdc833a094b2b4e21ad6cd34", "transactionIndex": "0x3d", "blockHash": "0x4d57213033cefc64f6b8b4f8ea83fd629959b9bfbcd6e8346bbd75a132fd1241", "blockNumber": "0x9374fe", "gasUsed": "0x29ce2", "effectiveGasPrice": "0xf465f", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763579592746, "chain": 11155111, "commit": "8c49b9d" } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/records/UpdateSigners.s.sol/11155111/run-1763579822181.json ================================================ { "transactions": [ { "hash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x1e94b4af243bd73b4ff1a126660c8bd542357293bbfe9f2d0c3a8143338b4c6d3ca97e08cfab766d87bfee40e3957eedaf2efaa1a80e3dd8ccef363c17bce17c1c" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x37fc9", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007c00000000000000000000000000000000000000000000000000000000000000644174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e00000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf7990000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064f8dc5dd9000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000411e94b4af243bd73b4ff1a126660c8bd542357293bbfe9f2d0c3a8143338b4c6d3ca97e08cfab766d87bfee40e3957eedaf2efaa1a80e3dd8ccef363c17bce17c1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x28", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1020107", "logs": [ { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x11b", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x11c", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x11d", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x11e", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x11f", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8115ed1845241e02fac76d5c23118a829cb0e5e258bdae6c7f5ca802420e5b8a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "blockTimestamp": "0x691e17ac", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "logIndex": "0x120", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000010000000000000008000000000000000000008000000", "type": "0x2", "transactionHash": "0x2aa63f880ca4cf814a71197a3fa9059ff36b124cabf085a3e8e76e40b9e6c556", "transactionIndex": "0x4a", "blockHash": "0x9f197073c561073e804cb17e40da1cebf9b57f16e614ed72dab8f0fa658a5c72", "blockNumber": "0x937511", "gasUsed": "0x26481", "effectiveGasPrice": "0x1009e2", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763579822181, "chain": 11155111, "commit": "8c49b9d" } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {OwnerManager} from "safe-smart-account/base/OwnerManager.sol"; contract UpdateSigners is MultisigScript { using stdJson for string; address public constant SENTINEL_OWNERS = address(0x1); uint256 public constant EXISTING_OWNERS_LENGTH = 14; address public immutable OWNER_SAFE; uint256 public immutable THRESHOLD; address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() external { require(OWNERS_TO_ADD.length > 0, "Precheck 00"); require(OWNERS_TO_REMOVE.length > 0, "Precheck 01"); require(EXISTING_OWNERS.length == EXISTING_OWNERS_LENGTH, "Precheck 02"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address prevOwner = SENTINEL_OWNERS; for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "Precheck 03"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Precheck 04"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)), value: 0 }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = IMulticall3.Call3Value({ target: OWNER_SAFE, allowFailure: false, callData: abi.encodeCall( OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ), value: 0 }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/validations/base-signer-safe-b.json ================================================ { "cmd": "OWNER_SAFE=0x6AF0674791925f767060Dd52f7fB20984E8639d8 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSigners --sig sign(address[]) [] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x2bdf6a3b2fde8b784b5670e7563c91cc83da2490a78ca09b8fa482b54b22402c" }, "stateOverrides": [ { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x477d0ceafedac61e49f12aa7f817534878604e1a4007c7387315fbfed9c2bfdd", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Updates the owner count", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000010", "after": "0x0000000000000000000000000000000000000000000000000000000000000011", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208", "before": "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799", "after": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64", "before": "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df", "after": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a", "before": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5", "before": "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761", "before": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "after": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "description": "Sets the head of the owners linked list", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-03-incident-multisig-signers/validations/base-signer.json ================================================ { "cmd": "OWNER_SAFE=0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSigners --sig sign(address[]) [] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x7e56b1b8742a3a754cd0f1b973584f97eb3ef787824687e262ec3269ed26cc6a" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x119270fd1ed5eb31be102a58824bdf348b4987efd0bab55db38c5511031adf59", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Updates the owner count", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the execution threshold", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208", "before": "0x0000000000000000000000009b43cc2ef6fa521127ade09e20efd6abbc5bf799", "after": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64", "before": "0x000000000000000000000000f2fb17eab635f036da7864b8e39ef8e9a03441df", "after": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xd5a3955556fe832b0d9dee1f7edb84880eee53ea4dc4e838bfa6bebc90480c2a", "before": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5", "before": "0x000000000000000000000000aa2489debf1ef02ab83ba6cde4419e662de9254e", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xdf293ebdd99010d44bfef5d86d47c7943a4e69db74a426354dc622e6d4d85761", "before": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xe475b9e5509f43031ff937d793c47553513dacb8de5b10e556e7da05bd6d6e54", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Updates the owners mapping", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "after": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "description": "Sets the head of the owners linked list", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif deploy: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \ --rpc-url ${L2_RPC_URL} \ --broadcast \ --verify \ --verifier-api-key ${VERIFIER_API_KEY} \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/README.md ================================================ # Deploy CBMulticall Status: [EXECUTED](https://sepolia.basescan.org/tx/0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1) ## Description This task deploys the CBMulticall contract. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-11-07-deploy-cb-multicall make deps ``` ### 2. Run the script: ```bash make deploy ``` ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/addresses.json ================================================ { "cbMulticall": "0xf113DA645C65f786c08a48d540Ee5f7A59189ffF" } ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/records/DeployCBMulticall.s.sol/84532/run-1763158491374.json ================================================ { "transactions": [ { "hash": "0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xf113da645c65f786c08a48d540ee5f7a59189fff", "function": null, "arguments": null, "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x12fb9f", "value": "0x0", "input": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610e6f806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a14565b6102ba565b6040516101119190610b4d565b61014d610148366004610a14565b610479565b604051610111929190610b67565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610bef565b61061f565b60405161011193929190610c49565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610c71565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a14565b61063a565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610bef565b6107e9565b6101b7610296366004610a14565b6109a9565b3480156102a757600080fd5b506101076102b6366004610ca7565b4090565b6060818067ffffffffffffffff8111156102d6576102d6610cc0565b60405190808252806020026020018201604052801561031c57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f45790505b5091503660005b8281101561047057600084828151811061033f5761033f610cef565b6020026020010151905086868381811061035b5761035b610cef565b905060200281019061036d9190610d1e565b925060408301356103816020850185610c71565b73ffffffffffffffffffffffffffffffffffffffff16816103a56060870187610d5c565b6040516103b3929190610dc1565b60006040518083038185875af1925050503d80600081146103f0576040519150601f19603f3d011682016040523d82523d6000602084013e6103f5565b606091505b506020808501919091529015158084529085013517610466577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b5050600101610323565b50505092915050565b436060828067ffffffffffffffff81111561049657610496610cc0565b6040519080825280602002602001820160405280156104c957816020015b60608152602001906001900390816104b45790505b5091503660005b828110156106155760008787838181106104ec576104ec610cef565b90506020028101906104fe9190610dd1565b925061050d6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166105306020850185610d5c565b60405161053e929190610dc1565b6000604051808303816000865af19150503d806000811461057b576040519150601f19603f3d011682016040523d82523d6000602084013e610580565b606091505b5086848151811061059357610593610cef565b602090810291909101015290508061060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b506001016104d0565b5050509250929050565b438040606061062f8686866107e9565b905093509350939050565b6060818067ffffffffffffffff81111561065657610656610cc0565b60405190808252806020026020018201604052801561069c57816020015b6040805180820190915260008152606060208201528152602001906001900390816106745790505b5091503660005b828110156104705760008482815181106106bf576106bf610cef565b602002602001015190508686838181106106db576106db610cef565b90506020028101906106ed9190610e05565b92506106fc6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff1661071f6040850185610d5c565b60405161072d929190610dc1565b6000604051808303816000865af19150503d806000811461076a576040519150601f19603f3d011682016040523d82523d6000602084013e61076f565b606091505b5060208084019190915290151580835290840135176107e0577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b506001016106a3565b6060818067ffffffffffffffff81111561080557610805610cc0565b60405190808252806020026020018201604052801561084b57816020015b6040805180820190915260008152606060208201528152602001906001900390816108235790505b5091503660005b8281101561099f57600084828151811061086e5761086e610cef565b6020026020010151905086868381811061088a5761088a610cef565b905060200281019061089c9190610dd1565b92506108ab6020840184610c71565b73ffffffffffffffffffffffffffffffffffffffff166108ce6020850185610d5c565b6040516108dc929190610dc1565b6000604051808303816000865af19150503d8060008114610919576040519150601f19603f3d011682016040523d82523d6000602084013e61091e565b606091505b506020830152151581528715610996578051610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610603565b50600101610852565b5050509392505050565b60008060606109ba6001868661061f565b919790965090945092505050565b60008083601f8401126109da57600080fd5b50813567ffffffffffffffff8111156109f257600080fd5b6020830191508360208260051b8501011115610a0d57600080fd5b9250929050565b60008060208385031215610a2757600080fd5b823567ffffffffffffffff811115610a3e57600080fd5b610a4a858286016109c8565b90969095509350505050565b6000815180845260005b81811015610a7c57602081850181015186830182015201610a60565b81811115610a8e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610b40578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b2c81860183610a56565b9a86019a9450505090830190600101610ade565b5090979650505050505050565b602081526000610b606020830184610ac1565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610be1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610bcf868351610a56565b95509284019290840190600101610b95565b509398975050505050505050565b600080600060408486031215610c0457600080fd5b83358015158114610c1457600080fd5b9250602084013567ffffffffffffffff811115610c3057600080fd5b610c3c868287016109c8565b9497909650939450505050565b838152826020820152606060408201526000610c686060830184610ac1565b95945050505050565b600060208284031215610c8357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610b6057600080fd5b600060208284031215610cb957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610d5257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610d9157600080fd5b83018035915067ffffffffffffffff821115610dac57600080fd5b602001915036819003821315610a0d57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610d5257600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610d5257600080fdfea2646970667358221220ea6edd4fcede4352efea43af3870fb98e2bdc62d25eefa782607d4bea202e6b264736f6c634300080f0033", "nonce": "0x0", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5eb766", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x636f737cc8ca52789b65b1e9a9f6111348e80a145eb3e60f1f28d0e0627295c1", "transactionIndex": "0xf", "blockHash": "0x763d843f9412304040c4af3406ef80ed92198267abc1f13f56ae08da0066c935", "blockNumber": "0x2022574", "gasUsed": "0xcfad2", "effectiveGasPrice": "0xf4290", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xf113da645c65f786c08a48d540ee5f7a59189fff", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x5ce", "l1GasPrice": "0x9", "l1GasUsed": "0x7181" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763158491374, "chain": 84532, "commit": "42f1b37" } ================================================ FILE: sepolia/2025-11-07-deploy-cb-multicall/script/DeployCBMulticall.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {VmSafe} from "forge-std/Vm.sol"; import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; contract DeployCBMulticallScript is Script { bytes32 SALT = bytes32(uint256(0)); CBMulticall cbMulticall; function run() public { vm.startBroadcast(); cbMulticall = new CBMulticall{salt: SALT}(); console.log("CBMulticall deployed at: ", address(cbMulticall)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "cbMulticall", address(cbMulticall)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { vm.assertEq( address(cbMulticall), vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}), "The cbMulticall address does not match the one computed by `vm.computeCreate2Address`" ); } function _initCode() private view returns (bytes memory) { bytes memory args = ""; return abi.encodePacked(vm.getCode("CBMulticall.sol:CBMulticall"), args); } function _initCodeHash() private view returns (bytes32) { return keccak256(_initCode()); } } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/FACILITATORS.md ================================================ #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif # Sepolia Commands # OWNER_SAFE/ # ├── CB_SIGNER_SAFE_ADDR/ # │ ├── CB_NESTED_SAFE_ADDR/ # │ │ └── Signers # │ └── CB_SC_SAFE_ADDR/ # │ └── Signers # └── OP_SIGNER_SAFE_ADDR/ # └── Signers RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpgradeWithOpSmartContractManager .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/README.md ================================================ # U17 Jovian Upgrade Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590) ## Description The Jovian hardfork is a proposed network upgrade for OP Stack chains, which brings several improvements to the way rollup fees are calculated as well as performing a maintenance update to the fault proof virtual machine. [More Details](https://docs.optimism.io/notices/upgrade-17). This script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea78", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc5306d", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "blockTimestamp": "0x691c7e98", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "logIndex": "0xfc", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "blockTimestamp": "0x691c7e98", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "logIndex": "0xfd", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "gasUsed": "0x16318", "effectiveGasPrice": "0xf4249", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763475097893, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474377488.json ================================================ { "transactions": [ { "hash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x23275", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3f641599e973958913085e9236ca194875b6a45a02d3c45cd51894c2a5e048c454d88be3cdd4ce9a82eee38437a3e649087e59f88caaa69a889f55eee2d947c0d1baff25c1af81289ba784fe0e05e639a3b01fadf008de619129c758305ec16e822460001cae6e33f41c6f922c6985e6d51f846a90cd7eb99c4fd3b2435555af6271c9ff3a435971f59c0d9abfcf236185bdae0248e4a139647a1d65f2f3b5678a2de79fc1b917f9f68799382b5af13803be962aba6927c56699077f36c086656cbf71c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x471351", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", "blockNumber": "0x9354fe", "blockTimestamp": "0x691c7bc8", "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", "transactionIndex": "0x21", "logIndex": "0x2b", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x98bda964a74c0878b7662d4dab0bb7da306b5ca7be0cfd01092e398311ee0366" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", "blockNumber": "0x9354fe", "blockTimestamp": "0x691c7bc8", "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", "transactionIndex": "0x21", "logIndex": "0x2c", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000400000000000400000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000000000010080000000000000000000000000000000800000000000000000000000000000000004000020000020000000020000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xef59f27a54fa9a993bea42030de61ab87e1078f90b51d665101f8d69b0412b15", "transactionIndex": "0x21", "blockHash": "0xa6499b324a0959262508e57c82afbf5f8b6ef5e4f2992af5a758b02b2143ea33", "blockNumber": "0x9354fe", "gasUsed": "0x19736", "effectiveGasPrice": "0x10d3d9", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763474377488, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474533668.json ================================================ { "transactions": [ { "hash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xf2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1dc22", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041f2ed8e2c126afc94ae9276822b2e243c14dde081c14059e73ebe55689003b4f97d367ed90bb986179507d74ccf563082bd5fbf00e5ed23edb330073413910ec31c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x172446b", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f7", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", "blockNumber": "0x935509", "blockTimestamp": "0x691c7c64", "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", "transactionIndex": "0x58", "logIndex": "0xd2", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xe77a5b3c54f98875399dd031cbde2dd375517ed53f566c4a811b8bcf6eac50f30000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", "blockNumber": "0x935509", "blockTimestamp": "0x691c7c64", "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", "transactionIndex": "0x58", "logIndex": "0xd3", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010080000000000000000000000000000000000000000000000000000000000000000004000020000000000000020000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x5cb75ae877781e0cbcdb8369ab460fe9612d3d32128a410a39c37e6a9c6abafa", "transactionIndex": "0x58", "blockHash": "0xf130c89f6d4c27de78073f8cd88ddd2a58b1447034db6d3393e05120434f2f5c", "blockNumber": "0x935509", "gasUsed": "0x158b7", "effectiveGasPrice": "0x10d2bc", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763474533668, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763474617427.json ================================================ { "transactions": [ { "hash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d8a", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x6", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x61bf34", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", "blockNumber": "0x93550f", "blockTimestamp": "0x691c7cb8", "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", "transactionIndex": "0x4c", "logIndex": "0x2e", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd927483e0a20849a8b8b610bbf455e42da2cbf8b8846f6fdf4a32bad1bbd22f70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", "blockNumber": "0x93550f", "blockTimestamp": "0x691c7cb8", "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", "transactionIndex": "0x4c", "logIndex": "0x2f", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000200000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x61d68dc327312f8bd3968a0338a30db2b1c59249c067f6731c6ce729aade2ce0", "transactionIndex": "0x4c", "blockHash": "0xf59bdcf3815b5efdd1b57c995ba4ba38c90e2ae36c93230fb4886ee16926d604", "blockNumber": "0x93550f", "gasUsed": "0x17249", "effectiveGasPrice": "0x119144", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763474617427, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475097893.json ================================================ { "transactions": [ { "hash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea78", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000418b6972507570fed878d8f95e6cbeb6325bf157c852dd041b996c6ad69dd3ee4416df65e7db3a0bf74d042a302f02ff621156dd5e246eb98c80721174b3a01ed51b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x7", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc5306d", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "blockTimestamp": "0x691c7e98", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "logIndex": "0xfc", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x8524b53b3070cc94d521fe0eb3d64e85c60073f292a454fcef114c9b84a1ade20000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "blockTimestamp": "0x691c7e98", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "logIndex": "0xfd", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000008000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xa4724b8bc774d8be3ee5c24b0ac471ed6c71535c6f8ec14b6b3ae01056eb1a92", "transactionIndex": "0x41", "blockHash": "0x0275e064bcf51f06eb06ba4c98c1d047482b2786c34da27ea0154eeb7fb70176", "blockNumber": "0x935533", "gasUsed": "0x16318", "effectiveGasPrice": "0xf4249", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763475097893, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/records/UpgradeWithOpSmartContractManager.sol/11155111/run-1763475193401.json ================================================ { "transactions": [ { "hash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0xe1f3ef", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x8", "chainId": "0xaa36a7" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0xa1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "initCode": "0x6102006040523480156200001257600080fd5b50604051620065483803806200654883398101604081905262000035916200053c565b82620000446001607e6200064b565b60ff16816040015111156200006c57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000965750604081015160608201516200009390600162000671565b10155b15620000b55760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000dc5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b39190620006ac565b1115620001d35760405163b4e1243360e01b815260040160405180910390fd5b6000620001f882608001516001600160401b03166200048e60201b62000cec1760201c565b6200020e906001600160401b03166002620006c6565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000255573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027b91906200068c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df9190620006ac565b6200030284608001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b031662000317919062000671565b905060006200033283836200049160201b6200283e1760201c565b90506001600160401b038111156200035d5760405163235dfb2b60e21b815260040160405180910390fd5b620003808460a001516001600160401b03166200048e60201b62000cec1760201c565b6001600160401b0316816001600160401b03161115620003b35760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003da856000015163ffffffff166200048e60201b62000cec1760201c565b63ffffffff1603620003ff5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015181166101605292015161018052509182166101c052166101e05250620006e8565b90565b600081831015620004a35781620004a5565b825b9392505050565b60405161014081016001600160401b0381118282101715620004de57634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004f957600080fd5b919050565b80516001600160401b0381168114620004f957600080fd5b6001600160a01b03811681146200052c57600080fd5b50565b8051620004f98162000516565b60008060008385036101808112156200055457600080fd5b610140808212156200056557600080fd5b6200056f620004ac565b91506200057c86620004e4565b8252602086015160208301526040860151604083015260608601516060830152620005aa60808701620004fe565b6080830152620005bd60a08701620004fe565b60a0830152620005d060c087016200052f565b60c0830152620005e360e087016200052f565b60e0830152610100620005f88188016200052f565b8184015250610120808701518184015250819450620006198187016200052f565b935050506200062c61016085016200052f565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000668576200066862000635565b90039392505050565b6000821982111562000687576200068762000635565b500190565b6000602082840312156200069f57600080fd5b8151620004a58162000516565b600060208284031215620006bf57600080fd5b5051919050565b6000816000190483118215151615620006e357620006e362000635565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615c85620008c36000396000818161061c01528181611a4a01526123b001526000818161090d01528181611a1801528181611eeb015261237e015260008181610778015281816130ed01528181613158015261318b015260008181610ac5015261277c0152600081816106ee01528181611b4801528181611c8c01528181611d6601528181611df5015281816135fa0152613aad0152600081816105a90152818161182601528181611922015281816134f401526139b4015260008181610948015281816127fe0152613a840152600081816105460152818161247e01528181613006015261431b015260008181610b1801528181610f7f0152818161207c015281816120be01528181612f76015281816131bb015261321a015260008181610b4b0152818161262201528181612dbf01528181612ee50152818161312901528181614192015281816145bf0152818161469e0152818161475101528181614f7f0152615170015260008181610bf20152818161216a015281816121f001528181612e8801528181612fda015281816140aa01526141b301526000818161083a01526142360152615c856000f3fe6080604052600436106103555760003560e01c806370872aa5116101bb578063c0d8bb74116100f7578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b9f578063fa24f74314610bbf578063fa315aa914610be3578063fe2bbeb214610c1657600080fd5b8063dabd396d14610b09578063ec5e630814610b3c578063eff0f59214610b6f57600080fd5b8063cf09e0d0116100d1578063cf09e0d014610a75578063d5d44d8014610a96578063d6ae3cd514610ab6578063d8cc1a3c14610ae957600080fd5b8063c0d8bb74146109b4578063c395e1ca146109e1578063c6f0308c14610a0157600080fd5b80638d450a9511610164578063a8e4fb901161013e578063a8e4fb90146108fe578063bbdc02db14610931578063bcef3b5514610972578063bd8da9561461099457600080fd5b80638d450a951461082b57806399735e3214610809578063a445ece61461085e57600080fd5b80638129fc1c116101955780638129fc1c146107ec5780638980e0cc146107f45780638b85902b1461080957600080fd5b806370872aa5146107af578063786b844b146107c45780637b0f0adc146107d957600080fd5b80633e3ac912116102955780635a5fa2d91161023357806360e274641161020d57806360e27464146107275780636361506d146107475780636b6716c0146107695780636f0344091461079c57600080fd5b80635a5fa2d9146106bf5780635c0cba33146106df578063609d33341461071257600080fd5b8063529d6a8c1161026f578063529d6a8c146105e0578063534db0e21461060d57806354fd4d501461064057806357da950e1461068f57600080fd5b80633e3ac9121461056a5780633fc8cef31461059a578063472777c6146105cd57600080fd5b806325fc2ace1161030257806330dbe570116102dc57806330dbe570146104c3578063378dd48c146104fb57806337b1b229146105155780633a7684631461053757600080fd5b806325fc2ace1461046f5780632810e1d61461048e5780632ad69aeb146104a357600080fd5b8063200d2ed211610333578063200d2ed2146103e7578063222abf4514610415578063250e69bd1461045557600080fd5b8063019351301461035a57806303c2924d1461037c57806319effeb41461039c575b600080fd5b34801561036657600080fd5b5061037a6103753660046154f5565b610c46565b005b34801561038857600080fd5b5061037a610397366004615550565b610f05565b3480156103a857600080fd5b506000546103c99068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103f357600080fd5b5060005461040890600160801b900460ff1681565b6040516103de91906155a9565b34801561042157600080fd5b506104456104303660046155d1565b600c6020526000908152604090205460ff1681565b60405190151581526020016103de565b34801561046157600080fd5b50600a546104459060ff1681565b34801561047b57600080fd5b506008545b6040519081526020016103de565b34801561049a57600080fd5b5061040861148d565b3480156104af57600080fd5b506104806104be366004615550565b611665565b3480156104cf57600080fd5b506001546104e3906001600160a01b031681565b6040516001600160a01b0390911681526020016103de565b34801561050757600080fd5b50600d546104089060ff1681565b34801561052157600080fd5b503660011981013560f01c90033560601c6104e3565b34801561054357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561057657600080fd5b50600054610445907201000000000000000000000000000000000000900460ff1681565b3480156105a657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61037a6105db3660046155ee565b61169b565b3480156105ec57600080fd5b506104806105fb3660046155d1565b60036020526000908152604090205481565b34801561061957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561064c57600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103de9190615685565b34801561069b57600080fd5b506008546009546106aa919082565b604080519283526020830191909152016103de565b3480156106cb57600080fd5b506104806106da366004615698565b6116ad565b3480156106eb57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561071e57600080fd5b506106826116e7565b34801561073357600080fd5b5061037a6107423660046155d1565b6116f5565b34801561075357600080fd5b503660011981013560f01c900360340135610480565b34801561077557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b61037a6107aa3660046156bf565b611a0d565b3480156107bb57600080fd5b50600954610480565b3480156107d057600080fd5b5061037a611ab4565b61037a6107e73660046155ee565b611ed3565b61037a611ee0565b34801561080057600080fd5b50600254610480565b34801561081557600080fd5b503660011981013560f01c900360540135610480565b34801561083757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b34801561086a57600080fd5b506108c0610879366004615698565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103de565b34801561090a57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104e3565b34801561093d57600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103de565b34801561097e57600080fd5b503660011981013560f01c900360140135610480565b3480156109a057600080fd5b506103c96109af366004615698565b611f4c565b3480156109c057600080fd5b506104806109cf3660046155d1565b600b6020526000908152604090205481565b3480156109ed57600080fd5b506104806109fc366004615700565b6120e6565b348015610a0d57600080fd5b50610a21610a1c366004615698565b6122a7565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103de565b348015610a8157600080fd5b506000546103c99067ffffffffffffffff1681565b348015610aa257600080fd5b50610480610ab13660046155d1565b61231b565b348015610ac257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610af557600080fd5b5061037a610b04366004615729565b612373565b348015610b1557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103c9565b348015610b4857600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610b7b57600080fd5b50610445610b8a366004615698565b60046020526000908152604090205460ff1681565b348015610bab57600080fd5b5061037a610bba3660046155ee565b612416565b348015610bcb57600080fd5b50610bd46127fc565b6040516103de939291906157b5565b348015610bef57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610480565b348015610c2257600080fd5b50610445610c31366004615698565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610c6557610c65615572565b14610c835760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd6576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cef3660011981013560f01c90036014013590565b90565b610d06610d01368690038601866157f0565b612859565b14610d3d576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d52929190615864565b604051809103902014610d91576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610dda610dd584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506128b592505050565b612922565b90506000610e0182600881518110610df457610df4615874565b6020026020010151612ad8565b9050602081511115610e3f576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e96576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610f2457610f24615572565b14610f425760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610f5757610f57615874565b906000526020600020906005020190506000610f7284611f4c565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610fdb576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611024576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561104157508515155b156110a457835464010000000090046001600160a01b0316600081156110675781611076565b60018601546001600160a01b03165b90506110828187612b8c565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b03166060830152611128576001600160801b036040820152600181526000869003611128578195505b600086826020015163ffffffff1661114091906158a0565b905060008382116111515781611153565b835b602084015190915063ffffffff165b8181101561127357600086828154811061117e5761117e615874565b6000918252602080832090910154808352600690915260409091205490915060ff166111d6576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600282815481106111eb576111eb615874565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156112325750600481015460408701516001600160801b039182169116115b1561125e5760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b5050808061126b906158b8565b915050611162565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361148257606083015160008a8152600660205260409020805460ff19166001179055891580156113bf57506000547201000000000000000000000000000000000000900460ff165b1561141a576001546001600160a01b03166113da818a612b8c565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611480565b6114476001600160a01b038216156114325781611441565b60018901546001600160a01b03165b89612b8c565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff1660028111156114ae576114ae615572565b146114cc5760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff16611530576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b0316600260008154811061154f5761154f615874565b600091825260209091206005909102015464010000000090046001600160a01b03161461157d576001611580565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b83600281111561162457611624615572565b02179055600281111561163957611639615572565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061168157600080fd5b90600052602060002001600091509150505481565b905090565b6116a88383836001611a0d565b505050565b600081815260076020908152604080832060059092528220805482546116de90610100900463ffffffff16826158d2565b95945050505050565b606061169660546020612bce565b6116fd611ab4565b60006002600d5460ff16600281111561171857611718615572565b0361173c57506001600160a01b0381166000908152600b60205260409020546117ab565b6001600d5460ff16600281111561175557611755615572565b0361177957506001600160a01b0381166000908152600360205260409020546117ab565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff16611888576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b505050505050565b806000036118c2576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b15801561196857600080fd5b505af115801561197c573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119cd576040519150601f19603f3d011682016040523d82523d6000602084013e6119d2565b606091505b50509050806116a8576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480611a6c5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b611aa2576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611aae84848484612c02565b50505050565b6002600d5460ff166002811115611acd57611acd615572565b1480611aef57506001600d5460ff166002811115611aed57611aed615572565b145b15611af657565b6000600d5460ff166002811115611b0f57611b0f615572565b14611b46576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc891906158e9565b15611bff576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff16600003611c5b576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cff91906158e9565b905080611d38576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b158015611db257600080fd5b505af1925050508015611dc3575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906158e9565b90508015611e8257600d805460ff19166001179055611e90565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f91611ec79160ff909116906155a9565b60405180910390a15050565b6116a88383836000611a0d565b326001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611f42576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4a6135a3565b565b600080600054600160801b900460ff166002811115611f6d57611f6d615572565b14611f8b5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110611fa057611fa0615874565b600091825260208220600590910201805490925063ffffffff9081161461200657815460028054909163ffffffff16908110611fde57611fde615874565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b600482015460009061203190600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b6120459067ffffffffffffffff16426158d2565b61205b612024846001600160801b031660401c90565b67ffffffffffffffff1661206f91906158a0565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff16116120bc57806116de565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612163836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f00000000000000000000000000000000000000000000000000000000000000008111156121c2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a30060006121dd838361591c565b9050670de0b6b3a76400006000612214827f0000000000000000000000000000000000000000000000000000000000000000615930565b9050600061223261222d670de0b6b3a764000086615930565b613b40565b905060006122408484613d92565b9050600061224e8383613de1565b9050600061225b82613e0f565b9050600061227a82612275670de0b6b3a76400008f615930565b613ff7565b905060006122888b83613de1565b9050612294818d615930565b9f9e505050505050505050505050505050565b600281815481106122b757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff16600281111561233657612336615572565b0361235757506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806123d25750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b612408576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880868686868686614028565b60008054600160801b900460ff16600281111561243557612435615572565b146124535760405163067fe19560e41b815260040160405180910390fd5b60008060008061246286614584565b93509350935093506000612478858585856148dd565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe919061594f565b9050600189036125cb576001600160a01b0381166352f0f3ad8a8461252f3660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af11580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c5919061596c565b50611482565b600289036125ea576001600160a01b0381166352f0f3ad8a848961252f565b60038903612609576001600160a01b0381166352f0f3ad8a848761252f565b6004890361273e5760006126466001600160801b0385167f000000000000000000000000000000000000000000000000000000000000000061497c565b60095461265391906158a0565b61265e9060016158a0565b90503660011981013560f01c900360540135811061268b573660011981013560f01c90036054013561268d565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af1158015612713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612737919061596c565b5050611482565b600589036127ca576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a401612582565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c90036014013560606128376116e7565b9050909192565b60008183101561284e5781612850565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612898949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612904576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061293285614a11565b91945092509050600181600181111561294d5761294d615572565b14612984576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845161299083856158a0565b146129c7576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816129de5790505093506000835b8651811015612acc57600080612a516040518060400160405280858c60000151612a3591906158d2565b8152602001858c60200151612a4a91906158a0565b9052614a11565b509150915060405180604001604052808383612a6d91906158a0565b8152602001848b60200151612a8291906158a0565b815250888581518110612a9757612a97615874565b6020908102919091010152612aad6001856158a0565b9350612ab981836158a0565b612ac390846158a0565b92505050612a0b565b50845250919392505050565b60606000806000612ae885614a11565b919450925090506000816001811115612b0357612b03615572565b14612b3a576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b4482846158a0565b855114612b7d576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116de85602001518484614eaf565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190612bc59084906158a0565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054600160801b900460ff166002811115612c2157612c21615572565b14612c3f5760405163067fe19560e41b815260040160405180910390fd5b600060028481548110612c5457612c54615874565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514612d18576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000612dad826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612de85750612de57f000000000000000000000000000000000000000000000000000000000000000060026158a0565b81145b8015612df2575084155b15612e29576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612e4f575086155b15612e86576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612ee0576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612f0b7f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8103612f1d57612f1d86888588614f44565b34612f27836120e6565b14612f5e576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f6988611f4c565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612fd1576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ffe60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b8303613122577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061594f565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e7919061596c565b61311b907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615985565b90506131b5565b61314d60017f00000000000000000000000000000000000000000000000000000000000000006158d2565b83036131885761311b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff1660026159b1565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b6131e9817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b67ffffffffffffffff166132048367ffffffffffffffff1690565b67ffffffffffffffff16111561324b57613248817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166159e1565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff16156132c0576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c815260200190815260200160002060016002805490506134b791906158d2565b81546001810183556000928352602080842090910191909155338252600b90526040812080543492906134eb9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561354d57600080fd5b505af1158015613561573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff16156135f5576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015613655573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136799190615a0a565b9092509050816136b5576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a361461370c576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c9003605401351161376a576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b9091529182208054919290916139ab9084906158a0565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a0d57600080fd5b505af1158015613a21573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015613b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b249190615a2e565b600a805460ff191663ffffffff92909216929092141790555050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b9657631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613dcf57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dff5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e3d57919050565b680755bf798b4a1bf1e58212613e5b5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612850670de0b6b3a76400008361400f86613b40565b6140199190615a54565b6140239190615b10565b613e0f565b60008054600160801b900460ff16600281111561404757614047615572565b146140655760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061407a5761407a615874565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506140d07f000000000000000000000000000000000000000000000000000000000000000060016158a0565b61414a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1614614184576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915614260576141d77f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006158d2565b6001901b6141ed846001600160801b03166150d3565b6001600160801b03166142009190615b5a565b156142345761422b61421c60016001600160801b038716615b6e565b865463ffffffff166000615159565b60030154614256565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050614281565b6003850154915061427e61421c6001600160801b0386166001615b8e565b90505b600882901b60088a8a604051614298929190615864565b6040518091039020901b146142d9576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142e48c615222565b905060006142f3836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced3290614360908f908f908f908f908a90600401615bf9565b6020604051808303816000875af115801561437f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143a3919061596c565b60048501549114915060009060029061442c906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144a6896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6144b09190615c33565b6144ba9190615c56565b60ff1615905081151581036144fb576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b031615614545576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008060008060008590506000600282815481106145a4576145a4615874565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614659906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614693576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614738906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1692508211156147ad57825463ffffffff166147777f000000000000000000000000000000000000000000000000000000000000000060016158a0565b8303614781578391505b6002818154811061479457614794615874565b9060005260206000209060050201935080945050614697565b600481810154908401546001600160801b0391821691166000816001600160801b03166147f26147e6856001600160801b031660011c90565b6001600160801b031690565b6001600160801b0316149050801561488b576000614818836001600160801b03166150d3565b6001600160801b0316111561486857600061484861484060016001600160801b038616615b6e565b896001615159565b6003810154600490910154909c506001600160801b03169a5061486e9050565b6008549a505b600386015460048701549099506001600160801b031697506148cf565b60006148a46148406001600160801b0385166001615b8e565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b038416156149385760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a001604051602081830303815290604052805190602001206116de565b828260405160200161495d9291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b6000806149f0847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614a54576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614a79576000600160009450945094505050614ea8565b60b78111614b8f576000614a8e6080836158d2565b905080876000015111614acd576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614b4557507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614b7c576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614ea8915050565b60bf8111614ced576000614ba460b7836158d2565b905080876000015111614be3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614c45576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614c8d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614c9781846158a0565b895111614cd0576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614cdb8360016158a0565b9750955060009450614ea89350505050565b60f78111614d52576000614d0260c0836158d2565b905080876000015111614d41576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614ea8915050565b6000614d5f60f7836158d2565b905080876000015111614d9e576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614e00576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e48576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e5281846158a0565b895111614e8b576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e968360016158a0565b9750955060019450614ea89350505050565b9193909250565b60608167ffffffffffffffff811115614eca57614eca6157da565b6040519080825280601f01601f191660200182016040528015614ef4576020820181803683370190505b5090508115614f3d576000614f0984866158a0565b90506020820160005b84811015614f2a578281015182820152602001614f12565b84811115614f39576000858301525b5050505b9392505050565b6000614f5a6001600160801b0384166001615b8e565b90506000614f6a82866001615159565b9050600086901a83806150345750614fa360027f0000000000000000000000000000000000000000000000000000000000000000615b5a565b6004830154600290615025906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61502f9190615c56565b60ff16145b1561508c5760ff81166001148061504e575060ff81166002145b615087576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b6150ca565b60ff8116156150ca576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401613761565b50505050505050565b600080615147837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b60008082615199576151946001600160801b0386167f0000000000000000000000000000000000000000000000000000000000000000615251565b6151ab565b6151ab856001600160801b0316615390565b9050600284815481106151c0576151c0615874565b906000526020600020906005020191505b60048201546001600160801b0382811691161461521a57815460028054909163ffffffff1690811061520557615205615874565b906000526020600020906005020191506151d1565b509392505050565b600080600080600061523386614584565b9350935093509350615247848484846148dd565b9695505050505050565b6000816152ce846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116152e45763b34b5c226000526004601cfd5b6152ed83615390565b90508161536a826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612853576128506153808360016158a0565b6001600160801b0383169061541c565b6000811960018301168161540b827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b600080615490847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f8401126154be57600080fd5b50813567ffffffffffffffff8111156154d657600080fd5b6020830191508360208285010111156154ee57600080fd5b9250929050565b600080600083850360a081121561550b57600080fd5b608081121561551957600080fd5b50839250608084013567ffffffffffffffff81111561553757600080fd5b615543868287016154ac565b9497909650939450505050565b6000806040838503121561556357600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600381106155a657634e487b7160e01b600052602160045260246000fd5b50565b602081016155b683615588565b91905290565b6001600160a01b03811681146155a657600080fd5b6000602082840312156155e357600080fd5b8135614f3d816155bc565b60008060006060848603121561560357600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561564057602081850181015186830182015201615624565b81811115615652576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612850602083018461561a565b6000602082840312156156aa57600080fd5b5035919050565b80151581146155a657600080fd5b600080600080608085870312156156d557600080fd5b84359350602085013592506040850135915060608501356156f5816156b1565b939692955090935050565b60006020828403121561571257600080fd5b81356001600160801b0381168114614f3d57600080fd5b6000806000806000806080878903121561574257600080fd5b863595506020870135615754816156b1565b9450604087013567ffffffffffffffff8082111561577157600080fd5b61577d8a838b016154ac565b9096509450606089013591508082111561579657600080fd5b506157a389828a016154ac565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006116de606083018461561a565b634e487b7160e01b600052604160045260246000fd5b60006080828403121561580257600080fd5b6040516080810181811067ffffffffffffffff8211171561583357634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156158b3576158b361588a565b500190565b600060001982036158cb576158cb61588a565b5060010190565b6000828210156158e4576158e461588a565b500390565b6000602082840312156158fb57600080fd5b8151614f3d816156b1565b634e487b7160e01b600052601260045260246000fd5b60008261592b5761592b615906565b500490565b600081600019048311821515161561594a5761594a61588a565b500290565b60006020828403121561596157600080fd5b8151614f3d816155bc565b60006020828403121561597e57600080fd5b5051919050565b600067ffffffffffffffff8083168185168083038211156159a8576159a861588a565b01949350505050565b600067ffffffffffffffff808316818516818304811182151516156159d8576159d861588a565b02949350505050565b600067ffffffffffffffff83811690831681811015615a0257615a0261588a565b039392505050565b60008060408385031215615a1d57600080fd5b505080516020909101519092909150565b600060208284031215615a4057600080fd5b815163ffffffff81168114614f3d57600080fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615a9557615a9561588a565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615ad057615ad061588a565b60008712925087820587128484161615615aec57615aec61588a565b87850587128184161615615b0257615b0261588a565b505050929093029392505050565b600082615b1f57615b1f615906565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615b5557615b5561588a565b500590565b600082615b6957615b69615906565b500690565b60006001600160801b0383811690831681811015615a0257615a0261588a565b60006001600160801b038083168185168083038211156159a8576159a861588a565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615c0d606083018789615bb0565b8281036020840152615c20818688615bb0565b9150508260408301529695505050505050565b600060ff821660ff841680821015615c4d57615c4d61588a565b90039392505050565b600060ff831680615c6957615c69615906565b8060ff8416069150509291505056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000103caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb90800000000000000000000000032ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000037637067c1dbe6d2430616d8f54cb774daa59990000000000000000000000008b8c52b04a38f10515c52670fcb23f3c4c44474f" }, { "transactionType": "CREATE2", "contractName": null, "address": "0xed839a2aa262eccc513308fe7b8f39088ff8e992", "initCode": "0x6101c06040523480156200001257600080fd5b50604051620062933803806200629383398101604081905262000035916200052e565b620000436001607e62000601565b60ff16816040015111156200006b57604051633beff19960e11b815260040160405180910390fd5b60001981606001511480620000955750604081015160608201516200009290600162000627565b10155b15620000b45760405163e62ccf3960e01b815260040160405180910390fd5b600281606001511015620000db5760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b0380168160c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000128573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014e919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b2919062000662565b1115620001d25760405163b4e1243360e01b815260040160405180910390fd5b6000620001f782608001516001600160401b03166200048060201b62000c701760201c565b6200020d906001600160401b031660026200067c565b905060008260c001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000254573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027a919062000642565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002de919062000662565b6200030184608001516001600160401b03166200048060201b62000c701760201c565b6001600160401b031662000316919062000627565b905060006200033183836200048360201b62003aa61760201c565b90506001600160401b038111156200035c5760405163235dfb2b60e21b815260040160405180910390fd5b6200037f8460a001516001600160401b03166200048060201b62000c701760201c565b6001600160401b0316816001600160401b03161115620003b25760405163235dfb2b60e21b815260040160405180910390fd5b63ffffffff8016620003d9856000015163ffffffff166200048060201b62000c701760201c565b63ffffffff1603620003fe5760405163073ed16760e31b815260040160405180910390fd5b5050815163ffffffff1661012090815260208301516080908152604084015160a0908152606085015160c0908152918501516001600160401b039081166101a052908501511660e0908152908401516001600160a01b03908116610100908152918501518116610140529084015116610160529091015161018052506200069e565b90565b60008183101562000495578162000497565b825b9392505050565b60405161014081016001600160401b0381118282101715620004d057634e487b7160e01b600052604160045260246000fd5b60405290565b805163ffffffff81168114620004eb57600080fd5b919050565b80516001600160401b0381168114620004eb57600080fd5b6001600160a01b03811681146200051e57600080fd5b50565b8051620004eb8162000508565b600061014082840312156200054257600080fd5b6200054c6200049e565b6200055783620004d6565b81526020830151602082015260408301516040820152606083015160608201526200058560808401620004f0565b60808201526200059860a08401620004f0565b60a0820152620005ab60c0840162000521565b60c0820152620005be60e0840162000521565b60e0820152610100620005d381850162000521565b90820152610120928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8416808210156200061e576200061e620005eb565b90039392505050565b600082198211156200063d576200063d620005eb565b500190565b6000602082840312156200065557600080fd5b8151620004978162000508565b6000602082840312156200067557600080fd5b5051919050565b6000816000190483118215151615620006995762000699620005eb565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a051615a53620008406000396000818161072f01528181611e7c01528181611ee70152611f1a015260008181610a4901526139e40152600081816106a5015281816123c60152818161250a015281816125e401528181612673015281816127b50152612c68015260008181610593015281816117aa015281816118a6015281816122830152612b6f0152600081816108cc01528181612c3f0152613a6601526000818161053001528181611d950152818161341501526136e6015260008181610a9c01528181610f0301528181611d0501528181611f4a01528181611fa901528181612e2b0152612e6d015260008181610acf01528181611b4e01528181611c7401528181611eb80152818161328c0152818161388a01528181613ea50152818161457e0152818161469a01528181614779015261482c015260008181610b7601528181611c1701528181611d6901528181612f1901528181612f9f015281816131a401526132ad0152600081816107f101526133300152615a536000f3fe60806040526004361061033f5760003560e01c806370872aa5116101b0578063c395e1ca116100ec578063dabd396d11610095578063f8f43ff61161006f578063f8f43ff614610b23578063fa24f74314610b43578063fa315aa914610b67578063fe2bbeb214610b9a57600080fd5b8063dabd396d14610a8d578063ec5e630814610ac0578063eff0f59214610af357600080fd5b8063d5d44d80116100c6578063d5d44d8014610a1a578063d6ae3cd514610a3a578063d8cc1a3c14610a6d57600080fd5b8063c395e1ca14610965578063c6f0308c14610985578063cf09e0d0146109f957600080fd5b80638d450a9511610159578063bbdc02db11610133578063bbdc02db146108b5578063bcef3b55146108f6578063bd8da95614610918578063c0d8bb741461093857600080fd5b80638d450a95146107e257806399735e32146107c0578063a445ece61461081557600080fd5b80638129fc1c1161018a5780638129fc1c146107a35780638980e0cc146107ab5780638b85902b146107c057600080fd5b806370872aa514610766578063786b844b1461077b5780637b0f0adc1461079057600080fd5b80633e3ac9121161027f5780635a5fa2d91161022857806360e274641161020257806360e27464146106de5780636361506d146106fe5780636b6716c0146107205780636f0344091461075357600080fd5b80635a5fa2d9146106765780635c0cba3314610696578063609d3334146106c957600080fd5b8063529d6a8c11610259578063529d6a8c146105ca57806354fd4d50146105f757806357da950e1461064657600080fd5b80633e3ac912146105545780633fc8cef314610584578063472777c6146105b757600080fd5b806325fc2ace116102ec57806330dbe570116102c657806330dbe570146104ad578063378dd48c146104e557806337b1b229146104ff5780633a7684631461052157600080fd5b806325fc2ace146104595780632810e1d6146104785780632ad69aeb1461048d57600080fd5b8063200d2ed21161031d578063200d2ed2146103d1578063222abf45146103ff578063250e69bd1461043f57600080fd5b8063019351301461034457806303c2924d1461036657806319effeb414610386575b600080fd5b34801561035057600080fd5b5061036461035f3660046152c3565b610bca565b005b34801561037257600080fd5b5061036461038136600461531e565b610e89565b34801561039257600080fd5b506000546103b39068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103dd57600080fd5b506000546103f290600160801b900460ff1681565b6040516103c89190615377565b34801561040b57600080fd5b5061042f61041a36600461539f565b600c6020526000908152604090205460ff1681565b60405190151581526020016103c8565b34801561044b57600080fd5b50600a5461042f9060ff1681565b34801561046557600080fd5b506008545b6040519081526020016103c8565b34801561048457600080fd5b506103f2611411565b34801561049957600080fd5b5061046a6104a836600461531e565b6115e9565b3480156104b957600080fd5b506001546104cd906001600160a01b031681565b6040516001600160a01b0390911681526020016103c8565b3480156104f157600080fd5b50600d546103f29060ff1681565b34801561050b57600080fd5b503660011981013560f01c90033560601c6104cd565b34801561052d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b34801561056057600080fd5b5060005461042f907201000000000000000000000000000000000000900460ff1681565b34801561059057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b6103646105c53660046153bc565b61161f565b3480156105d657600080fd5b5061046a6105e536600461539f565b60036020526000908152604090205481565b34801561060357600080fd5b5060408051808201909152600581527f312e382e3000000000000000000000000000000000000000000000000000000060208201525b6040516103c89190615453565b34801561065257600080fd5b50600854600954610661919082565b604080519283526020830191909152016103c8565b34801561068257600080fd5b5061046a610691366004615466565b611631565b3480156106a257600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006104cd565b3480156106d557600080fd5b5061063961166b565b3480156106ea57600080fd5b506103646106f936600461539f565b611679565b34801561070a57600080fd5b503660011981013560f01c90036034013561046a565b34801561072c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b61036461076136600461548d565b611991565b34801561077257600080fd5b5060095461046a565b34801561078757600080fd5b50610364612332565b61036461079e3660046153bc565b612751565b61036461275e565b3480156107b757600080fd5b5060025461046a565b3480156107cc57600080fd5b503660011981013560f01c90036054013561046a565b3480156107ee57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b34801561082157600080fd5b50610877610830366004615466565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046001600160801b0316906001600160a01b031684565b60408051941515855263ffffffff90931660208501526001600160801b03909116918301919091526001600160a01b031660608201526080016103c8565b3480156108c157600080fd5b5060405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c8565b34801561090257600080fd5b503660011981013560f01c90036014013561046a565b34801561092457600080fd5b506103b3610933366004615466565b612cfb565b34801561094457600080fd5b5061046a61095336600461539f565b600b6020526000908152604090205481565b34801561097157600080fd5b5061046a6109803660046154ce565b612e95565b34801561099157600080fd5b506109a56109a0366004615466565b613056565b6040805163ffffffff90981688526001600160a01b03968716602089015295909416948601949094526001600160801b039182166060860152608085015291821660a08401521660c082015260e0016103c8565b348015610a0557600080fd5b506000546103b39067ffffffffffffffff1681565b348015610a2657600080fd5b5061046a610a3536600461539f565b6130ca565b348015610a4657600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610a7957600080fd5b50610364610a883660046154f7565b613122565b348015610a9957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103b3565b348015610acc57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610aff57600080fd5b5061042f610b0e366004615466565b60046020526000908152604090205460ff1681565b348015610b2f57600080fd5b50610364610b3e3660046153bc565b61367e565b348015610b4f57600080fd5b50610b58613a64565b6040516103c893929190615583565b348015610b7357600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061046a565b348015610ba657600080fd5b5061042f610bb5366004615466565b60066020526000908152604090205460ff1681565b60008054600160801b900460ff166002811115610be957610be9615340565b14610c075760405163067fe19560e41b815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610c5a576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c733660011981013560f01c90036014013590565b90565b610c8a610c85368690038601866155be565b613ac1565b14610cc1576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610cd6929190615632565b604051809103902014610d15576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d5e610d5984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b1d92505050565b613b8a565b90506000610d8582600881518110610d7857610d78615642565b6020026020010151613d40565b9050602081511115610dc3576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c3660011981013560f01c9003605401358103610e1a576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054600160801b900460ff166002811115610ea857610ea8615340565b14610ec65760405163067fe19560e41b815260040160405180910390fd5b600060028381548110610edb57610edb615642565b906000526020600020906005020190506000610ef684612cfb565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015610f5f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615610fa8576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600560205260409020805480158015610fc557508515155b1561102857835464010000000090046001600160a01b031660008115610feb5781610ffa565b60018601546001600160a01b03165b90506110068187613df4565b505050600094855250506006602052505060409020805460ff19166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046001600160801b031693810193909352600101546001600160a01b031660608301526110ac576001600160801b0360408201526001815260008690036110ac578195505b600086826020015163ffffffff166110c4919061566e565b905060008382116110d557816110d7565b835b602084015190915063ffffffff165b818110156111f757600086828154811061110257611102615642565b6000918252602080832090910154808352600690915260409091205490915060ff1661115a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061116f5761116f615642565b60009182526020909120600590910201805490915064010000000090046001600160a01b03161580156111b65750600481015460408701516001600160801b039182169116115b156111e25760018101546001600160a01b0316606087015260048101546001600160801b031660408701525b505080806111ef90615686565b9150506110e6565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006001600160801b03909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039093169290921790915584900361140657606083015160008a8152600660205260409020805460ff191660011790558915801561134357506000547201000000000000000000000000000000000000900460ff165b1561139e576001546001600160a01b031661135e818a613df4565b88546001600160a01b03909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff909116178855611404565b6113cb6001600160a01b038216156113b657816113c5565b60018901546001600160a01b03165b89613df4565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff166401000000006001600160a01b038316021788555b505b505050505050505050565b600080600054600160801b900460ff16600281111561143257611432615340565b146114505760405163067fe19560e41b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166114b4576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006001600160a01b031660026000815481106114d3576114d3615642565b600091825260209091206005909102015464010000000090046001600160a01b031614611501576001611504565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff90911617600160801b8360028111156115a8576115a8615340565b0217905560028111156115bd576115bd615340565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a290565b6005602052816000526040600020818154811061160557600080fd5b90600052602060002001600091509150505481565b905090565b61162c8383836001611991565b505050565b6000818152600760209081526040808320600590925282208054825461166290610100900463ffffffff16826156a0565b95945050505050565b606061161a60546020613e36565b611681612332565b60006002600d5460ff16600281111561169c5761169c615340565b036116c057506001600160a01b0381166000908152600b602052604090205461172f565b6001600d5460ff1660028111156116d9576116d9615340565b036116fd57506001600160a01b03811660009081526003602052604090205461172f565b6040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152600c602052604090205460ff1661180c576001600160a01b038281166000818152600c602052604090819020805460ff19166001179055517f7eee288d0000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b1580156117f057600080fd5b505af1158015611804573d6000803e3d6000fd5b505050505050565b80600003611846576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038281166000818152600b60209081526040808320839055600390915280822091909155517ff3fef3a30000000000000000000000000000000000000000000000000000000081526004810191909152602481018390527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611951576040519150601f19603f3d011682016040523d82523d6000602084013e611956565b606091505b505090508061162c576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054600160801b900460ff1660028111156119b0576119b0615340565b146119ce5760405163067fe19560e41b815260040160405180910390fd5b6000600284815481106119e3576119e3615642565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff811684526001600160a01b0364010000000090910481169484019490945260018101549093169082015260028201546001600160801b03908116606083015260038301546080830181905260049093015480821660a0840152600160801b90041660c082015291508514611aa7576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156001600160801b0383161760011b90506000611b3c826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580611b775750611b747f0000000000000000000000000000000000000000000000000000000000000000600261566e565b81145b8015611b81575084155b15611bb8576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015611bde575086155b15611c15576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115611c6f576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c9a7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b8103611cac57611cac86888588613e6a565b34611cb683612e95565b14611ced576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611cf888612cfb565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603611d60576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d8d60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611eb1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1591906156b7565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7691906156d4565b611eaa907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166156ed565b9050611f44565b611edc60017f00000000000000000000000000000000000000000000000000000000000000006156a0565b8303611f1757611eaa7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615719565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b611f78817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b67ffffffffffffffff16611f938367ffffffffffffffff1690565b67ffffffffffffffff161115611fda57611fd7817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615749565b91505b6000604083901b421760008a8152608087901b6001600160801b038d1617602052604081209192509060008181526004602052604090205490915060ff161561204f576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff16815260200160006001600160a01b03168152602001336001600160a01b03168152602001346001600160801b031681526020018c8152602001886001600160801b03168152602001846001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160020160006101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816003015560a08201518160040160006101000a8154816001600160801b0302191690836001600160801b0316021790555060c08201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600560008c8152602001908152602001600020600160028054905061224691906156a0565b81546001810183556000928352602080842090910191909155338252600b905260408120805434929061227a90849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122dc57600080fd5b505af11580156122f0573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b6002600d5460ff16600281111561234b5761234b615340565b148061236d57506001600d5460ff16600281111561236b5761236b615340565b145b1561237457565b6000600d5460ff16600281111561238d5761238d615340565b146123c4576040517f078a3df400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190615772565b1561247d576040517f379a7ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005468010000000000000000900467ffffffffffffffff1667ffffffffffffffff166000036124d9576040517fc105260a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f0314d2b30000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015612559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257d9190615772565b9050806125b6576040517f4851bd9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f17cf21a90000000000000000000000000000000000000000000000000000000081523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561263057600080fd5b505af1925050508015612641575060015b506040517f496b9c160000000000000000000000000000000000000000000000000000000081523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615772565b9050801561270057600d805460ff1916600117905561270e565b600d805460ff191660021790555b600d546040517f9908eaac0645df9d0704d06adc9e07337c951de2f06b5f2836151d48d5e4722f916127459160ff90911690615377565b60405180910390a15050565b61162c8383836000611991565b60005471010000000000000000000000000000000000900460ff16156127b0576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d83ef2676040518163ffffffff1660e01b81526004016040805180830381865afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612834919061578f565b909250905081612870576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915282815260200181905260088290556009819055607a36146128c7576040517f9824bdab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803660011981013560f01c90036054013511612925576040517ff40239db0000000000000000000000000000000000000000000000000000000081523660011981013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff808252600060208084018281523660011981013560f01c90038035606090811c8789018181526001600160801b0334818116948b0194855260149095013560808b01908152600160a08c0181815242841660c08e019081526002805493840181558c529c517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace600590930292830180549a5191909d167fffffffffffffffff000000000000000000000000000000000000000000000000909a16999099176401000000006001600160a01b039a8b160217909b5592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf840180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919098161790965592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0820180547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691851691909117905593517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015595519651968116600160801b9790911696909602959095177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad2909101558154710100000000000000000000000000000000007fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff909116178255918152600b909152918220805491929091612b6690849061566e565b925050819055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612bc857600080fd5b505af1158015612bdc573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050604080517f3c9f397c00000000000000000000000000000000000000000000000000000000815290517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1692507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015612cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cdf91906157b3565b600a805460ff191663ffffffff92909216929092141790555050565b600080600054600160801b900460ff166002811115612d1c57612d1c615340565b14612d3a5760405163067fe19560e41b815260040160405180910390fd5b600060028381548110612d4f57612d4f615642565b600091825260208220600590910201805490925063ffffffff90811614612db557815460028054909163ffffffff16908110612d8d57612d8d615642565b906000526020600020906005020160040160109054906101000a90046001600160801b031690505b6004820154600090612de090600160801b900467ffffffffffffffff165b67ffffffffffffffff1690565b612df49067ffffffffffffffff16426156a0565b612e0a612dd3846001600160801b031660401c90565b67ffffffffffffffff16612e1e919061566e565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611612e6b5780611662565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080612f12836001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115612f71576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000612f8c83836157ef565b9050670de0b6b3a76400006000612fc3827f0000000000000000000000000000000000000000000000000000000000000000615803565b90506000612fe1612fdc670de0b6b3a764000086615803565b613ff9565b90506000612fef848461424b565b90506000612ffd838361429a565b9050600061300a826142c8565b9050600061302982613024670de0b6b3a76400008f615803565b6144b0565b905060006130378b8361429a565b9050613043818d615803565b9f9e505050505050505050505050505050565b6002818154811061306657600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff841695506401000000009093046001600160a01b03908116949216926001600160801b03918216929180821691600160801b90041687565b60006002600d5460ff1660028111156130e5576130e5615340565b0361310657506001600160a01b03166000908152600b602052604090205490565b506001600160a01b031660009081526003602052604090205490565b60008054600160801b900460ff16600281111561314157613141615340565b1461315f5760405163067fe19560e41b815260040160405180910390fd5b60006002878154811061317457613174615642565b6000918252602082206005919091020160048101549092506001600160801b0316908715821760011b90506131ca7f0000000000000000000000000000000000000000000000000000000000000000600161566e565b613244826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161461327e576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080891561335a576132d17f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006156a0565b6001901b6132e7846001600160801b03166144e1565b6001600160801b03166132fa9190615822565b1561332e5761332561331660016001600160801b038716615836565b865463ffffffff166000614567565b60030154613350565b7f00000000000000000000000000000000000000000000000000000000000000005b915084905061337b565b600385015491506133786133166001600160801b0386166001615856565b90505b600882901b60088a8a604051613392929190615632565b6040518091039020901b146133d3576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006133de8c614630565b905060006133ed836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e14ced329061345a908f908f908f908f908a906004016158c1565b6020604051808303816000875af1158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349d91906156d4565b600485015491149150600090600290613526906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135a0896001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6135aa91906158fb565b6135b4919061591e565b60ff1615905081151581036135f5576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b875464010000000090046001600160a01b03161561363f576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054600160801b900460ff16600281111561369d5761369d615340565b146136bb5760405163067fe19560e41b815260040160405180910390fd5b6000806000806136ca8661465f565b935093509350935060006136e0858585856149b8565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061376691906156b7565b905060018903613833576001600160a01b0381166352f0f3ad8a846137973660011981013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af1158015613809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061382d91906156d4565b50611406565b60028903613852576001600160a01b0381166352f0f3ad8a8489613797565b60038903613871576001600160a01b0381166352f0f3ad8a8487613797565b600489036139a65760006138ae6001600160801b0385167f0000000000000000000000000000000000000000000000000000000000000000614a57565b6009546138bb919061566e565b6138c690600161566e565b90503660011981013560f01c90036054013581106138f3573660011981013560f01c9003605401356138f5565b805b90506001600160a01b0382166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af115801561397b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399f91906156d4565b5050611406565b60058903613a32576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b604482015260086064820152608481018890526001600160a01b038216906352f0f3ad9060a4016137ea565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003660011981013560f01c9003601401356060613a9f61166b565b9050909192565b600081831015613ab65781613ab8565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001613b00949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003613b6c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b60606000806000613b9a85614aec565b919450925090506001816001811115613bb557613bb5615340565b14613bec576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8451613bf8838561566e565b14613c2f576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b6040805180820190915260008082526020820152815260200190600190039081613c465790505093506000835b8651811015613d3457600080613cb96040518060400160405280858c60000151613c9d91906156a0565b8152602001858c60200151613cb2919061566e565b9052614aec565b509150915060405180604001604052808383613cd5919061566e565b8152602001848b60200151613cea919061566e565b815250888581518110613cff57613cff615642565b6020908102919091010152613d1560018561566e565b9350613d21818361566e565b613d2b908461566e565b92505050613c73565b50845250919392505050565b60606000806000613d5085614aec565b919450925090506000816001811115613d6b57613d6b615340565b14613da2576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613dac828461566e565b855114613de5576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61166285602001518484614f8a565b60028101546001600160a01b038316600090815260036020526040812080546001600160801b0390931692909190613e2d90849061566e565b90915550505050565b6040518181523660011981013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b6000613e806001600160801b0384166001615856565b90506000613e9082866001614567565b9050600086901a8380613f5a5750613ec960027f0000000000000000000000000000000000000000000000000000000000000000615822565b6004830154600290613f4b906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b613f55919061591e565b60ff16145b15613fb25760ff811660011480613f74575060ff81166002145b613fad576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b613ff0565b60ff811615613ff0576040517ff40239db0000000000000000000000000000000000000000000000000000000081526004810188905260240161291c565b50505050505050565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b176000821361404f57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261428857637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156142b85763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136142f657919050565b680755bf798b4a1bf1e582126143145763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000613ab8670de0b6b3a7640000836144c886613ff9565b6144d29190615940565b6144dc91906159fc565b6142c8565b600080614555837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b600080826145a7576145a26001600160801b0386167f000000000000000000000000000000000000000000000000000000000000000061501f565b6145b9565b6145b9856001600160801b031661515e565b9050600284815481106145ce576145ce615642565b906000526020600020906005020191505b60048201546001600160801b0382811691161461462857815460028054909163ffffffff1690811061461357614613615642565b906000526020600020906005020191506145df565b509392505050565b60008060008060006146418661465f565b9350935093509350614655848484846149b8565b9695505050505050565b600080600080600085905060006002828154811061467f5761467f615642565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614734906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff161161476e576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f000000000000000000000000000000000000000000000000000000000000000090614813906001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561488857825463ffffffff166148527f0000000000000000000000000000000000000000000000000000000000000000600161566e565b830361485c578391505b6002818154811061486f5761486f615642565b9060005260206000209060050201935080945050614772565b600481810154908401546001600160801b0391821691166000816001600160801b03166148cd6148c1856001600160801b031660011c90565b6001600160801b031690565b6001600160801b031614905080156149665760006148f3836001600160801b03166144e1565b6001600160801b0316111561494357600061492361491b60016001600160801b038616615836565b896001614567565b6003810154600490910154909c506001600160801b03169a506149499050565b6008549a505b600386015460048701549099506001600160801b031697506149aa565b600061497f61491b6001600160801b0385166001615856565b6003808901546004808b015492840154930154909e506001600160801b039182169d50919b50169850505b505050505050509193509193565b60006001600160801b03841615614a135760408051602081018790526001600160801b038087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611662565b8282604051602001614a389291909182526001600160801b0316602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614acb847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614b2f576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614b54576000600160009450945094505050614f83565b60b78111614c6a576000614b696080836156a0565b905080876000015111614ba8576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614c2057507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614c57576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614f83915050565b60bf8111614dc8576000614c7f60b7836156a0565b905080876000015111614cbe576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614d20576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614d68576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d72818461566e565b895111614dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614db683600161566e565b9750955060009450614f839350505050565b60f78111614e2d576000614ddd60c0836156a0565b905080876000015111614e1c576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614f83915050565b6000614e3a60f7836156a0565b905080876000015111614e79576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614edb576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614f23576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f2d818461566e565b895111614f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614f7183600161566e565b9750955060019450614f839350505050565b9193909250565b60608167ffffffffffffffff811115614fa557614fa56155a8565b6040519080825280601f01601f191660200182016040528015614fcf576020820181803683370190505b5090508115615018576000614fe4848661566e565b90506020820160005b84811015615005578281015182820152602001614fed565b84811115615014576000858301525b5050505b9392505050565b60008161509c846001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116150b25763b34b5c226000526004601cfd5b6150bb8361515e565b905081615138826001600160801b03167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611613abb57613ab861514e83600161566e565b6001600160801b038316906151ea565b600081196001830116816151d9827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b60008061525e847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f6307c4acdd60e01b67ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261528c57600080fd5b50813567ffffffffffffffff8111156152a457600080fd5b6020830191508360208285010111156152bc57600080fd5b9250929050565b600080600083850360a08112156152d957600080fd5b60808112156152e757600080fd5b50839250608084013567ffffffffffffffff81111561530557600080fd5b6153118682870161527a565b9497909650939450505050565b6000806040838503121561533157600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6003811061537457634e487b7160e01b600052602160045260246000fd5b50565b6020810161538483615356565b91905290565b6001600160a01b038116811461537457600080fd5b6000602082840312156153b157600080fd5b81356150188161538a565b6000806000606084860312156153d157600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561540e576020818501810151868301820152016153f2565b81811115615420576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000613ab860208301846153e8565b60006020828403121561547857600080fd5b5035919050565b801515811461537457600080fd5b600080600080608085870312156154a357600080fd5b84359350602085013592506040850135915060608501356154c38161547f565b939692955090935050565b6000602082840312156154e057600080fd5b81356001600160801b038116811461501857600080fd5b6000806000806000806080878903121561551057600080fd5b8635955060208701356155228161547f565b9450604087013567ffffffffffffffff8082111561553f57600080fd5b61554b8a838b0161527a565b9096509450606089013591508082111561556457600080fd5b5061557189828a0161527a565b979a9699509497509295939492505050565b63ffffffff8416815282602082015260606040820152600061166260608301846153e8565b634e487b7160e01b600052604160045260246000fd5b6000608082840312156155d057600080fd5b6040516080810181811067ffffffffffffffff8211171561560157634e487b7160e01b600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000821982111561568157615681615658565b500190565b6000600019820361569957615699615658565b5060010190565b6000828210156156b2576156b2615658565b500390565b6000602082840312156156c957600080fd5b81516150188161538a565b6000602082840312156156e657600080fd5b5051919050565b600067ffffffffffffffff80831681851680830382111561571057615710615658565b01949350505050565b600067ffffffffffffffff8083168185168183048111821515161561574057615740615658565b02949350505050565b600067ffffffffffffffff8381169083168181101561576a5761576a615658565b039392505050565b60006020828403121561578457600080fd5b81516150188161547f565b600080604083850312156157a257600080fd5b505080516020909101519092909150565b6000602082840312156157c557600080fd5b815163ffffffff8116811461501857600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826157fe576157fe6157d9565b500490565b600081600019048311821515161561581d5761581d615658565b500290565b600082615831576158316157d9565b500690565b60006001600160801b038381169083168181101561576a5761576a615658565b60006001600160801b0380831681851680830382111561571057615710615658565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006158d5606083018789615878565b82810360208401526158e8818688615878565b9150508260408301529695505050505050565b600060ff821660ff84168082101561591557615915615658565b90039392505050565b600060ff831680615931576159316157d9565b8060ff84160691505092915050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561598157615981615658565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156159bc576159bc615658565b600087129250878205871284841616156159d8576159d8615658565b878505871281841616156159ee576159ee615658565b505050929093029392505050565b600082615a0b57615a0b6157d9565b60001983147f800000000000000000000000000000000000000000000000000000000000000083141615615a4157615a41615658565b50059056fea164736f6c634300080f000a000000000000000000000000000000000000000000000000000000000000000003caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d400000000000000000000000006463dee3828677f6270d83d45408044fc5edb908000000000000000000000000d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000000000000000000000000000000000000000014a34" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1fd25cd", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c69e4c24db479191676611a25d977203c3bdca620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4ff2dd5a100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f303caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000007f10098bd53519c739ca8a404afe127647d947740000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x18e", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x18f", "removed": false }, { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x190", "removed": false }, { "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x191", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x192", "removed": false }, { "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe000000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x193", "removed": false }, { "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x194", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x195", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x196", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000014a34", "0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x197", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x41a6d7fbb33919d08a40b81927f228de3011cca9ece4c32b179f8e4711572b5a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "blockTimestamp": "0x691c7ef8", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "logIndex": "0x198", "removed": false } ], "logsBloom": "0x000000004006000000000008000000004008000000000000000000800440030000000002000000000400010400000000800000000000000000000100000481000004810004000000000000001000020000000400008400400000000011000000000000000201000000000080200008000000000000200000000000000000082000202800000008000000000000000000080400000020000000000000000000000000000004200001000000000a0004020000000000018080040200800000000004000020000000000000000000020400000000000800200001010420400060000000002000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x248f85399e2a23687bd9d1440b51d9677a94ff763827abcad5a2a4b457c70590", "transactionIndex": "0x89", "blockHash": "0x9b45b3ef14485b48fef0d3c24c3c4fc61ed4f2290698cd4db84b6bda2d17d749", "blockNumber": "0x935539", "gasUsed": "0x9a7f69", "effectiveGasPrice": "0xf4249", "from": "0x7f10098bd53519c739ca8a404afe127647d94774", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763475193401, "chain": 11155111, "commit": "58a1ca7" } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/script/UpgradeWithOpSmartContractManager.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import { IOPContractsManager, IOPContractsManagerStandardValidator, ISystemConfig, IProxyAdmin } from "@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; /// @notice This script deploys new versions of OP contracts using the OP Contract Manager. contract UpgradeWithOpSmartContractManager is MultisigScript { ISystemConfig internal immutable _SYSTEM_CONFIG; IOPContractsManager internal immutable OP_CONTRACT_MANAGER; address public immutable OWNER_SAFE; IProxyAdmin public immutable PROXY_ADMIN; Claim immutable CANNON_ABSOLUTE_PRESTATE; address internal immutable L1_PROXY_ADMIN_OWNER; address internal immutable CHALLENGER; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); PROXY_ADMIN = IProxyAdmin(vm.envAddress("PROXY_ADMIN")); _SYSTEM_CONFIG = ISystemConfig(vm.envAddress("SYSTEM_CONFIG")); OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress("OP_CONTRACT_MANAGER")); CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); L1_PROXY_ADMIN_OWNER = vm.envAddress("L1_PROXY_ADMIN_OWNER"); CHALLENGER = vm.envAddress("CHALLENGER"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IOPContractsManagerStandardValidator.ValidationInput memory input = IOPContractsManagerStandardValidator.ValidationInput( PROXY_ADMIN, _SYSTEM_CONFIG, Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), _SYSTEM_CONFIG.l2ChainId() ); IOPContractsManagerStandardValidator.ValidationOverrides memory overrides = IOPContractsManagerStandardValidator.ValidationOverrides(L1_PROXY_ADMIN_OWNER, CHALLENGER); OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig(_SYSTEM_CONFIG, PROXY_ADMIN, CANNON_ABSOLUTE_PRESTATE); IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1); opChainConfigs[0] = baseConfig; IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: address(OP_CONTRACT_MANAGER), allowFailure: false, callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } function _useDelegateCall() internal pure override returns (bool) { return true; } } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x738cb5c63b889ddbbab5ae7e0c4cdc182dae7f4ff1716678cd31e4b2b9620925" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0xdc3041261ef345875deee5bbf656467f61ae2f0260ba59b96dff236b329efe6e", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "L1ERC721Bridge Proxy", "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update address of L1ERC721Bridge to new implementation", "allowDifference": false } ] }, { "name": "Optimism Portal Proxy", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of Optimism Portal to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000009", "after": "0x000000000000000000000000000000000000000000000000000000000000000a", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x97386419018d8c4d4f497136fc297808ef32cc774fab08b062e9d2cebcc7b0e8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "AddressManager", "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "OptimismMintableERC20Factory Proxy", "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "DisputeGameFactory Proxy", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "description": "Update address of PermissionedDisputeGame to new implementation", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "description": "Update address of FaultDisputeGame to new implementation", "allowDifference": false } ] }, { "name": "System Config Proxy - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update address of SystemConfig to new implementation", "allowDifference": false } ] }, { "name": "L1StandardBridge Proxy", "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/validations/cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xf499c3a3e9535241bfe7ff1a97239b3b2042e314614c6c1869b56a56d878ec3d" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x779df92d36af0820632e0ba83514bd3cb1ef99f5b9e496659c11d24ab3d95b54", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x132b6656c4b15beb5c2e41642af758bc0a8f119e85c129268964c2082734d0fa", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "L1ERC721Bridge Proxy", "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update address of L1ERC721Bridge to new implementation", "allowDifference": false } ] }, { "name": "Optimism Portal Proxy", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of Optimism Portal to new implementation", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000009", "after": "0x000000000000000000000000000000000000000000000000000000000000000a", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x2f5145ced07ce269c6c4db5520937e13f39750363e1135f1fc5ed25c961f8a1b", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "AddressManager", "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "OptimismMintableERC20Factory Proxy", "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "DisputeGameFactory Proxy", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "description": "Update address of PermissionedDisputeGame to new implementation", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "description": "Update address of FaultDisputeGame to new implementation", "allowDifference": false } ] }, { "name": "System Config Proxy - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update address of SystemConfig to new implementation", "allowDifference": false } ] }, { "name": "L1StandardBridge Proxy", "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-07-upgrade-fault-proofs/validations/op-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeWithOpSmartContractManager --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xfb472420ca18b7ebe56d16c2efb3b593e9e5ac9df5385fa2e1eef648c21bc488" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x33bc665064f9988222f9f4721074db03e0b9e5f3abdfba193c69be36e0eb02b5", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xd838681ca403c84d3748b96661bee5375d8a7d01999bc2ab6f1395c0c80e9500", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "L1ERC721Bridge Proxy", "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007f1d12fb2911eb095278085f721e644c1f675696", "after": "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9", "description": "Update address of L1ERC721Bridge to new implementation", "allowDifference": false } ] }, { "name": "Optimism Portal Proxy", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000381e729ff983fa4bced820e7b922d79bf653b999", "after": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "description": "Update address of Optimism Portal to new implementation", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000f", "after": "0x0000000000000000000000000000000000000000000000000000000000000010", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "AddressManager", "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "changes": [ { "key": "0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e", "before": "0x00000000000000000000000022d12e0faebd62d429514a65ebae32dd316c12d6", "after": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "description": "Update address of L1CrossDomainMessenger to new implementation", "allowDifference": false } ] }, { "name": "OptimismMintableERC20Factory Proxy", "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000005493f4677a186f64805fe7317d6993ba4863988f", "after": "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb", "description": "Update address of OptimismMintableERC20Factory to new implementation", "allowDifference": false } ] }, { "name": "DisputeGameFactory Proxy", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000033d1e8571a85a538ed3d5a4d88f46c112383439d", "after": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "description": "Update address of DisputeGameFactory to new implementation", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x0000000000000000000000005920bd6ab4c1b96bfd4efc56eb6cf9b018e3bf4c", "after": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "description": "Update address of PermissionedDisputeGame to new implementation", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000f83157709129bd03fb02e96950be288e8c2c1c67", "after": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "description": "Update address of FaultDisputeGame to new implementation", "allowDifference": false } ] }, { "name": "System Config Proxy - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002bfe4a5bd5a41e9d848d843ebcdfa15954e9a557", "after": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "description": "Update address of SystemConfig to new implementation", "allowDifference": false } ] }, { "name": "L1StandardBridge Proxy", "address": "0xfd0bf71f60660e2f608ed56e1659c450eb113120", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000e32b192fb1dca88fcb1c56b3acb429e32238adcb", "after": "0x00000000000000000000000061525eaacddb97d9184afc205827e6a4fd0bf62a", "description": "Update address of L1StandardBridge to new implementation", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-11-13-update-bridge-alpha-config make deps ``` ### 2. Execute update ```bash SIGNATURES=AAABBBCCC make execute ``` ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif SENDER=0xb2d9a52e76841279EF0372c534C539a4f68f8C0B RPC_URL=$(L1_RPC_URL) SCRIPT_NAME=UpdateConfig .PHONY: deps deps: forge install --no-git github.com/base/bridge@$(BRIDGE_COMMIT) .PHONY: deploy deploy: forge script DeployBridgeUpdates --rpc-url $(L2_RPC_URL) \ --account testnet-admin --broadcast -vvvv .PHONY: deploy-o deploy-o: forge script DeployRelayerOrchestrator --rpc-url $(L2_RPC_URL) \ --account testnet-admin --broadcast -vvvv .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; # Execute .PHONY: execute execute: forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/README.md ================================================ # Update Base Bridge Alpha Validator Config Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a) ## Description Upgrades the `Bridge` contract for the testnet alpha deployment of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you do not see a version above or if it is older than v18.18, install ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. After signing, you can end the signer tool process with Ctrl + C ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/addresses.json ================================================ { "BridgeValidatorProxy": "0xC05324843aca6C2b7446F15bdB17AF4599b761E6", "BridgeImpl": "0x0B02dCEb3CEfb8568cD79b2b6Bd74c29776f1978", "RelayerOrchestratorProxy": "0xfDa0B31c24316CA01DAa9d3E741729884C1e2ab8" } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/config.json ================================================ { "initialOwner": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "partnerValidators": "0x9614938Cb05C923298d3b3d72b127781c084681a", "baseValidators": [ "0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4", "0x6D0E9C04BD896608b7e10b87FB686E1Feba85510" ], "partnerValidatorThreshold": 1 } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/records/DeployBridgeUpdates.s.sol/84532/run-1763085530401.json ================================================ { "transactions": [ { "hash": "0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d", "transactionType": "CREATE", "contractName": "BridgeValidator", "contractAddress": "0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0x9614938Cb05C923298d3b3d72b127781c084681a" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x18317c", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220bf4fa4dbb93fd157f608b647a39624fa6491316fc006621b0b958e92468a6f6364736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000009614938cb05c923298d3b3d72b127781c084681a", "nonce": "0x5ce", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployAndCall(address,address,bytes)", "arguments": [ "0x8Ba0bc58eb12f9C647B01230A7e4AFeb035860D1", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x526a3", "value": "0x0", "input": "0x4314f1200000000000000000000000008ba0bc58eb12f9c647b01230a7e4afeb035860d10000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000", "nonce": "0x5cf", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0xc05324843aca6c2b7446f15bdb17af4599b761e6", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90", "transactionType": "CREATE", "contractName": "Bridge", "contractAddress": "0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978", "function": null, "arguments": [ "0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac", "0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6", "0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE", "0xC05324843aca6C2b7446F15bdB17AF4599b761E6" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x537b92", "value": "0x0", "input": "0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122046572474ebf0a83df0be427ce1a85dbd05cc0dda56e2bc52d6d1f0cc90c338ea64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6", "nonce": "0x5d0", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x240150", "logs": [ { "address": "0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "blockTimestamp": "0x69168cda", "transactionHash": "0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d", "transactionIndex": "0x7", "logIndex": "0x30", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000040000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9917ea9982e5be87dee4d25fd5afba1d42873ca6fdbcbd19f2778288abd37d2d", "transactionIndex": "0x7", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "gasUsed": "0x129c38", "effectiveGasPrice": "0xf42a0", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x8ba0bc58eb12f9c647b01230a7e4afeb035860d1", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x8df", "l1GasPrice": "0x9", "l1GasUsed": "0xad79" }, { "status": "0x1", "cumulativeGasUsed": "0x27bbfc", "logs": [ { "address": "0xc05324843aca6c2b7446f15bdb17af4599b761e6", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "blockTimestamp": "0x69168cda", "transactionHash": "0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495", "transactionIndex": "0x8", "logIndex": "0x31", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6", "0x0000000000000000000000008ba0bc58eb12f9c647b01230a7e4afeb035860d1", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "blockTimestamp": "0x69168cda", "transactionHash": "0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495", "transactionIndex": "0x8", "logIndex": "0x32", "removed": false } ], "logsBloom": "0x00200000000000000000000000000000000000000000800000000000000000008400000002000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000200000000000000000000000000000000000800000000000000800000000000000000000000080000000001020000000000000000000001000000000000000090000000000000100000000000000000000800000000000000000400000000000000000000004000000000000000000000000000000000000000000000000000000000000400000000000000000000000", "type": "0x2", "transactionHash": "0xd9e52e20a068ca4a675253112c101e63b3fe58b43d429a030d770d443eaaf495", "transactionIndex": "0x8", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "gasUsed": "0x3baac", "effectiveGasPrice": "0xf42a0", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x91", "l1GasPrice": "0x9", "l1GasUsed": "0xb24" }, { "status": "0x1", "cumulativeGasUsed": "0x69622f", "logs": [ { "address": "0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "blockTimestamp": "0x69168cda", "transactionHash": "0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90", "transactionIndex": "0xa", "logIndex": "0x36", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xfeb8d197b5a53603018d95873caaa8e957180e4f44c2b91607184c522e02da90", "transactionIndex": "0xa", "blockHash": "0x6955bbf543b21960eaad2ac973eef1599256db0a8e6353eea370c95d263135b5", "blockNumber": "0x20196fd", "gasUsed": "0x4037ac", "effectiveGasPrice": "0xf42a0", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x0b02dceb3cefb8568cd79b2b6bd74c29776f1978", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x1d31", "l1GasPrice": "0x9", "l1GasUsed": "0x23ac2" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763085530401, "chain": 84532, "commit": "b3d561c" } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/records/DeployRelayerOrchestrator.s.sol/84532/run-1763155993182.json ================================================ { "transactions": [ { "hash": "0xeae64fa390dab6041c9c5495739d6311f6f7b17132a836e875b947850a3d5454", "transactionType": "CREATE", "contractName": "RelayerOrchestrator", "contractAddress": "0x634289eaa46b228cd8a049f80af5dd2413c5fcd9", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0xC05324843aca6C2b7446F15bdB17AF4599b761E6" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x7af17", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea264697066735822122029dfe9bc30ff39de68b93210be473e3f4951f47712550973acb9607e7b72c34264736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000c05324843aca6c2b7446f15bdb17af4599b761e6", "nonce": "0x5d1", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0x634289eaA46b228Cd8a049F80aF5dD2413C5fcd9", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c61000000000000000000000000634289eaa46b228cd8a049f80af5dd2413c5fcd90000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5d2", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0xfda0b31c24316ca01daa9d3e741729884c1e2ab8", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2062d90", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xeae64fa390dab6041c9c5495739d6311f6f7b17132a836e875b947850a3d5454", "transactionIndex": "0x1b", "blockHash": "0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d", "blockNumber": "0x202209c", "gasUsed": "0x5e926", "effectiveGasPrice": "0xf4283", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x634289eaa46b228cd8a049f80af5dd2413c5fcd9", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x357", "l1GasPrice": "0xa", "l1GasUsed": "0x3ff1" }, { "status": "0x1", "cumulativeGasUsed": "0x20816d5", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x000000000000000000000000fda0b31c24316ca01daa9d3e741729884c1e2ab8", "0x000000000000000000000000634289eaa46b228cd8a049f80af5dd2413c5fcd9", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d", "blockNumber": "0x202209c", "blockTimestamp": "0x6917a018", "transactionHash": "0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c", "transactionIndex": "0x1c", "logIndex": "0xa3", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000002000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000400000000000200000000000000000040040000000000000800000000000000000000000000000000000000000000000000000040000000000000000000000000000000000080000000100000000000000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xac3cc2beaaa39b3ba6d1f1a705cb3772b517546dc729ee401e74d7949510095c", "transactionIndex": "0x1c", "blockHash": "0xa97dbfb788f215b0cf7a4b0c62a68f9e14ffdac8ef596a61e4634da67ad5a79d", "blockNumber": "0x202209c", "gasUsed": "0x1e945", "effectiveGasPrice": "0xf4283", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x53", "l1GasPrice": "0xa", "l1GasUsed": "0x640" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763155993182, "chain": 84532, "commit": "a038ff6" } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/records/UpdateConfig.s.sol/11155111/run-1763153760858.json ================================================ { "transactions": [ { "hash": "0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f19780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xaf1efde72c9e6f6dace58d8d80fdeffb102938ed723a703c062b2cef0babf42829c98e7a2a68c1902ba2faa97a9ca23120aca5725bd7bcade2fb3d187955d5191bfd4703667c025dd415c91e96154fa9fbc4b97b60c1c1c059004d48c700d66c54647d9de52b1fd45cb49aac1486a87ea7717c75a96944bd069930b1f8ecc82ae71b6ab8c21711afd4d53133d23ba585edd2d8ae7802d329e693bf29f674923ea9c92c4b8196facb5d995c9f4602088a6c88baf231191de1367279d94561e3bf88061c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x40bdd", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f197800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3af1efde72c9e6f6dace58d8d80fdeffb102938ed723a703c062b2cef0babf42829c98e7a2a68c1902ba2faa97a9ca23120aca5725bd7bcade2fb3d187955d5191bfd4703667c025dd415c91e96154fa9fbc4b97b60c1c1c059004d48c700d66c54647d9de52b1fd45cb49aac1486a87ea7717c75a96944bd069930b1f8ecc82ae71b6ab8c21711afd4d53133d23ba585edd2d8ae7802d329e693bf29f674923ea9c92c4b8196facb5d995c9f4602088a6c88baf231191de1367279d94561e3bf88061c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x43", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x61c38c", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x0000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00099a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000000b02dceb3cefb8568cd79b2b6bd74c29776f197800000000000000000000000000000000000000", "blockHash": "0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf", "blockNumber": "0x92f3f1", "blockTimestamp": "0x69179760", "transactionHash": "0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a", "transactionIndex": "0x2a", "logIndex": "0x42", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xec46910c22b25dc5b1bd531ee66167de1ae4a467558263b28451f40bace46f53" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf", "blockNumber": "0x92f3f1", "blockTimestamp": "0x69179760", "transactionHash": "0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a", "transactionIndex": "0x2a", "logIndex": "0x43", "removed": false } ], "logsBloom": "0x00000000400000000000000004000000000000000000000000000000040000000000000022000000000000040000000000000000000000000000000000000000000001000000004000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000880000000000000000000000", "type": "0x2", "transactionHash": "0xa558a18587cbc526403658624464d07e2a78170a0656e5219ebdad0846c6db2a", "transactionIndex": "0x2a", "blockHash": "0x75848fb27a8dd90aff9f1096671aa6bef6e5515300c57c8b9aac742c57c3ebdf", "blockNumber": "0x92f3f1", "gasUsed": "0x2c449", "effectiveGasPrice": "0xf432d", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763153760858, "chain": 11155111, "commit": "54e0a82" } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/script/DeployBridgeUpdates.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {LibString} from "solady/utils/LibString.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Bridge} from "bridge/Bridge.sol"; import {BridgeValidator} from "bridge/BridgeValidator.sol"; import {Pubkey} from "bridge/libraries/SVMLib.sol"; struct Cfg { address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint256 partnerValidatorThreshold; } contract DeployBridgeUpdates is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; address public immutable BRIDGE_PROXY; address public immutable BRIDGE_VALIDATOR_PROXY; constructor() { BRIDGE_PROXY = vm.envAddress("L2_BRIDGE_PROXY"); BRIDGE_VALIDATOR_PROXY = vm.envAddress("L2_BRIDGE_VALIDATOR_PROXY"); } function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); cfg.partnerValidators = _readAddressFromConfig("partnerValidators"); cfg.baseValidators = _readAddressArrayFromConfig("baseValidators"); cfg.partnerValidatorThreshold = _readUintFromConfig("partnerValidatorThreshold"); } function run() public { address twinBeacon = Bridge(BRIDGE_PROXY).TWIN_BEACON(); address crossChainErc20Factory = Bridge(BRIDGE_PROXY).CROSS_CHAIN_ERC20_FACTORY(); Pubkey remoteBridge = Bridge(BRIDGE_PROXY).REMOTE_BRIDGE(); uint128 baseThreshold = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseThreshold(); uint256 baseSignerCount = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseValidatorCount(); require(baseSignerCount == cfg.baseValidators.length, "Precheck 00"); for (uint256 i; i < baseSignerCount; i++) { require(BridgeValidator(BRIDGE_VALIDATOR_PROXY).isBaseValidator(cfg.baseValidators[i]), "Precheck 01"); } vm.startBroadcast(); address bridgeValidatorImpl = address(new BridgeValidator({bridgeAddress: BRIDGE_PROXY, partnerValidators: cfg.partnerValidators})); address bridgeValidatorProxy = ERC1967Factory(cfg.erc1967Factory) .deployAndCall({ implementation: bridgeValidatorImpl, admin: cfg.initialOwner, data: abi.encodeCall( BridgeValidator.initialize, (cfg.baseValidators, baseThreshold, cfg.partnerValidatorThreshold) ) }); address bridgeImpl = address( new Bridge({ remoteBridge: remoteBridge, twinBeacon: twinBeacon, crossChainErc20Factory: crossChainErc20Factory, bridgeValidator: bridgeValidatorProxy }) ); vm.stopBroadcast(); _serializeAddress({key: "BridgeValidatorProxy", value: bridgeValidatorProxy}); _serializeAddress({key: "BridgeImpl", value: bridgeImpl}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "addresses.json", valueKey: string.concat(".", key) }); } function _readUintFromConfig(string memory key) private view returns (uint256) { return vm.parseJsonUint({json: cfgData, key: string.concat(".", key)}); } function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) { return vm.parseJsonAddressArray({json: cfgData, key: string.concat(".", key)}); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/script/DeployRelayerOrchestrator.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {LibString} from "solady/utils/LibString.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {RelayerOrchestrator} from "bridge/periphery/RelayerOrchestrator.sol"; struct Cfg { address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint256 partnerValidatorThreshold; } contract DeployRelayerOrchestrator is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); } function run() public { address bridgeProxy = 0x64567a9147fa89B1edc987e36Eb6f4b6db71656b; address bridgeValidatorProxy = 0xC05324843aca6C2b7446F15bdB17AF4599b761E6; vm.startBroadcast(); address relayerOrchestratorProxy = _deployRelayerOrchestrator({bridge: bridgeProxy, bridgeValidator: bridgeValidatorProxy}); vm.stopBroadcast(); _serializeAddress({key: "RelayerOrchestratorProxy", value: relayerOrchestratorProxy}); } function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) { address relayerOrchestratorImpl = address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator})); return ERC1967Factory(cfg.erc1967Factory) .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "newAddresses.json", valueKey: string.concat(".", key) }); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/script/UpdateConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {ERC1967Factory} from "solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "solady/utils/ERC1967FactoryConstants.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } contract UpdateConfig is MultisigScript { using AddressAliasHelper for address; address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE_PROXY = vm.envAddress("L2_BRIDGE_PROXY"); address public immutable L2_BRIDGE_IMPL = vm.envAddress("L2_BRIDGE_IMPL"); function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = ERC1967FactoryConstants.ADDRESS; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(ERC1967Factory.upgrade, (L2_BRIDGE_PROXY, L2_BRIDGE_IMPL)); calls[0] = IMulticall3.Call3Value({ target: L1_PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-11-13-update-bridge-alpha-config/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateConfig --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x493ccf51f555cbe29ade9c173a6696d4b487cdaa00736e15effb9b7ea7e7ba04" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x86cbcbeadd95cc572d1a05761253cbad0c285243e6008d7b5d4ab7e523830048", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "OptimismPortal2 - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x000000000092def0000000000007e1760000000000000000000000003b9aca00", "after": "0x000000000092df0700000000000186a00000000000000000000000003b9aca00", "description": "Gas fee tracking for deposit tx execution on L2", "allowDifference": true } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000a", "after": "0x000000000000000000000000000000000000000000000000000000000000000b", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif RPC_URL = $(L1_RPC_URL) deploy: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \ --rpc-url ${RPC_URL} \ --broadcast \ --verify \ --verifier-api-key ${VERIFIER_API_KEY} \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/README.md ================================================ # Deploy CBMulticall Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18) ## Description This task deploys an updated version of the `CBMulticall` contract. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-11-17-deploy-cb-multicall make deps ``` ### 2. Run the script: ```bash make deploy ``` ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/addresses.json ================================================ { "cbMulticall": "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303" } ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/records/DeployCBMulticall.s.sol/11155111/run-1763419468025.json ================================================ { "transactions": [ { "hash": "0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x14f784", "value": "0x0", "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", "nonce": "0x4a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xcfc408", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xddcc4a1b20e45474a09c9a17c008f050c3f278cbde7309bf65be09491b45be18", "transactionIndex": "0x40", "blockHash": "0xf107db1f469fc8913f60bd5d3981b8c1653befd991434898c92a702028580d88", "blockNumber": "0x934452", "gasUsed": "0xf2dfd", "effectiveGasPrice": "0xf4249", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763419468025, "chain": 11155111, "commit": "c0c4fce" } ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/records/DeployCBMulticall.s.sol/84532/run-1763646033790.json ================================================ { "transactions": [ { "hash": "0x1e079a6e2448938b6109e19a978a8b1db7fd37db6519c0220d72a00eece8a679", "transactionType": "CREATE2", "contractName": "CBMulticall", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x14f784", "value": "0x0", "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", "nonce": "0x5d4", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4767ff", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x1e079a6e2448938b6109e19a978a8b1db7fd37db6519c0220d72a00eece8a679", "transactionIndex": "0x12", "blockHash": "0x14f6a69a55ceb0bc386ab04f2b213c7c06a57e4d392a28133f1c45aa01e281c3", "blockNumber": "0x205ddb0", "gasUsed": "0xf2dfd", "effectiveGasPrice": "0x27116b6", "blobGasUsed": "0xc2240", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", "daFootprintGasScalar": "0x190", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x2", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0xec4", "l1GasPrice": "0x21", "l1GasUsed": "0x7c46" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763646033790, "chain": 84532, "commit": "8c49b9d" } ================================================ FILE: sepolia/2025-11-17-deploy-cb-multicall/script/DeployCBMulticall.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; contract DeployCBMulticallScript is Script { bytes32 public constant SALT = bytes32(uint256(1)); CBMulticall cbMulticall; function run() public { vm.startBroadcast(); cbMulticall = new CBMulticall{salt: SALT}(); console.log("CBMulticall deployed at: ", address(cbMulticall)); vm.stopBroadcast(); string memory obj = "root"; string memory json = vm.serializeAddress(obj, "cbMulticall", address(cbMulticall)); vm.writeJson(json, "addresses.json"); _postCheck(); } function _postCheck() internal view { vm.assertEq( address(cbMulticall), vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}), "The cbMulticall address does not match the one computed by `vm.computeCreate2Address`" ); } function _initCode() private view returns (bytes memory) { bytes memory args = ""; return abi.encodePacked(vm.getCode("CBMulticall.sol:CBMulticall"), args); } function _initCodeHash() private view returns (bytes32) { return keccak256(_initCode()); } } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/FACILITATORS.md ================================================ #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif # Sepolia Commands # OWNER_SAFE/ # ├── CB_SIGNER_SAFE_ADDR/ # │ ├── CB_NESTED_SAFE_ADDR/ # │ │ └── Signers # │ └── CB_SC_SAFE_ADDR/ # │ └── Signers # └── OP_SIGNER_SAFE_ADDR/ # └── Signers RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetJovianParametersScript .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR), $(CB_SIGNER_SAFE_ADDR)]" --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --out ../validations/cb-sc-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --out ../validations/op-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/README.md ================================================ # Set Jovian Parameters on Base Sepolia Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf) ## Description This task sets the Jovian hardfork parameters on Base Sepolia's SystemConfig contract. The parameters being set are: - `setDAFootprintGasScalar(312)` - Sets the data availability footprint gas scalar - `setMinBaseFee(200000)` - Sets the minimum base fee These parameters activate with the Jovian hardfork and affect data availability fee calculations and base fee management on the L2. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] evm_version = "prague" # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x1ff0a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x799fcd", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "blockTimestamp": "0x691f7c1c", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "logIndex": "0x85", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf4870000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "blockTimestamp": "0x691f7c1c", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "logIndex": "0x86", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000200000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "gasUsed": "0x171fd", "effectiveGasPrice": "0xf4475", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763671068364, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670505775.json ================================================ { "transactions": [ { "hash": "0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8d78ba5124f81846b7fb7320d168695975f27d524c8c095583e7517367d9b9790cdd9194518f437425de754be00d18d23efa590fc3c99914c637cd0bc18af0dd1c99a52b8d3439314bb5a4aa025175c8ec048f0e1bd2d40a3751f2e561abd347d3724d165cf29d4ac380f0a711748ed01b75e8080d95038dc6bf3afb8589113fe51cdaa85ed3dec52a68cc1e69b99b683979767ee27bfae1c4c2d3530a78109d1beb15734a1b59f4f1d5f7c38e960bd8310d5797e27c6485a723d303d5b7a7fe4bec1c" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2533f", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38d78ba5124f81846b7fb7320d168695975f27d524c8c095583e7517367d9b9790cdd9194518f437425de754be00d18d23efa590fc3c99914c637cd0bc18af0dd1c99a52b8d3439314bb5a4aa025175c8ec048f0e1bd2d40a3751f2e561abd347d3724d165cf29d4ac380f0a711748ed01b75e8080d95038dc6bf3afb8589113fe51cdaa85ed3dec52a68cc1e69b99b683979767ee27bfae1c4c2d3530a78109d1beb15734a1b59f4f1d5f7c38e960bd8310d5797e27c6485a723d303d5b7a7fe4bec1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x379c787", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf", "blockNumber": "0x939076", "blockTimestamp": "0x691f79e8", "transactionHash": "0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b", "transactionIndex": "0x37", "logIndex": "0x6d", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x6d3c871aaeec87e5ca093757c48ad3d983588590d923fafba179f366141f759d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf", "blockNumber": "0x939076", "blockTimestamp": "0x691f79e8", "transactionHash": "0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b", "transactionIndex": "0x37", "logIndex": "0x6e", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400040000000000000000000000000000000000000000000000000000000000400000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000100040010000000002000000000000000000000000100000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x3c980b4cadaf477dec65e72a564275e935be7639d31a6f57f9c83fd25043109b", "transactionIndex": "0x37", "blockHash": "0xad2046a92343f3172db9e3d4107c71e38b34472c4bfe33085c40a978548511cf", "blockNumber": "0x939076", "gasUsed": "0x19702", "effectiveGasPrice": "0xf44b5", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763670505775, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670600765.json ================================================ { "transactions": [ { "hash": "0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa9d27aed2fcc1ba7f7d86f482d1d809e129acf2be92b1eb6339fa3553eb2a604145dc7442958415669b4bfc461d3bd628402a1b0ecc99fe0768076dbce321c9b1b" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1dbca", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf48700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a9d27aed2fcc1ba7f7d86f482d1d809e129acf2be92b1eb6339fa3553eb2a604145dc7442958415669b4bfc461d3bd628402a1b0ecc99fe0768076dbce321c9b1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x1", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x8ac7ce", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf487", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3", "blockNumber": "0x93907e", "blockTimestamp": "0x691f7a48", "transactionHash": "0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c", "transactionIndex": "0x58", "logIndex": "0x60", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x0b685cc425d63ab3791fe0de0273035a23e31913539ee03aa602a845587cacf00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3", "blockNumber": "0x93907e", "blockTimestamp": "0x691f7a48", "transactionHash": "0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c", "transactionIndex": "0x58", "logIndex": "0x61", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000100000010000000000000000000000000000000000100000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x84d3ab4425dd6263088dfd85eebc8cf3492b1578071c47349e17bb9ef404b76c", "transactionIndex": "0x58", "blockHash": "0xa11dac3586709f952f04439903c6629690744aa626502c821cb7d24d8fa019e3", "blockNumber": "0x93907e", "gasUsed": "0x15877", "effectiveGasPrice": "0x11fa31", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763670600765, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763670925854.json ================================================ { "transactions": [ { "hash": "0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0e497e060149457de7c612cfae784ff42c4633e9d95554e6e1f94fe7e8914fe36f533d0a9ec0d54b17c1006e2325e04b6231c90623a297afe9c6d827a58618061c" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e9ff", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410e497e060149457de7c612cfae784ff42c4633e9d95554e6e1f94fe7e8914fe36f533d0a9ec0d54b17c1006e2325e04b6231c90623a297afe9c6d827a58618061c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xcbff70", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca", "blockNumber": "0x939098", "blockTimestamp": "0x691f7b8c", "transactionHash": "0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd", "transactionIndex": "0x3e", "logIndex": "0xb3", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x3b330fe0cdb48d3498fa07183a5e7e06d3d882dab577b64a3b044b8a1557a9000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca", "blockNumber": "0x939098", "blockTimestamp": "0x691f7b8c", "transactionHash": "0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd", "transactionIndex": "0x3e", "logIndex": "0xb4", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x5cd5a1912a649dc9f0ed495492452894353f142187bb3ea54eca8461ae0161fd", "transactionIndex": "0x3e", "blockHash": "0xab5144acf35286a67dae22c839f3ed392f794f2a88801f01812834131a8e7dca", "blockNumber": "0x939098", "gasUsed": "0x162c0", "effectiveGasPrice": "0xf4476", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763670925854, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763671068364.json ================================================ { "transactions": [ { "hash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x1ff0a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x799fcd", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "blockTimestamp": "0x691f7c1c", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "logIndex": "0x85", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xf9b15d78e83c0fb3d352bf78e014c96c3bbd740cab45b464c48089002e2cf4870000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "blockTimestamp": "0x691f7c1c", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "logIndex": "0x86", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000800000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000004000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000200000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x33743b658e5b204015bfd6fe6c7e853dd783f470f2363d844994ddfcda28a1e4", "transactionIndex": "0x2f", "blockHash": "0x34dca29323f8d79ae1f2f28f433f953b527209f682299474c6fded2488e8c423", "blockNumber": "0x9390a4", "gasUsed": "0x171fd", "effectiveGasPrice": "0xf4475", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763671068364, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/records/SetJovianParameters.s.sol/11155111/run-1763671153225.json ================================================ { "transactions": [ { "hash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x22b1c", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x7c06e3", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000244174dea710000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e80000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe260000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9", "blockNumber": "0x9390ab", "blockTimestamp": "0x691f7c70", "transactionHash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionIndex": "0x3d", "logIndex": "0x8a", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000138", "blockHash": "0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9", "blockNumber": "0x9390ab", "blockTimestamp": "0x691f7c70", "transactionHash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionIndex": "0x3d", "logIndex": "0x8b", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000030d40", "blockHash": "0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9", "blockNumber": "0x9390ab", "blockTimestamp": "0x691f7c70", "transactionHash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionIndex": "0x3d", "logIndex": "0x8c", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x5ab9660065793f9c7917cecf71d7aee74fdfe204631c74c99105e2beff603e4f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9", "blockNumber": "0x9390ab", "blockTimestamp": "0x691f7c70", "transactionHash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionIndex": "0x3d", "logIndex": "0x8d", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000408000000000000000000000020000000000000000000000000000000040000000000000000000000000000000000020100000000000000000800000000000000000000000000000008000000200400000800000000040000000000000000000000000000000000000000000000000400000000000000000004000000000000000000000000880000000000000000000000000000000000020000000000000000000000000500000020000000000000000000000000000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x153186609185f8d67714bbbf512b01a17bba4c217e59792e575845a78dc186bf", "transactionIndex": "0x3d", "blockHash": "0x38efc45ddc431d033f3263ebe77610f67d91084fa34109ad42e1713e370c16f9", "blockNumber": "0x9390ab", "gasUsed": "0x191e4", "effectiveGasPrice": "0xf4475", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1763671153225, "chain": 11155111, "commit": "c3fbe19" } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/script/SetJovianParameters.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {console} from "forge-std/console.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function daFootprintGasScalar() external view returns (uint16); function minBaseFee() external view returns (uint64); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; function setMinBaseFee(uint64 _minBaseFee) external; } contract SetJovianParametersScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint64 internal immutable MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("DA_FOOTPRINT_GAS_SCALAR")); MIN_BASE_FEE = uint64(vm.envUint("MIN_BASE_FEE")); } function setUp() external view { // Log current values for reference console.log("Current DA Footprint Gas Scalar:", ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar()); console.log("Current Min Base Fee:", ISystemConfig(SYSTEM_CONFIG).minBaseFee()); console.log("New DA Footprint Gas Scalar:", DA_FOOTPRINT_GAS_SCALAR); console.log("New Min Base Fee:", MIN_BASE_FEE); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), MIN_BASE_FEE, "Min Base Fee mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/validations/cb-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x584d0cc61e6fffd9fea6c4cc3b242b782e0307c125b98ddc38cce23939b97eb6" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x3c35e253d3d819dc80b00bec4c486bf001629e935fee5b7278f4b79da0c2fb40", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000a", "after": "0x000000000000000000000000000000000000000000000000000000000000000b", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x97d646f621b0f519cef0ddd752bf96c09d32d77408e838dc7e60be097f3f35ec", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000011", "after": "0x0000000000000000000000000000000000000000000000000000000000000012", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000400000032", "after": "0x0000000000000000000001380000000000000000000000000000000400000032", "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", "description": "Sets the Min Base Fee to 200000 (0x030d40)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/validations/cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x826d763e5f8e6b8dc34ea6ac7a7732afec3b3f59a75b89f8a473dcc5823bafac" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." }, { "key": "0x7fe7cf17ba7e8539dbc7761dda7051425e4980a5488c2da7301fc2d8d1e9fa30", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x8edc1cfc1840fa9ef854a3f743c41fe8ca1aa29e77f34b71c732200173cfea88", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000a", "after": "0x000000000000000000000000000000000000000000000000000000000000000b", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x9a9a340b11831be720964539a007b72fec48bc53b0edc6c53ed1dee5612719b3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000400000032", "after": "0x0000000000000000000001380000000000000000000000000000000400000032", "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", "description": "Sets the Min Base Fee to 200000 (0x030d40)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-18-set-jovian-parameters/validations/op-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetJovianParametersScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xc8800a32719ca1c01589c0bfbac745a1c12df9d695611be793730ebc05bfd711" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur." } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x1282d9c5734ef57ec21bd1b3cb2d2338c392145abc5b7d3f471a1aa90b07d789", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed." } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xa5855c998346b3e542ba91df8b8a8b17cf51c481a36485b6f7831bb3331db193", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increment approvedHashes", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000012", "after": "0x0000000000000000000000000000000000000000000000000000000000000013", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000000000000000000000000000000000000400000032", "after": "0x0000000000000000000001380000000000000000000000000000000400000032", "description": "Sets the DA Footprint Gas Scalar to 312 (0x0138)", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x000000000000000000000000c2be75506d5724086deb7245bd260cc9753911be", "after": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", "description": "Sets the Min Base Fee to 200000 (0x030d40)", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/FACILITATORS.md ================================================ #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator (mock): ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` ```bash make approve-cb-coordinator ``` Optimism facilitator (mock): ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Since mock Safes are used in this Sepolia task, the same facilitator is expected handle gathering signatures for both the SC and OP from the same signer set. Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = TransferSystemConfigOwnership # Sepolia Commands # OWNER_SAFE/ # ├── CB_SIGNER_SAFE_ADDR/ # │ ├── CB_NESTED_SAFE_ADDR/ # │ │ └── Signers # │ └── CB_SC_SAFE_ADDR/ # │ └── Signers # └── OP_SIGNER_SAFE_ADDR/ # └── Signers .PHONY: gen-validation gen-validation: make gen-validation-cb make gen-validation-cb-sc make gen-validation-op .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" --sender $(CB_NESTED_SIGNER)' --out ../validations/coinbase-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" --sender $(CB_SC_SIGNER)' --out ../validations/base-security-council-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" --sender $(OP_SIGNER)' --out ../validations/optimism-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/README.md ================================================ # Transfer SystemConfig Ownership Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254) ## Executed Transactions - [Coinbase Approval](https://sepolia.etherscan.io/tx/0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915333831.json)) - [(Mock) Base Security Council Approval](https://sepolia.etherscan.io/tx/0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915416897.json)) - [Coinbase Facilitator Approval](https://sepolia.etherscan.io/tx/0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915501219.json)) - [(Mock) Optimism Approval](https://sepolia.etherscan.io/tx/0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921561047.json)) - [Execution](https://sepolia.etherscan.io/tx/0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254) ([artefact](./records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921633335.json)) ## Description This task transfers ownership of the Sepolia `SystemConfig` to the incident multisig. The SystemConfig (`0xf272670eb55e895584501d564AfEB048bEd26194`) is currently owned by `0x0fe884546476dDd290eC46318785046ef68a0BA9` which has a double-nested ownership structure. On Mainnet, this ownership is just the incident multisig directly, which results in inconsistent task structures between Sepolia and Mainnet. This is solved in this task by calling `transferOwnership` to set the new owner to `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f`. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. Sign for the two profiles (both "Direct" and "Nested") and save the two resulting signatures. After completion, the signer tool can be closed by using Ctrl + C. ### 4. Send both signatures to the facilitator ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915333831.json ================================================ { "transactions": [ { "hash": "0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb6febe35e83a6f6ff254eade3d6e4d880da5d745ac645de61ef108d5fff02e4256e1f95fa591982ccc079301d3b5cfa1edea9307571667ed8663a33660c51df61bcaac794ee92c060d697279a447a6b9bd420b53cd1e620b594dcbc0adce67617e54f592d65370296dbcc7b3f493e26ac625c5738d8ddfdba3e9b16818e4868e141c542975194d3187e4e13016d257064318b6b89710e6442c9bbd0c33923ea9d7924ea43c67205fd6c14ee187b4ee95ac5d184069d7ee4545042d960c5d87b0bcff1c" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2323d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b6febe35e83a6f6ff254eade3d6e4d880da5d745ac645de61ef108d5fff02e4256e1f95fa591982ccc079301d3b5cfa1edea9307571667ed8663a33660c51df61bcaac794ee92c060d697279a447a6b9bd420b53cd1e620b594dcbc0adce67617e54f592d65370296dbcc7b3f493e26ac625c5738d8ddfdba3e9b16818e4868e141c542975194d3187e4e13016d257064318b6b89710e6442c9bbd0c33923ea9d7924ea43c67205fd6c14ee187b4ee95ac5d184069d7ee4545042d960c5d87b0bcff1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x29", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1862ff3", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f", "blockNumber": "0x9660e8", "blockTimestamp": "0x6941bac4", "transactionHash": "0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d", "transactionIndex": "0x52", "logIndex": "0x364", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x3d75da3c020720c48a4e2144947211b44ffc949fa8dea8bc327dbe0fe3397aae" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f", "blockNumber": "0x9660e8", "blockTimestamp": "0x6941bac4", "transactionHash": "0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d", "transactionIndex": "0x52", "logIndex": "0x365", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010000000000000000000000000100000000000000100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000200000000000000000000000000000000000000000000000000000000004000000000200000000000000000000000000000000000000000000000000014000000020000404000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000010000000000000100000000000000000", "type": "0x2", "transactionHash": "0xdd7e0e60d1dc1de798d025ed0e946678cebe7d07920c2fd88d7a3aa3d3ea036d", "transactionIndex": "0x52", "blockHash": "0x70b64dba1f56530db6a33a83b2edf882fffd33fab7991f9bdf77e84f4a86e09f", "blockNumber": "0x9660e8", "gasUsed": "0x1970e", "effectiveGasPrice": "0x111a1330d", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1765915333831, "chain": 11155111, "commit": "82079b3" } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915416897.json ================================================ { "transactions": [ { "hash": "0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b900000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x4a36cabdc311edab14044a5347960fad5b92e3f712d4535e627167f71567342014322aa6b1fc491b15871a869efed5889f85a1adb7c8490e2dd122cdada610cb1c" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414a36cabdc311edab14044a5347960fad5b92e3f712d4535e627167f71567342014322aa6b1fc491b15871a869efed5889f85a1adb7c8490e2dd122cdada610cb1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x14dacd5", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b9", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc", "blockNumber": "0x9660ee", "blockTimestamp": "0x6941bb18", "transactionHash": "0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff", "transactionIndex": "0x3c", "logIndex": "0x325", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2acccb084545c31faf997fb7c5e2b519a2fd0aa7ab73e4015c9b0507f0078c6a0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc", "blockNumber": "0x9660ee", "blockTimestamp": "0x6941bb18", "transactionHash": "0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff", "transactionIndex": "0x3c", "logIndex": "0x326", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000200000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xaf5ea1c6e95d0ea8ea4b1232e436c24f2871eef07fc3ea778da49475050397ff", "transactionIndex": "0x3c", "blockHash": "0xb208fcc880efe965096c9a19b7c30e88efc0dba86b26a7b6503d05553bd972cc", "blockNumber": "0x9660ee", "gasUsed": "0x15883", "effectiveGasPrice": "0x12695894f", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1765915416897, "chain": 11155111, "commit": "82079b3" } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765915501219.json ================================================ { "transactions": [ { "hash": "0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a016700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d2d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x38f4348", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989", "blockNumber": "0x9660f3", "blockTimestamp": "0x6941bb6c", "transactionHash": "0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c", "transactionIndex": "0xc2", "logIndex": "0x931", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x18c07b6dd72732ae20a1cc0b037bd3f9ae72c3e363a033419a50601717d1a9b90000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989", "blockNumber": "0x9660f3", "blockTimestamp": "0x6941bb6c", "transactionHash": "0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c", "transactionIndex": "0xc2", "logIndex": "0x932", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000801000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000080000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x2aa48dccd2a9854c6150bf3a1608eb433eb31dac250582a918e7b0187f253f0c", "transactionIndex": "0xc2", "blockHash": "0x562cab40e28f504807c7887555935a4ffd63bb0771999fda4abff937f5f21989", "blockNumber": "0x9660f3", "gasUsed": "0x17209", "effectiveGasPrice": "0xfcdaf7f8", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1765915501219, "chain": 11155111, "commit": "82079b3" } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921561047.json ================================================ { "transactions": [ { "hash": "0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a016700000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x20c540b46189fcfbb8148e627a4c2be5bb753a3d70bdf160695483897a7fd8306b7585d0f0e30f43ebde831f92deee07ea428863601989ea1ce5c651a3eafe621b" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea20", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcda6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a01670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004120c540b46189fcfbb8148e627a4c2be5bb753a3d70bdf160695483897a7fd8306b7585d0f0e30f43ebde831f92deee07ea428863601989ea1ce5c651a3eafe621b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x12f20f0", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a0167", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0", "blockNumber": "0x9662c2", "blockTimestamp": "0x6941d318", "transactionHash": "0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e", "transactionIndex": "0x3f", "logIndex": "0x2a6", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xaa389ea50ccbfcff7236db319429f538d0d566f77c3f888bd946939488296bca0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0", "blockNumber": "0x9662c2", "blockTimestamp": "0x6941d318", "transactionHash": "0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e", "transactionIndex": "0x3f", "logIndex": "0x2a7", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000008040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000801000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x22702afc8d60d3c3605dd2fb72b0860bb377dee23b1707c9d6a25a2e3ca0af2e", "transactionIndex": "0x3f", "blockHash": "0xf3b813c6fa5880a84775c067ae2f8ff3baaab6b80d3b2640379961da7502b2c0", "blockNumber": "0x9662c2", "gasUsed": "0x162d8", "effectiveGasPrice": "0x108c86b6", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1765921561047, "chain": 11155111, "commit": "82079b3" } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/records/TransferSystemConfigOwnership.s.sol/11155111/run-1765921633335.json ================================================ { "transactions": [ { "hash": "0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x1d113", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1d58f9a", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024f2fde38b0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0", "blockNumber": "0x9662c7", "blockTimestamp": "0x6941d360", "transactionHash": "0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254", "transactionIndex": "0x68", "logIndex": "0x41c", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0", "blockNumber": "0x9662c7", "blockTimestamp": "0x6941d360", "transactionHash": "0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254", "transactionIndex": "0x68", "logIndex": "0x41d", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xa6c6ff8b5c0a31bb7303e0cb432194bb3fa22a829cb1975194451635c44a01670000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0", "blockNumber": "0x9662c7", "blockTimestamp": "0x6941d360", "transactionHash": "0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254", "transactionIndex": "0x68", "logIndex": "0x41e", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000800000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040000000000000000000000000000000000000100000000000000000000000000000000000000000000000008400000200000000800000000000200000000000000000000000000000000000000000000000400000000000020000004020000000000000000000000800000000000000000000000000000000000020000000000000000000000000420400000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd7279a1f08275f7c9cd77b555b27a920b0a3f5dfd0c91dc059a164457d7a7254", "transactionIndex": "0x68", "blockHash": "0x5a2cea28d5276f96d6e1be5168e2925d6378d6b2b5ce70bb7fd8d940a37d2cd0", "blockNumber": "0x9662c7", "gasUsed": "0x150b5", "effectiveGasPrice": "0x115c73f5", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1765921633335, "chain": 11155111, "commit": "82079b3" } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/script/TransferSystemConfigOwnership.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; contract TransferSystemConfigOwnership is MultisigScript { address internal immutable NEW_OWNER; address internal immutable SYSTEM_CONFIG; constructor() { NEW_OWNER = vm.envAddress("NEW_OWNER"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG); vm.assertEq(systemConfig.owner(), NEW_OWNER, "SystemConfig owner did not get updated"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG); return systemConfig.owner(); } } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/validations/base-security-council-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xfc520d754970f5d814f27d3aac140db90a652fadbdce864ed9395cf9c09efaad" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x8a00458f9bccb6e332ee9e861e02883a5e90ab3c44651894b07d6627cbc3e4ba", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001c", "after": "0x000000000000000000000000000000000000000000000000000000000000001d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x5afe6824c7fb79a8a3bba9076e2c014b1e75076691c5eb49c773515d1a49b79a", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the CB Signer Safe's approval hash for the Proxy Admin Owner multisig transaction.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x4c9617ca4ffe7c407762ccd7bf1f4a7b618ecd3493327b161fa36c6a7aa66dfc", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores the approval hash emitted by the Mock OP Safe for the nested multisig transaction.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000013", "after": "0x0000000000000000000000000000000000000000000000000000000000000014", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000033", "before": "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "after": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "description": "Updates the SystemConfig owner to the CB Signer Safe.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/validations/coinbase-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xcdbe5e1c083908d7bb0ec934ffd5297c4b71482c49a5928211ce91d755c7d988" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x8ccc185370734884596907353e4ef357132523daccc0b39cce327c4d1036f9b7", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001c", "after": "0x000000000000000000000000000000000000000000000000000000000000001d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x5afe6824c7fb79a8a3bba9076e2c014b1e75076691c5eb49c773515d1a49b79a", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the CB Signer Safe's approval hash for the Proxy Admin Owner multisig transaction.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000b", "after": "0x000000000000000000000000000000000000000000000000000000000000000c", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xd2f9eb6b3047078658bfb1055cadc70d5db6679fb38fc2768630033dbfd1570f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores the approval hash emitted by the CB Coordinator Safe for the nested multisig transaction.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000033", "before": "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "after": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "description": "Updates the SystemConfig owner to the CB Signer Safe.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-11-30-systemconfig-ownership-transfer/validations/optimism-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xf8df46555f836aa7d1632c882d341c68c4f2e5f20370eb434d93e5a80d4bdcfd" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock OP Safe - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x267a795367cd6e2f0d2fb79207ba0f6ee3ed6801eb7e97d5ac2c95bf940cfbec", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001c", "after": "0x000000000000000000000000000000000000000000000000000000000000001d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x7453d0240b1463220c6a32fe42d09c5fac86fc4ceba53bd206c0f6f4491d2cd5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the Mock OP Safe's approval hash inside the Proxy Admin Owner multisig.", "allowDifference": false } ] }, { "name": "Mock OP Safe - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000013", "after": "0x0000000000000000000000000000000000000000000000000000000000000014", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000033", "before": "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "after": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "description": "Updates the SystemConfig owner to the CB Signer Safe.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2025-12-22-update-bridge-alpha-config make deps ``` ### 2. Execute update ```bash SIGNATURES=AAABBBCCC make execute ``` ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif RPC_URL=$(L1_RPC_URL) SCRIPT_NAME=UpdateConfig .PHONY: deps deps: forge install --no-git github.com/base/bridge@$(BRIDGE_COMMIT) .PHONY: deploy deploy: forge script DeployBridgeUpdates --rpc-url $(L2_RPC_URL) \ --account testnet-admin --broadcast -vvvv .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; # Execute .PHONY: execute execute: forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/README.md ================================================ # Update Base Bridge Alpha Validator Config Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5) Deployment: [EXECUTED](https://sepolia.basescan.org/tx/0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186) ## Description Upgrades the `Bridge` contract for the testnet alpha deployment of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you do not see a version above or if it is older than v18.18, install ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. After signing, you can end the signer tool process with Ctrl + C ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/addresses.json ================================================ { "BridgeValidatorProxy": "0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C", "BridgeImpl": "0x636b7f211cB373bd8f6dC51AbDfeDe15a49b680f", "RelayerOrchestratorProxy": "0x3201A59f42Eae46D5DAbd06dfC95a7Ba475bbfaE" } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/config.json ================================================ { "initialOwner": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "partnerValidators": "0x9614938Cb05C923298d3b3d72b127781c084681a", "baseValidators": [ "0x0e9a877906EBc3b7098DA2404412BF0Ed1A5EFb4", "0x6D0E9C04BD896608b7e10b87FB686E1Feba85510" ], "partnerValidatorThreshold": 0 } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/records/DeployBridgeUpdates.s.sol/84532/run-1766435915533.json ================================================ { "transactions": [ { "hash": "0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186", "transactionType": "CREATE", "contractName": "BridgeValidator", "contractAddress": "0x5641419b61209b1073e66bddfb30130f34f18d6e", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0x9614938Cb05C923298d3b3d72b127781c084681a" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x18317c", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161159238038061159283398101604081905261002e9161015a565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b5f195f557f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af0180546001600160801b0319166001600160801b031790556001600160a01b03828116608052811660a0526100d36100da565b505061018b565b63409feecd19805460018116156100f85763f92ee8a95f526004601cfd5b6001600160401b03808260011c1461013a578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b0381168114610155575f5ffd5b919050565b5f5f6040838503121561016b575f5ffd5b6101748361013f565b91506101826020840161013f565b90509250929050565b60805160a0516113d86101ba5f395f81816101eb01526109b501525f818161023701526103c101526113d85ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80637fa920b61161007d578063d69c3d3011610058578063d69c3d30146101dd578063d91879c8146101e6578063ee9a31a214610232575f5ffd5b80637fa920b6146101a05780639bf6a053146101b3578063c92a1099146101bb575f5ffd5b80633ddb0cd4116100ad5780633ddb0cd41461013f5780633df39dfe14610162578063567942cf1461018b575f5ffd5b80631903d397146100d357806324ea54f41461012f5780632b6e5bcf14610137575b5f5ffd5b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff165b6040519081526020015b60405180910390f35b61011c600181565b61011c5f5481565b61015261014d366004610f24565b610259565b6040519015158152602001610126565b61016a6102a7565b6040516fffffffffffffffffffffffffffffffff9091168152602001610126565b61019e610199366004610f46565b6102e7565b005b61019e6101ae366004611027565b6103bf565b61011c600581565b6101526101c93660046110c2565b60026020525f908152604090205460ff1681565b61011c60015481565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610126565b61020d7f000000000000000000000000000000000000000000000000000000000000000081565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604081205460ff165b92915050565b5f6102e27f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156103385760018160011c14303b1061032f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610344858585610665565b600582111561037f576040517fe56d58cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82905580156103b8576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610428573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044c91906110d9565b15610483576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825f8190036104be576040517f6074424200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff8111156104d8576104d86110f8565b604051908082528060200260200182016040528015610501578160200160208202803683370190505b506001549091505f5b83811015610597576105728261051f81611125565b935089898481811061053357610533611181565b905060400201602001358a8a8581811061054f5761054f611181565b9050604002015f0135604080519384526020840192909252908201526060902090565b83828151811061058457610584611181565b602090810291909101015260010161050a565b506105a382868661090f565b5f5b8381101561065957600160025f8584815181106105c4576105c4611181565b602002602001015181526020019081526020015f205f6101000a81548160ff02191690831515021790555087878281811061060157610601611181565b9050604002016020013583828151811061061d5761061d611181565b60200260200101517f5e55930eb861ee57d9b7fa9e506b7f413cb1599c9886e57f1c8091f5fee5fc3360405160405180910390a36001016105a5565b50600155505050505050565b7f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af006fffffffffffffffffffffffffffffffff8216158015906106b957506fffffffffffffffffffffffffffffffff82168310155b6106ef576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601083111561072a576040517f2c4f399f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156108b7575f85858381811061074757610747611181565b905060200201602081019061075c9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16036107a9576040517f713ce51100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f8686848181106107bd576107bd611181565b90506020020160208101906107d29190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f205460ff1615610832576040517f0d57d92a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001825f87878581811061084857610848611181565b905060200201602081019061085d9190610f24565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161072c565b506fffffffffffffffffffffffffffffffff91821691909216700100000000000000000000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000161760019091015550565b5f61091b848484610aad565b90506109577f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af01546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1661097282610c5e565b10156109aa576040517ff62bc97a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5480156103b8575f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166394cf795e6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610a1b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a609190810190611226565b905081610a6d8285610cec565b1015610aa5576040517f593ac4cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6060610aba60418361133a565b15610af1576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610afd60418461134d565b90505f610b2886604051602001610b149190611360565b604051602081830303815290604052610d8b565b90505f808367ffffffffffffffff811115610b4557610b456110f8565b604051908082528060200260200182016040528015610b6e578160200160208202803683370190505b509050865f5b85811015610c505760216041820283019081013560ff1690803590602001355f610ba089858585610df4565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611610c07576040517fd02ef0e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80878681518110610c1a57610c1a611181565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015296505060019092019150610b749050565b509098975050505050505050565b5f5f5f5b8351811015610ce557610cd1848281518110610c8057610c80611181565b602002602001015173ffffffffffffffffffffffffffffffffffffffff165f9081527f245c109929d1c5575e8db91278c683d6e028507d88b9169278939e24f465af00602052604090205460ff1690565b15610cdd576001909101905b600101610c62565b5092915050565b5f5f5f5f5b8451811015610d81575f610d1e87878481518110610d1157610d11611181565b6020026020010151610e39565b905086518103610d2e5750610d79565b6001811b831615610d6b576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600193840193901b91909117905b600101610cf1565b5090949350505050565b5f815160207f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f5f52815b600182039150600a81066030018253600a900480610db85750603a03602081113d3d3e80515f5117845281810160209190910384012092525090565b5f604051855f5260ff851660205283604052826060526020600160805f60015afa5191503d610e2a57638baa579f5f526004601cfd5b5f606052604052949350505050565b5f5f5b8351811015610ef757838181518110610e5757610e57611181565b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610ee35750838181518110610ea857610ea8611181565b60200260200101516020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610eef5790506102a1565b600101610e3c565b50509051919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f21575f5ffd5b50565b5f60208284031215610f34575f5ffd5b8135610f3f81610f00565b9392505050565b5f5f5f5f60608587031215610f59575f5ffd5b843567ffffffffffffffff811115610f6f575f5ffd5b8501601f81018713610f7f575f5ffd5b803567ffffffffffffffff811115610f95575f5ffd5b8760208260051b8401011115610fa9575f5ffd5b6020918201955093508501356fffffffffffffffffffffffffffffffff81168114610fd2575f5ffd5b9396929550929360400135925050565b5f5f83601f840112610ff2575f5ffd5b50813567ffffffffffffffff811115611009575f5ffd5b602083019150836020828501011115611020575f5ffd5b9250929050565b5f5f5f5f6040858703121561103a575f5ffd5b843567ffffffffffffffff811115611050575f5ffd5b8501601f81018713611060575f5ffd5b803567ffffffffffffffff811115611076575f5ffd5b8760208260061b840101111561108a575f5ffd5b60209182019550935085013567ffffffffffffffff8111156110aa575f5ffd5b6110b687828801610fe2565b95989497509550505050565b5f602082840312156110d2575f5ffd5b5035919050565b5f602082840312156110e9575f5ffd5b81518015158114610f3f575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361117a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6040805190810167ffffffffffffffff811182821017156111d1576111d16110f8565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561121e5761121e6110f8565b604052919050565b5f60208284031215611236575f5ffd5b815167ffffffffffffffff81111561124c575f5ffd5b8201601f8101841361125c575f5ffd5b805167ffffffffffffffff811115611276576112766110f8565b61128560208260051b016111d7565b8082825260208201915060208360061b8501019250868311156112a6575f5ffd5b6020840193505b8284101561130357604084880312156112c4575f5ffd5b6112cc6111ae565b84516112d781610f00565b815260208501516112e781610f00565b80602083015250808352506020820191506040840193506112ad565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f826113485761134861130d565b500690565b5f8261135b5761135b61130d565b500490565b602080825282518282018190525f918401906040840190835b81811015611397578351835260209384019390920191600101611379565b50909594505050505056fea2646970667358221220bf4fa4dbb93fd157f608b647a39624fa6491316fc006621b0b958e92468a6f6364736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b0000000000000000000000009614938cb05c923298d3b3d72b127781c084681a", "nonce": "0x5d7", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deployAndCall(address,address,bytes)", "arguments": [ "0x5641419B61209B1073E66bDdFB30130f34F18d6E", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890", "0x567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba85510" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x4bb34", "value": "0x0", "input": "0x4314f1200000000000000000000000005641419b61209b1073e66bddfb30130f34f18d6e0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4567942cf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e9a877906ebc3b7098da2404412bf0ed1a5efb40000000000000000000000006d0e9c04bd896608b7e10b87fb686e1feba8551000000000000000000000000000000000000000000000000000000000", "nonce": "0x5d8", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x14edfe5b05cf5693336abb1533a4df0602a9ad3c", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false }, { "hash": "0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720", "transactionType": "CREATE", "contractName": "Bridge", "contractAddress": "0x636b7f211cb373bd8f6dc51abdfede15a49b680f", "function": null, "arguments": [ "0x5270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac", "0x013d06E4cf47229D973Cb3C4e23Ff8D336CE5FF6", "0xa51473BC986c95a5E1a7F9A9991e3f2f263842bE", "0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x537b92", "value": "0x0", "input": "0x610100604052348015610010575f5ffd5b50604051614ce6380380614ce683398101604081905261002f91610153565b6001600160a01b0383166100565760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03821661007d5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0381166100a45760405163d92e233d60e01b815260040160405180910390fd5b60808490526001600160a01b0380841660a05282811660c052811660e0526100ca6100d3565b5050505061019d565b63409feecd19805460018116156100f15763f92ee8a95f526004601cfd5b6001600160401b03808260011c14610133578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b80516001600160a01b038116811461014e575f5ffd5b919050565b5f5f5f5f60808587031215610166575f5ffd5b8451935061017660208601610138565b925061018460408601610138565b915061019260608601610138565b905092959194509250565b60805160a05160c05160e051614ae56102015f395f81816105ae0152611f1001525f81816104830152818161099c01528181610dcb0152610fb101525f81816106a601528181610e2001526111a701525f81816105e10152610d070152614ae55ff3fe608060405260043610610229575f3560e01c806370b43d4511610131578063bd4598be116100ac578063f1d31a751161007c578063f3aa14e911610062578063f3aa14e91461071c578063fb25e6051461073b578063fee81cf4146107a8575f5ffd5b8063f1d31a75146106db578063f2fde38b14610709575f5ffd5b8063bd4598be1461062f578063bd7084b21461064e578063d227c30b14610695578063f04e283e146106c8575f5ffd5b8063946d920411610101578063a11cbfd2116100e7578063a11cbfd21461059d578063afb1f778146105d0578063b1d4dc0d14610603575f5ffd5b8063946d92041461055f5780639cd8d3251461057e575f5ffd5b806370b43d45146104d7578063715018a614610505578063770ae03d1461050d5780638da5cb5b1461052c575f5ffd5b80632de94807116101c15780635c975abb116101915780636249a05e116101775780636249a05e146104725780636736eb17146104a55780636c12f6c8146104b8575f5ffd5b80635c975abb146104265780635ca1e1651461043f575f5ffd5b80632de94807146103a55780634a4ee7b1146103d6578063514e62fc146103e957806354d1f13d1461041e575f5ffd5b80631cd64df4116101fc5780631cd64df4146102df5780632260a9c21461030e57806324ea54f414610389578063256929621461039d575f5ffd5b806316c38b3c1461022d578063183a4f6e1461024e578063189bc6ad146102615780631c10893f146102cc575b5f5ffd5b348015610238575f5ffd5b5061024c610247366004613a29565b6107d9565b005b61024c61025c366004613a44565b61084a565b34801561026c575f5ffd5b506102a261027b366004613a44565b60026020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61024c6102da366004613a7c565b610857565b3480156102ea575f5ffd5b506102fe6102f9366004613a7c565b61086d565b60405190151581526020016102c3565b348015610319575f5ffd5b5061037b610328366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830060209081526040808320938352929052205490565b6040519081526020016102c3565b348015610394575f5ffd5b5061037b600181565b61024c61088b565b3480156103b0575f5ffd5b5061037b6103bf366004613aa6565b638b78c6d8600c9081525f91909152602090205490565b61024c6103e4366004613a7c565b6108d8565b3480156103f4575f5ffd5b506102fe610403366004613a7c565b638b78c6d8600c9081525f9290925260209091205416151590565b61024c6108ea565b348015610431575f5ffd5b506003546102fe9060ff1681565b34801561044a575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361015461037b565b34801561047d575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6104b3366004613c3f565b610923565b3480156104c3575f5ffd5b5061037b6104d2366004613c8f565b610a69565b3480156104e2575f5ffd5b506102fe6104f1366004613a44565b60016020525f908152604090205460ff1681565b61024c610a73565b348015610518575f5ffd5b5061024c610527366004613cc6565b610a86565b348015610537575f5ffd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102a2565b34801561056a575f5ffd5b5061024c610579366004613d05565b610b62565b348015610589575f5ffd5b5061024c610598366004613c8f565b610cfd565b3480156105a8575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b3480156105db575f5ffd5b5061037b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060e575f5ffd5b5061062261061d366004613d3d565b61105a565b6040516102c39190613d56565b34801561063a575f5ffd5b5061024c610649366004613cc6565b611065565b348015610659575f5ffd5b507f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361005460405167ffffffffffffffff90911681526020016102c3565b3480156106a0575f5ffd5b506102a27f000000000000000000000000000000000000000000000000000000000000000081565b61024c6106d6366004613aa6565b611141565b3480156106e6575f5ffd5b506102fe6106f5366004613a44565b5f6020819052908152604090205460ff1681565b61024c610717366004613aa6565b61117b565b348015610727575f5ffd5b506102a2610736366004613a44565b6111a1565b348015610746575f5ffd5b5061037b610755366004613a7c565b73ffffffffffffffffffffffffffffffffffffffff919091165f9081527f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db1414830160209081526040808320938352929052205490565b3480156107b3575f5ffd5b5061037b6107c2366004613aa6565b63389a75e1600c9081525f91909152602090205490565b60016107e4816111cd565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527f444c79de75518689625f69d421a54d335ae43dda0df443aa8d23bef31e44af7e9060200160405180910390a15050565b61085433826111f1565b50565b61085f6111fc565b6108698282611231565b5050565b638b78c6d8600c9081525f8390526020902054811681145b92915050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6108e06111fc565b61086982826111f1565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b688000000000ab143c065c156109405763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610989576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181610995828261123d565b5f6109c0867f00000000000000000000000000000000000000000000000000000000000000006115a9565b90505f6109d787836109d2888a613e45565b611b7d565b905061177061ffff1681511115610a1a576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a243382611d26565b50505050610a2f5f90565b15610a5857688000000000ab143c0646600103610a4e575f815d610a52565b8081555b50505050565b5f688000000000ab143c065d505050565b5f61088582611e27565b610a7b6111fc565b610a845f611e55565b565b688000000000ab143c065c15610aa35763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff1615610aec576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b81811015610b2a57610b22838383818110610b0b57610b0b613f8c565b9050602002810190610b1d9190613fb9565b611eba565b600101610aee565b505f5b15610b5257688000000000ab143c0646600103610b4c575f815d505050565b80555050565b5f688000000000ab143c065d5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bb35760018160011c14303b10610baa5763f92ee8a95f526004601cfd5b818160ff1b1b91505b5073ffffffffffffffffffffffffffffffffffffffff8416610c01576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c0a8461210c565b5f5b82811015610cc2575f848483818110610c2757610c27613f8c565b9050602002016020810190610c3c9190613aa6565b73ffffffffffffffffffffffffffffffffffffffff1603610c89576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cba848483818110610c9e57610c9e613f8c565b9050602002016020810190610cb39190613aa6565b6001611231565b600101610c0c565b508015610a52576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b610d0561216f565b7f0000000000000000000000000000000000000000000000000000000000000000604082013503610d80575f610d3e60a0830183613ff5565b810190610d4b91906140eb565b90505f5f5f8360600151806020019051810190610d68919061411d565b925092509250610d798383836121a8565b5050505050565b6001610d9260a083016080840161419d565b6002811115610da357610da3614162565b03610def575f610db660a0830183613ff5565b810190610dc391906141b6565b9050610869817f0000000000000000000000000000000000000000000000000000000000000000612210565b6040808201355f9081526002602052205473ffffffffffffffffffffffffffffffffffffffff1680610e9a57610e497f0000000000000000000000000000000000000000000000000000000000000000836040013561269d565b6040838101355f90815260026020522080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905590505b5f610eab60a084016080850161419d565b6002811115610ebc57610ebc614162565b03610f63575f610ecf60a0840184613ff5565b810190610edc91906140eb565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8316906360ed1d2890610f3190849060040161421c565b5f604051808303815f87803b158015610f48575f5ffd5b505af1158015610f5a573d5f5f3e3d5ffd5b50505050505050565b6002610f7560a084016080850161419d565b6002811115610f8657610f86614162565b03610869575f80610f9a60a0850185613ff5565b810190610fa7919061428e565b91509150610fd5827f0000000000000000000000000000000000000000000000000000000000000000612210565b6040517f60ed1d2800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906360ed1d289061102790849060040161421c565b5f604051808303815f87803b15801561103e575f5ffd5b505af1158015611050573d5f5f3e3d5ffd5b5050505050505050565b6060610885826126b0565b688000000000ab143c065c156110825763ab143c065f526004601cfd5b30688000000000ab143c065d60035460ff16156110cb576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816110d7828261123d565b5f6110ea6110e58587613e45565b6129ca565b905061177061ffff168151111561112d576040517f69eae45700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111373382611d26565b505050610b2d5f90565b6111496111fc565b63389a75e1600c52805f526020600c20805442111561116f57636f5e88185f526004601cfd5b5f905561085481611e55565b6111836111fc565b8060601b61119857637448fbae5f526004601cfd5b61085481611e55565b5f6108857f000000000000000000000000000000000000000000000000000000000000000083306129fd565b638b78c6d8600c52335f52806020600c205416610854576382b429005f526004601cfd5b61086982825f612ac0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610a84576382b429005f526004601cfd5b61086982826001612ac0565b806040811115611279576040517f3c46992e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051603a80825261076082019092525f916020820161074080368337505060408051600c8082526101a082019092529293505f928392509060208201610180803683370190505090505f5f5b8581101561105057603a8888838181106112e3576112e3613f8c565b90506020028101906112f591906142da565b61130390602081019061430c565b9050111561133d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88888381811061135157611351613f8c565b905060200281019061136391906142da565b61137190602081019061430c565b90508110156115a057365f8a8a8581811061138e5761138e613f8c565b90506020028101906113a091906142da565b6113ae90602081019061430c565b848181106113be576113be613f8c565b90506020028101906113d09190613ff5565b90925090506022811461140f576040517f74149ed900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81355f805b8981101561144d57828b828151811061142f5761142f613f8c565b602002602001015103611445576001915061144d565b600101611414565b50806114b257603a891061148d576040517f9ed3ecbb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818a8a815181106114a0576114a0613f8c565b60209081029190910101526001909801975b5f84846114c16001602261439d565b60ff168181106114d3576114d3613f8c565b9091013560f81c60011491508190506114f0575050505050611598565b5f5f5b8981101561152c57848b828151811061150e5761150e613f8c565b602002602001015103611524576001915061152c565b6001016114f3565b508061159157600c891061156c576040517f87e497e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b838a8a8151811061157f5761157f613f8c565b60209081029190910101526001909801975b5050505050505b60010161133f565b506001016112c7565b5f5f836060015167ffffffffffffffff16116115f1576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db14148300905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161173657845173ffffffffffffffffffffffffffffffffffffffff165f9081526001830160209081526040808320828901518452909152812054908190036116c3576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166116dd91906143b6565b9150813414611718576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61172c83875f015188602001518486612b17565b6002935050611b0d565b341561176e576040517f1841b4e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156117db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ff91906143cd565b1561199a575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611851573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061187591906143e8565b6020870151909150158061188c5750602086015181145b6118c2576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208601819052606086015186516040517f9dc29fac00000000000000000000000000000000000000000000000000000000815233600482015267ffffffffffffffff90921660248301819052935073ffffffffffffffffffffffffffffffffffffffff1690639dc29fac906044015f604051808303815f87803b158015611948575f5ffd5b505af115801561195a573d5f5f3e3d5ffd5b5050505060208601517f069be72ab836d4eacc02525b7350a78a395da2f1253a40ebafd663000000000014611990576001611992565b5f5b935050611b0d565b845173ffffffffffffffffffffffffffffffffffffffff165f908152600183016020908152604080832082890151845290915281205490819003611a0a576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81876060015167ffffffffffffffff16611a2591906143b6565b90505f611a35885f015130612bd2565b9050611a46885f0151333085612c05565b5f611a54895f015130612bd2565b90505f611a6183836143ff565b90505f611a6e8683614412565b90505f8111611aa9576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ab386826143b6565b96505f611ac088846143ff565b90508015611ad5578b51611ad5903383612c67565b611ade82612cba565b67ffffffffffffffff1660608d01528b5160208d0151611b01918b918a8c612b17565b60029950505050505050505b8451602080870151604080890151815173ffffffffffffffffffffffffffffffffffffffff909516855292840191909152820152606081018290527ff1109ae3af61805fa998753209b2a90166bfc4b38ad8a6b5a268591ce18f99c09060800160405180910390a1505092915050565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201528151600181830301815260219091019091526060905f846002811115611bcf57611bcf614162565b03611c1b57805f8660400151611bf2886060015167ffffffffffffffff16612cd7565b604051602001611c059493929190614461565b6040516020818303038152906040529050611cd4565b6001846002811115611c2f57611c2f614162565b03611c7157806001865f015187602001518860400151611c5c8a6060015167ffffffffffffffff16612cd7565b604051602001611c05969594939291906144d2565b6002846002811115611c8557611c85614162565b03611cd45780600286602001518760400151611cae896060015167ffffffffffffffff16612cd7565b604051602001611cc2959493929190614575565b60405160208183030381529060405290505b80611cde84612d45565b604051602001611cef9291906145eb565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905295945050505050565b604080516060810182527f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100805467ffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff851660208301529181018390525f611d8b82612e1c565b83549091505f90611da790839067ffffffffffffffff16612e5a565b845467ffffffffffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909116178555604051909150819083907f877352bc1cb00627bdb5bf16a3664cfe784f66bb3c1bfef68bf5b4ae34e6659990611e179087906145ff565b60405180910390a3505050505050565b5f610885611e3b6040840160208501613d3d565b67ffffffffffffffff168335611e5085612f13565b612f49565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f611ec482610a69565b5f8181526020819052604090205490915060ff1615611ee1575050565b6040517fc92a1099000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063c92a109990602401602060405180830381865afa158015611f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f8e91906143cd565b611fc4576040517f6eca2e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30639cd8d325611fda6080850160608601613d3d565b67ffffffffffffffff16846040518363ffffffff1660e01b815260040161200191906146a8565b5f604051808303815f88803b158015612018575f5ffd5b5087f19350505050801561202a575060015b612095575f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915551829133917f1dc47a66003d9a2334f04c3d23d98f174d7e65e9a4a72fa13277a15120c1559e9190a35050565b5f81815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00908116909155918490528084208054909216909217905551829133917f68bfb2e57fcbb47277da442d81d3e40ff118cbbcaf345b07997b35f592359e499190a35050565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b333014610a84576040517fad5db22700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483006121d482600a6148a7565b73ffffffffffffffffffffffffffffffffffffffff9094165f908152600190910160209081526040808320948352939052919091209190915550565b604082015182517f86fd1c0757ed9526a07041356cbdd3c36e2a83be313529de06f943db141483009160601c905f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff11111111111111111111111111111111111111120161236157845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036122eb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff1661230591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061234b9084906143ff565b9091555061235b90508383612f6c565b5061262f565b84516040517f34476ab100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152908516906334476ab190602401602060405180830381865afa1580156123ce573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f291906143cd565b1561254b575f855f015173ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612444573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246891906143e8565b90506124778187602001511490565b6124ad576040517fa5269ce000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606086015186516040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015267ffffffffffffffff9093166024820181905294509116906340c10f19906044015f604051808303815f87803b15801561252f575f5ffd5b505af1158015612541573d5f5f3e3d5ffd5b505050505061262f565b845173ffffffffffffffffffffffffffffffffffffffff165f9081526001840160209081526040808320828901518452909152812054908190036125bb576040517fe092ade800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80866060015167ffffffffffffffff166125d591906143b6565b865173ffffffffffffffffffffffffffffffffffffffff165f90815260208681526040808320828b0151845290915281208054929450849290919061261b9084906143ff565b9091555050855161262d908484612c67565b505b84516020808701516040805173ffffffffffffffffffffffffffffffffffffffff948516815292830191909152918416818301526060810183905290517f6899b9db6ebabd932aa1fc835134c9b9ca2168d78a4cbee8854b1c00c86476099181900360800190a15050505050565b5f6126a95f8484612f85565b9392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080546060919067ffffffffffffffff165f03612719576040517fd4e9c9cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805467ffffffffffffffff90811690841610612761576040517f41a2330800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5f5f61276e87613050565b93509350935093505f8367ffffffffffffffff81111561279057612790613ac1565b6040519080825280602002602001820160405280156127b9578160200160208202803683370190505b509050845f5b858110156128bb57600167ffffffffffffffff8616821c8116145f80821561280e576127ec8560016148b5565b90506127f98460016148b5565b612807906001901b826143ff565b9150612837565b6128198460016148b5565b612827906001901b866148b5565b90506128346001826143ff565b91505b60028b01548210612874576040517f44a5e33500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a600201828154811061288957612889613f8c565b905f5260205f2001548685815181106128a4576128a4613f8c565b6020908102919091010152935050506001016127bf565b50825182516128ca91906148b5565b67ffffffffffffffff8111156128e2576128e2613ac1565b60405190808252806020026020018201604052801561290b578160200160208202803683370190505b5097505f805b83518110156129655783818151811061292c5761292c613f8c565b60200260200101518a8380612940906148c8565b94508151811061295257612952613f8c565b6020908102919091010152600101612911565b505f5b84518110156129bc5784818151811061298357612983613f8c565b60200260200101518a8380612997906148c8565b9450815181106129a9576129a9613f8c565b6020908102919091010152600101612968565b505050505050505050919050565b60605f6129d683612d45565b6040516020016129e79291906148ff565b6040516020818303038152906040529050919050565b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f360609081527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c83527660195155f3363d3d373d3d363d602036600436635c60da60205273ffffffffffffffffffffffffffffffffffffffff86167c60523d8160223d39730000000000000000000000000000000000000000176009526074600c20919092525f91829052612ab7818585613077565b95945050505050565b638b78c6d8600c52825f526020600c20805483811783612ae1575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f5fa3505050505050565b73ffffffffffffffffffffffffffffffffffffffff84165f90815260208681526040808320868452909152812054612b509083906148b5565b905067ffffffffffffffff612b658483614412565b1115612b9d576040517f1fef0fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff9094165f9081526020958652604080822094825293909552505090912055565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416612c5957803d873b151710612c5957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416612cb057803d853b151710612cb0576390b8ec185f526004601cfd5b505f603452505050565b5f680100000000000000008210612cd357612cd3613096565b5090565b5f60c0821519811c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c175b901c92915050565b60605f612d5283516130a3565b604051602001612d8d919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b60405160208183030381529060405290505f5b8351811015612e155781612dcc858381518110612dbf57612dbf613f8c565b602002602001015161310e565b604051602001612ddd9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529150600101612da0565b5092915050565b5f815f015182602001518360400151604051602001612e3d93929190614935565b604051602081830303815290604052805190602001209050919050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361028054600180820183555f8381527fff5d2acbda7763eef60e554187d5d0d790e60252d450c5d42ea73fe91ad1fd9c909201859055915490917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100918391612ee0916143ff565b9050612eec8185613254565b5f612f00612efb866001614996565b613329565b6001909301839055509091505092915050565b5f6040820135612f2960a084016080850161419d565b612f3660a0850185613ff5565b604051602001612e3d94939291906149b6565b6040805184815260208101849052908101829052606090205f905b949350505050565b5f385f3884865af16108695763b12d13eb5f526004601cfd5b604080517fb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f36060527f1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c9091527660195155f3363d3d373d3d363d602036600436635c60da6020527c60523d8160223d3973000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8416176009525f90826074600c87f59150816130425763301164255f526004601cfd5b6040525f6060529392505050565b5f5f5f606061305e856133f0565b9195509350915061306e8561357a565b90509193509193565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b6335278d125f526004601cfd5b5f60e082151960c01c70010000000000000000000000000000000102602081811b8218601081811b8218600881811b8218808a16821b918a901c1617808216831b921c1617808216831b921c1617808216604090811b91901c90911617608081811b91901c17612d3d565b60605f825f015160405160200161312791815260200190565b6040516020818303038152906040529050806131478460200151516130a3565b6040516020016131589291906149e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290505f5b8360200151518110156131ff5781846020015182815181106131ae576131ae613f8c565b60200260200101516040516020016131c79291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052915060010161318a565b508061320e846040015161370d565b60405160200161321f9291906145eb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529392505050565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100825f5b600167ffffffffffffffff8516821c811603610d79575f613299838361372b565b90505f8460020182815481106132b1576132b1613f8c565b905f5260205f20015490505f8560020185815481106132d2576132d2613f8c565b905f5260205f20015490505f6132e88383613742565b600288018054600181810183555f838152602090209091018390559054919250613311916143ff565b95508461331d816148c8565b95505050505050613278565b7f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136102545f907f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db1361009080830361337f57505f9392505050565b5f61338985613770565b905080515f0361339d57505f949350505050565b80516001036133e75782600201815f815181106133bc576133bc613f8c565b6020026020010151815481106133d4576133d4613f8c565b905f5260205f2001549350505050919050565b612ab78161386d565b5f8080807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610080549091505f90819081906134339067ffffffffffffffff16613931565b90505f6134418260016148b5565b90505b8015613540575f6134566001836143ff565b865490915067ffffffffffffffff16811c6001908116900361352d576001811b67ffffffffffffffff808616908c16108015906134af57506134988186614996565b67ffffffffffffffff168b67ffffffffffffffff16105b1561350a575f6134bf868d614a25565b90505f6134cb82613994565b6134e067ffffffffffffffff841660026143b6565b6134ea91906143ff565b90506134f681896148b5565b9b5092995097506135739650505050505050565b613513826139cc565b61351d90876148b5565b95506135298186614996565b9450505b508061353881614a45565b915050613444565b506040517f8e429c5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9193909250565b60408051818152610820810182526060917f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db136100915f916020820161080080368337505083549192505f91829150819081906135dd9067ffffffffffffffff16613931565b90505f6135eb8260016148b5565b90505b80156136ff575f6136006001836143ff565b885490915067ffffffffffffffff16811c600190811690036136ec576001811b5f67ffffffffffffffff808716908d161080159061365a57506136438287614996565b67ffffffffffffffff168c67ffffffffffffffff16105b90505f613666846139cc565b9050816136d0575f600161367a838b6148b5565b61368491906143ff565b90508b600201818154811061369b5761369b613f8c565b905f5260205f2001548b8b806136b0906148c8565b9c50815181106136c2576136c2613f8c565b602002602001018181525050505b6136da81896148b5565b97506136e68388614996565b96505050505b50806136f781614a45565b9150506135ee565b505050908252509392505050565b606061371982516130a3565b826040516020016129e7929190614a79565b5f5f613736836139cc565b9050612f6481856143ff565b5f8183101561375e57505f828152602082905260409020610885565b5f8281526020849052604090206126a9565b60608167ffffffffffffffff165f0361379857604080515f8082526020820190925290612e15565b60408051818152610820810182525f9160208201610800803683370190505090505f80806137c586613931565b90505f6137d38260016148b5565b90505b8015613862575f6137e86001836143ff565b9050600167ffffffffffffffff8916821c81160361384f575f61380b85836139e7565b90508087878151811061382057613820613f8c565b602090810291909101015285613835816148c8565b965050613841826139cc565b61384b90866148b5565b9450505b508061385a81614a45565b9150506137d6565b505050815292915050565b5f807f4f00c1a67879b7469d7dd58849b9cbcdedefec3f3b862c2933a36197db13610090505f81600201845f815181106138a9576138a9613f8c565b6020026020010151815481106138c1576138c1613f8c565b5f91825260209091200154905060015b8451811015613929575f836002018683815181106138f1576138f1613f8c565b60200260200101518154811061390957613909613f8c565b905f5260205f200154905061391e8382613a0a565b9250506001016138d1565b509392505050565b5f8167ffffffffffffffff165f0361394a57505f919050565b5f825b67ffffffffffffffff81161561397c5781613967816148c8565b92505060011c677fffffffffffffff1661394d565b5f8211613989575f612f64565b612f646001836143ff565b5f805b67ffffffffffffffff831615610885576139b460018416826148b5565b905060018367ffffffffffffffff16901c9250613997565b5f60016139d983826148b5565b6001901b61088591906143ff565b5f5f6139f2836139cc565b90506001613a0082866148b5565b612f6491906143ff565b5f8281526020829052604081206126a9565b8015158114610854575f5ffd5b5f60208284031215613a39575f5ffd5b81356126a981613a1c565b5f60208284031215613a54575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610854575f5ffd5b5f5f60408385031215613a8d575f5ffd5b8235613a9881613a5b565b946020939093013593505050565b5f60208284031215613ab6575f5ffd5b81356126a981613a5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715613b1157613b11613ac1565b60405290565b6040516060810167ffffffffffffffff81118282101715613b1157613b11613ac1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b8157613b81613ac1565b604052919050565b803567ffffffffffffffff81168114613ba0575f5ffd5b919050565b5f60808284031215613bb5575f5ffd5b613bbd613aee565b90508135613bca81613a5b565b81526020828101359082015260408083013590820152613bec60608301613b89565b606082015292915050565b5f5f83601f840112613c07575f5ffd5b50813567ffffffffffffffff811115613c1e575f5ffd5b6020830191508360208260051b8501011115613c38575f5ffd5b9250929050565b5f5f5f60a08486031215613c51575f5ffd5b613c5b8585613ba5565b9250608084013567ffffffffffffffff811115613c76575f5ffd5b613c8286828701613bf7565b9497909650939450505050565b5f60208284031215613c9f575f5ffd5b813567ffffffffffffffff811115613cb5575f5ffd5b820160c081850312156126a9575f5ffd5b5f5f60208385031215613cd7575f5ffd5b823567ffffffffffffffff811115613ced575f5ffd5b613cf985828601613bf7565b90969095509350505050565b5f5f5f60408486031215613d17575f5ffd5b8335613d2281613a5b565b9250602084013567ffffffffffffffff811115613c76575f5ffd5b5f60208284031215613d4d575f5ffd5b6126a982613b89565b602080825282518282018190525f918401906040840190835b81811015613d8d578351835260209384019390920191600101613d6f565b509095945050505050565b5f67ffffffffffffffff821115613db157613db1613ac1565b5060051b60200190565b5f82601f830112613dca575f5ffd5b813567ffffffffffffffff811115613de457613de4613ac1565b613e1560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b3a565b818152846020838601011115613e29575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f613e57613e5284613d98565b613b3a565b8381526020810190600585901b840136811115613e72575f5ffd5b845b81811015613d8d57803567ffffffffffffffff811115613e92575f5ffd5b86016060368290031215613ea4575f5ffd5b613eac613b17565b81358152602082013567ffffffffffffffff811115613ec9575f5ffd5b820136601f820112613ed9575f5ffd5b8035613ee7613e5282613d98565b8082825260208201915060208360051b850101925036831115613f08575f5ffd5b602084015b83811015613f4957803567ffffffffffffffff811115613f2b575f5ffd5b613f3a36602083890101613dbb565b84525060209283019201613f0d565b506020850152505050604082013567ffffffffffffffff811115613f6b575f5ffd5b613f7736828501613dbb565b60408301525085525060209384019301613e74565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112613feb575f5ffd5b9190910192915050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614028575f5ffd5b83018035915067ffffffffffffffff821115614042575f5ffd5b602001915036819003821315613c38575f5ffd5b5f60808284031215614066575f5ffd5b61406e613aee565b905081356004811061407e575f5ffd5b8152602082013561408e81613a5b565b602082015260408201356fffffffffffffffffffffffffffffffff811681146140b5575f5ffd5b6040820152606082013567ffffffffffffffff8111156140d3575f5ffd5b6140df84828501613dbb565b60608301525092915050565b5f602082840312156140fb575f5ffd5b813567ffffffffffffffff811115614111575f5ffd5b612f6484828501614056565b5f5f5f6060848603121561412f575f5ffd5b835161413a81613a5b565b60208501516040860151919450925060ff81168114614157575f5ffd5b809150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b803560038110613ba0575f5ffd5b5f602082840312156141ad575f5ffd5b6126a98261418f565b5f608082840312156141c6575f5ffd5b6126a98383613ba5565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516004811061423357614233614162565b8060208401525073ffffffffffffffffffffffffffffffffffffffff60208401511660408301526fffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152612f6460a08401826141d0565b5f5f60a0838503121561429f575f5ffd5b6142a98484613ba5565b9150608083013567ffffffffffffffff8111156142c4575f5ffd5b6142d085828601614056565b9150509250929050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112613feb575f5ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261433f575f5ffd5b83018035915067ffffffffffffffff821115614359575f5ffd5b6020019150600581901b3603821315613c38575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60ff828116828216039081111561088557610885614370565b808202811582820484141761088557610885614370565b5f602082840312156143dd575f5ffd5b81516126a981613a1c565b5f602082840312156143f8575f5ffd5b5051919050565b8181038181111561088557610885614370565b5f82614445577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f81518060208401855e5f93019283525090919050565b5f61446c828761444a565b60f89590951b7fff000000000000000000000000000000000000000000000000000000000000001685525050600183019190915260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166021820152602901919050565b5f6144dd828961444a565b60f89790971b7fff00000000000000000000000000000000000000000000000000000000000000168752505060609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018501526015840191909152603583015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166055820152605d01919050565b5f614580828861444a565b60f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016865250506001840192909252602183015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166041820152604901919050565b5f612f646145f9838661444a565b8461444a565b6020815267ffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152612f6460808401826141d0565b6003811061465d5761465d614162565b9052565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528235828201525f9067ffffffffffffffff906146ca908501613b89565b1660408301525f604084013590508060608401525067ffffffffffffffff6146f460608501613b89565b1660808301526147066080840161418f565b61471360a084018261464d565b5060a08301357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614748575f5ffd5b830160208101903567ffffffffffffffff811115614764575f5ffd5b803603821315614772575f5ffd5b60c080850152612ab760e085018284614661565b6001815b60018411156147c1578085048111156147a5576147a5614370565b60018416156147b357908102905b60019390931c92800261478a565b935093915050565b5f826147d757506001610885565b816147e357505f610885565b81600181146147f957600281146148035761481f565b6001915050610885565b60ff84111561481457614814614370565b50506001821b610885565b5060208310610133831016604e8410600b8410161715614842575081810a610885565b61486d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614786565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561489f5761489f614370565b029392505050565b5f6126a960ff8416836147c9565b8082018082111561088557610885614370565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148f8576148f8614370565b5060010190565b7fff000000000000000000000000000000000000000000000000000000000000008360f81b1681525f612f64600183018461444a565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660088201525f612ab7601c83018461444a565b67ffffffffffffffff818116838216019081111561088557610885614370565b8481526149c6602082018561464d565b606060408201525f6149dc606083018486614661565b9695505050505050565b5f6149f1828561444a565b60e09390931b7fffffffff000000000000000000000000000000000000000000000000000000001683525050600401919050565b67ffffffffffffffff828116828216039081111561088557610885614370565b5f81614a5357614a53614370565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b1681525f612f64600483018461444a56fea264697066735822122046572474ebf0a83df0be427ce1a85dbd05cc0dda56e2bc52d6d1f0cc90c338ea64736f6c634300081c00335270f413294ec2409da350d920dc5d0e691b65fb868577de3a359b79bee6b4ac000000000000000000000000013d06e4cf47229d973cb3c4e23ff8d336ce5ff6000000000000000000000000a51473bc986c95a5e1a7f9a9991e3f2f263842be00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c", "nonce": "0x5d9", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x3f1b5dd0a8f8879950985202d2cacdfa5c9b352577f4cf53667999c631d4f0b1", "transactionType": "CREATE", "contractName": "RelayerOrchestrator", "contractAddress": "0xefbcb6974a3f2f9c10a30bcb04016c83de39f707", "function": null, "arguments": [ "0x64567a9147fa89B1edc987e36Eb6f4b6db71656b", "0x14EDFe5b05CF5693336ABb1533a4Df0602A9ad3C" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x7af17", "value": "0x0", "input": "0x60c060405234801561000f575f5ffd5b5060405161070838038061070883398101604081905261002e916100ae565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811661007c5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a0526100df565b80516001600160a01b03811681146100a9575f5ffd5b919050565b5f5f604083850312156100bf575f5ffd5b6100c883610093565b91506100d660208401610093565b90509250929050565b60805160a0516105fc61010c5f395f8181605d015261011201525f818160ad01526101be01526105fc5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80636cd7827d14610043578063a11cbfd214610058578063ee9a31a2146100a8575b5f5ffd5b6100566100513660046102b1565b6100cf565b005b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f7f000000000000000000000000000000000000000000000000000000000000000081565b841561017b576040517f7fa920b600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637fa920b69061014d9089908990879087906004016103c6565b5f604051808303815f87803b158015610164575f5ffd5b505af1158015610176573d5f5f3e3d5ffd5b505050505b8215610223576040517f770ae03d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063770ae03d906101f5908790879060040161049c565b5f604051808303815f87803b15801561020c575f5ffd5b505af115801561021e573d5f5f3e3d5ffd5b505050505b505050505050565b5f5f83601f84011261023b575f5ffd5b50813567ffffffffffffffff811115610252575f5ffd5b6020830191508360208260051b850101111561026c575f5ffd5b9250929050565b5f5f83601f840112610283575f5ffd5b50813567ffffffffffffffff81111561029a575f5ffd5b60208301915083602082850101111561026c575f5ffd5b5f5f5f5f5f5f606087890312156102c6575f5ffd5b863567ffffffffffffffff8111156102dc575f5ffd5b8701601f810189136102ec575f5ffd5b803567ffffffffffffffff811115610302575f5ffd5b8960208260061b8401011115610316575f5ffd5b60209182019750955087013567ffffffffffffffff811115610336575f5ffd5b61034289828a0161022b565b909550935050604087013567ffffffffffffffff811115610361575f5ffd5b61036d89828a01610273565b979a9699509497509295939492505050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604080825281018490525f8560608301825b87811015610400578235825260208084013590830152604092830192909101906001016103d8565b50838103602085015261041481868861037f565b98975050505050505050565b803567ffffffffffffffff81168114610437575f5ffd5b919050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261046f575f5ffd5b830160208101925035905067ffffffffffffffff81111561048e575f5ffd5b80360382131561026c575f5ffd5b602080825281018290525f6040600584901b8301810190830185837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4136839003015b878210156105b9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452823581811261051a575f5ffd5b89018035865267ffffffffffffffff61053560208301610420565b1660208701526040818101359087015267ffffffffffffffff61055a60608301610420565b166060870152608081013560038110158015610574575f5ffd5b50608087015261058760a082018261043c565b915060c060a088015261059e60c08801838361037f565b965050506020830192506020840193506001820191506104de565b509297965050505050505056fea264697066735822122029dfe9bc30ff39de68b93210be473e3f4951f47712550973acb9607e7b72c34264736f6c634300081c003300000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c", "nonce": "0x5da", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "function": "deploy(address,address)", "arguments": [ "0xefBcB6974a3F2F9C10a30bCB04016C83de39f707", "0x6F0fB066334B67355A15dc9b67317fd2A2E20890" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "gas": "0x2a3cd", "value": "0x0", "input": "0x545e7c61000000000000000000000000efbcb6974a3f2f9c10a30bcb04016c83de39f7070000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "nonce": "0x5db", "chainId": "0x14a34" }, "additionalContracts": [ { "transactionType": "CREATE", "contractName": null, "address": "0x3201a59f42eae46d5dabd06dfc95a7ba475bbfae", "initCode": "0x60793d8160093d39f33d3d336d6396ff2a80c067f99b3d2ab4df2414605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e604c573d6000fd00000000000000" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x150353", "logs": [ { "address": "0x5641419b61209b1073e66bddfb30130f34f18d6e", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "blockTimestamp": "0x6949ac4a", "transactionHash": "0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000020000000000000000000002000000000000000000000000000000", "type": "0x2", "transactionHash": "0x03b7f6fb2777fdd874c22994d28d56cab6c7b4462feebee967219cfd460a4186", "transactionIndex": "0x2", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "gasUsed": "0x129c38", "effectiveGasPrice": "0xaa34009", "blobGasUsed": "0xd3740", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x5641419b61209b1073e66bddfb30130f34f18d6e", "daFootprintGasScalar": "0x138", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x911", "l1GasPrice": "0xa", "l1GasUsed": "0xad86" }, { "status": "0x1", "cumulativeGasUsed": "0x187037", "logs": [ { "address": "0x14edfe5b05cf5693336abb1533a4df0602a9ad3c", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "blockTimestamp": "0x6949ac4a", "transactionHash": "0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d", "transactionIndex": "0x3", "logIndex": "0x1", "removed": false }, { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x00000000000000000000000014edfe5b05cf5693336abb1533a4df0602a9ad3c", "0x0000000000000000000000005641419b61209b1073e66bddfb30130f34f18d6e", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "blockTimestamp": "0x6949ac4a", "transactionHash": "0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d", "transactionIndex": "0x3", "logIndex": "0x2", "removed": false } ], "logsBloom": "0x00000000000000000040000000000000000000000000800000000000000000000400002002000080000000000000000000000000000000000000000000100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000400000000000202000000000000000000000000000000000800000000000000800000000000000000000000080000000000000000000001000000000000000000000000000080000000000000000000010000000000000800000000000000000400000000000000000000004000000000000020000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb46a8f4eac1f63466a75722371c54d1c08f21b94aa5c7572f6c93b3d26013e4d", "transactionIndex": "0x3", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "gasUsed": "0x36ce4", "effectiveGasPrice": "0xaa34009", "blobGasUsed": "0xd410", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "daFootprintGasScalar": "0x138", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x91", "l1GasPrice": "0xa", "l1GasUsed": "0xae1" }, { "status": "0x1", "cumulativeGasUsed": "0x149cf5c", "logs": [ { "address": "0x636b7f211cb373bd8f6dc51abdfede15a49b680f", "topics": [ "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" ], "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "blockTimestamp": "0x6949ac4a", "transactionHash": "0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720", "transactionIndex": "0x1c", "logIndex": "0x1e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x882fc939ab1afb36f19848da1561ce06ee366a50dc459b17bb64fa9890f52720", "transactionIndex": "0x1c", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "gasUsed": "0x4037ac", "effectiveGasPrice": "0xaa34009", "blobGasUsed": "0x2b79a0", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x636b7f211cb373bd8f6dc51abdfede15a49b680f", "daFootprintGasScalar": "0x138", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x1dd3", "l1GasPrice": "0xa", "l1GasUsed": "0x23acf" }, { "status": "0x1", "cumulativeGasUsed": "0x14fb882", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3f1b5dd0a8f8879950985202d2cacdfa5c9b352577f4cf53667999c631d4f0b1", "transactionIndex": "0x1d", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "gasUsed": "0x5e926", "effectiveGasPrice": "0xaa34009", "blobGasUsed": "0x4dec8", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xefbcb6974a3f2f9c10a30bcb04016c83de39f707", "daFootprintGasScalar": "0x138", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x358", "l1GasPrice": "0xa", "l1GasUsed": "0x3fff" }, { "status": "0x1", "cumulativeGasUsed": "0x151a1c7", "logs": [ { "address": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "topics": [ "0xc95935a66d15e0da5e412aca0ad27ae891d20b2fb91cf3994b6a3bf2b8178082", "0x0000000000000000000000003201a59f42eae46d5dabd06dfc95a7ba475bbfae", "0x000000000000000000000000efbcb6974a3f2f9c10a30bcb04016c83de39f707", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890" ], "data": "0x", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "blockTimestamp": "0x6949ac4a", "transactionHash": "0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9", "transactionIndex": "0x1e", "logIndex": "0x1f", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000800000000000000000000400000002000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000020000000400000000000200000000000000000000000000000000000840000000000800000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000", "type": "0x2", "transactionHash": "0xff80c83c0f43f90c32a9aa4d108e01387e78414549660e1dc311993291d2e9c9", "transactionIndex": "0x1e", "blockHash": "0xd90e673b845de63ae21ebd903cf1204fb96efca9c77cfd0fbe08f122f476da7f", "blockNumber": "0x21b26b5", "gasUsed": "0x1e945", "effectiveGasPrice": "0xaa34009", "blobGasUsed": "0x79e0", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0000000000006396ff2a80c067f99b3d2ab4df24", "contractAddress": null, "daFootprintGasScalar": "0x138", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x53", "l1GasPrice": "0xa", "l1GasUsed": "0x640" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1766435915533, "chain": 84532, "commit": "40cccd9" } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/records/UpdateConfig.s.sol/11155111/run-1768497928010.json ================================================ { "transactions": [ { "hash": "0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xcb24b9875bbf3bdbe351de57c75598055518be741176b96eb01d08384f2f5a352e4aa4926fca6c6605b0fe74fd37bf5d00bdce791f9c9f524b2a5ea8c8a4a3d01b6663a1e8f9b3e11e00110a25c24b652fecdffaf110c65a27c03d96e03b3a4f1b177efa3c8d05142587d01f5ddade507dd7c401a0eccc7e154347a46846b936101c7e750b240286bd6fce307cdc1cc4496e43c8087b14d049c1a37c293e6d105add1ae972524b71f3bca1b6f2812cd31718b1f666d657f1470a388410f5e6eb86cd1c" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x40bbd", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000244174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000124e9e05c420000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3cb24b9875bbf3bdbe351de57c75598055518be741176b96eb01d08384f2f5a352e4aa4926fca6c6605b0fe74fd37bf5d00bdce791f9c9f524b2a5ea8c8a4a3d01b6663a1e8f9b3e11e00110a25c24b652fecdffaf110c65a27c03d96e03b3a4f1b177efa3c8d05142587d01f5ddade507dd7c401a0eccc7e154347a46846b936101c7e750b240286bd6fce307cdc1cc4496e43c8087b14d049c1a37c293e6d105add1ae972524b71f3bca1b6f2812cd31718b1f666d657f1470a388410f5e6eb86cd1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x48e237", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x0000000000000000000000000000000000006396ff2a80c067f99b3d2ab4df24", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a00099a88ec400000000000000000000000064567a9147fa89b1edc987e36eb6f4b6db71656b000000000000000000000000636b7f211cb373bd8f6dc51abdfede15a49b680f00000000000000000000000000000000000000", "blockHash": "0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6", "blockNumber": "0x995bfb", "blockTimestamp": "0x69692304", "transactionHash": "0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5", "transactionIndex": "0x1b", "logIndex": "0x27", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x887814182da37b1568b130c410acc4fa5438e502faf3b3ba14b2e3c743ce4df3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6", "blockNumber": "0x995bfb", "blockTimestamp": "0x69692304", "transactionHash": "0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5", "transactionIndex": "0x1b", "logIndex": "0x28", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000022000000000000040000000000000000000000000000000000000000000001000000004000000002000000000000000000000000000800000000000000000000020000000000400000000800000000000020000000000000000008000000000000000000020000000000000000004000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000004000000000", "type": "0x2", "transactionHash": "0x7d58cda3ffece3f21a24966f727aa745c07485bbcc83b388945029dbc6214ef5", "transactionIndex": "0x1b", "blockHash": "0x08536f6a5acea4e6fd15643aa272911527b36aed6e2dab374e2e6f58f8eb35a6", "blockNumber": "0x995bfb", "gasUsed": "0x2a2a7", "effectiveGasPrice": "0x416bb8ce", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1768497928010, "chain": 11155111, "commit": "c8e5909" } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/script/DeployBridgeUpdates.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Script} from "forge-std/Script.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {LibString} from "solady/utils/LibString.sol"; import {ERC1967Factory} from "@solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "@solady/utils/ERC1967FactoryConstants.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {Bridge} from "bridge/Bridge.sol"; import {RelayerOrchestrator} from "bridge/periphery/RelayerOrchestrator.sol"; import {BridgeValidator} from "bridge/BridgeValidator.sol"; import {Pubkey} from "bridge/libraries/SVMLib.sol"; struct Cfg { address erc1967Factory; address initialOwner; address partnerValidators; address[] baseValidators; uint256 partnerValidatorThreshold; } contract DeployBridgeUpdates is Script { using stdJson for string; using AddressAliasHelper for address; string public cfgData; Cfg public cfg; address public immutable BRIDGE_PROXY; address public immutable BRIDGE_VALIDATOR_PROXY; constructor() { BRIDGE_PROXY = vm.envAddress("L2_BRIDGE_PROXY"); BRIDGE_VALIDATOR_PROXY = vm.envAddress("L2_BRIDGE_VALIDATOR_PROXY"); } function setUp() public { cfgData = vm.readFile(string.concat(vm.projectRoot(), "/config.json")); cfg.erc1967Factory = ERC1967FactoryConstants.ADDRESS; cfg.initialOwner = _readAddressFromConfig("initialOwner").applyL1ToL2Alias(); cfg.partnerValidators = _readAddressFromConfig("partnerValidators"); cfg.baseValidators = _readAddressArrayFromConfig("baseValidators"); cfg.partnerValidatorThreshold = _readUintFromConfig("partnerValidatorThreshold"); } function run() public { address twinBeacon = Bridge(BRIDGE_PROXY).TWIN_BEACON(); address crossChainErc20Factory = Bridge(BRIDGE_PROXY).CROSS_CHAIN_ERC20_FACTORY(); Pubkey remoteBridge = Bridge(BRIDGE_PROXY).REMOTE_BRIDGE(); uint128 baseThreshold = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseThreshold(); uint256 baseSignerCount = BridgeValidator(BRIDGE_VALIDATOR_PROXY).getBaseValidatorCount(); require(baseSignerCount == cfg.baseValidators.length, "Precheck 00"); for (uint256 i; i < baseSignerCount; i++) { require(BridgeValidator(BRIDGE_VALIDATOR_PROXY).isBaseValidator(cfg.baseValidators[i]), "Precheck 01"); } vm.startBroadcast(); address bridgeValidatorImpl = address(new BridgeValidator({bridgeAddress: BRIDGE_PROXY, partnerValidators: cfg.partnerValidators})); address bridgeValidatorProxy = ERC1967Factory(cfg.erc1967Factory) .deployAndCall({ implementation: bridgeValidatorImpl, admin: cfg.initialOwner, data: abi.encodeCall( BridgeValidator.initialize, (cfg.baseValidators, baseThreshold, cfg.partnerValidatorThreshold) ) }); address bridgeImpl = address( new Bridge({ remoteBridge: remoteBridge, twinBeacon: twinBeacon, crossChainErc20Factory: crossChainErc20Factory, bridgeValidator: bridgeValidatorProxy }) ); address relayerOrchestratorProxy = _deployRelayerOrchestrator({bridge: BRIDGE_PROXY, bridgeValidator: bridgeValidatorProxy}); vm.stopBroadcast(); _serializeAddress({key: "BridgeValidatorProxy", value: bridgeValidatorProxy}); _serializeAddress({key: "BridgeImpl", value: bridgeImpl}); _serializeAddress({key: "RelayerOrchestratorProxy", value: relayerOrchestratorProxy}); } function _deployRelayerOrchestrator(address bridge, address bridgeValidator) private returns (address) { address relayerOrchestratorImpl = address(new RelayerOrchestrator({bridge: bridge, bridgeValidator: bridgeValidator})); return ERC1967Factory(cfg.erc1967Factory) .deploy({implementation: relayerOrchestratorImpl, admin: cfg.initialOwner}); } function _serializeAddress(string memory key, address value) private { vm.writeJson({ json: LibString.toHexStringChecksummed(value), path: "addresses.json", valueKey: string.concat(".", key) }); } function _readUintFromConfig(string memory key) private view returns (uint256) { return vm.parseJsonUint({json: cfgData, key: string.concat(".", key)}); } function _readAddressArrayFromConfig(string memory key) private view returns (address[] memory) { return vm.parseJsonAddressArray({json: cfgData, key: string.concat(".", key)}); } function _readAddressFromConfig(string memory key) private view returns (address) { return vm.parseJsonAddress({json: cfgData, key: string.concat(".", key)}); } } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/script/UpdateConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {AddressAliasHelper} from "@eth-optimism-bedrock/src/vendor/AddressAliasHelper.sol"; import {ERC1967Factory} from "solady/utils/ERC1967Factory.sol"; import {ERC1967FactoryConstants} from "solady/utils/ERC1967FactoryConstants.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } contract UpdateConfig is MultisigScript { using AddressAliasHelper for address; address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE_PROXY = vm.envAddress("L2_BRIDGE_PROXY"); address public immutable L2_BRIDGE_IMPL = vm.envAddress("L2_BRIDGE_IMPL"); function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); address to = ERC1967FactoryConstants.ADDRESS; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(ERC1967Factory.upgrade, (L2_BRIDGE_PROXY, L2_BRIDGE_IMPL)); calls[0] = IMulticall3.Call3Value({ target: L1_PORTAL, allowFailure: false, callData: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2025-12-22-update-bridge-alpha-config/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateConfig --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x449834eab75aa57ef712f9e0303ac0dddf4ed173b4e54ad83ac03586f8c3a293" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xf9b2f019f1e804e36a306cc9e6be9a64a3a3c48b51bcde7918a45ec10b3e37b5", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismPortal2 - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x000000000096fcce0000000000096c490000000000000000000000003b9aca00", "after": "0x000000000096fcef00000000000186a00000000000000000000000003b9aca00", "description": "Gas fee tracking for deposit tx execution on L2", "allowDifference": true } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000f", "after": "0x0000000000000000000000000000000000000000000000000000000000000010", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/FACILITATORS.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2026-01-08-op-stack-upgrade-18 make deps ``` 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 3 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Coinbase facilitator: ```bash SIGNATURES=AAAABBBBCCCC make approve-cb ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-cb-sc ``` ```bash SIGNATURES=AAAABBBBCCCC make approve-op ``` Once the signatures have been submitted approving the transaction for all nested Safes run: ```bash make execute ``` ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = ExecuteOPCMScript .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/coinbase-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x7f10098bd53519c739ca8a404afe127647d94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" \ --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json; # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/README.md ================================================ # OP Stack Upgrade 18 Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196) ## Description Upgrade 18 is a proposed network upgrade for OP Stack chains, which introduces **cannon+kona fault proof support** (including an optional switch to Kona proofs as the respected game type) and introduces **Custom Gas Token v2 (CGT v2)** for chains that want to use a non-ETH native fee currency. Upgrade 18 is purely a smart contract upgrade. There are no hardforks activating during this upgrade. This script executes the `upgrade` function of the OP Contracts Manager to upgrade all relevant contracts. ## Procedure ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + c ### 4. Send signature to facilitator ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x5d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea78", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x389bc5d", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "blockTimestamp": "0x6972b580", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "logIndex": "0x3f", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x122e4dcdfee0c69f328f7ec98709e07ccfd59871bc9d4ebaeba3637c3fbaa6290000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "blockTimestamp": "0x6972b580", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "logIndex": "0x40", "removed": false } ], "logsBloom": "0x00008000400000040000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "gasUsed": "0x16318", "effectiveGasPrice": "0x3a0f0ab3", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769125249283, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124709630.json ================================================ { "transactions": [ { "hash": "0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2ab0c060b5f81806d999a7522d361be34f599017b2325de8c1f40a53b86c6b2b61cb9ac2f27bea0ab938df11449558198f26a01c3c58f75b0a4e001b13f205f01c294b538152149ba60c1c75fa1c54af14b0ab028745d1f6bef1529b77c69adc331db052595ea0d89b46e1da46154e3a41204e72fd46fe203bfc4930d6e52bb3401b41d963c56096ed85eba6016db72de39e57c2b105483d3d5925d7a1e4c1f0e09a4ec5a7980844f2617893d23f4f70e2cc9a442b42d7025e109f19a09dca9287541b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2539d", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c32ab0c060b5f81806d999a7522d361be34f599017b2325de8c1f40a53b86c6b2b61cb9ac2f27bea0ab938df11449558198f26a01c3c58f75b0a4e001b13f205f01c294b538152149ba60c1c75fa1c54af14b0ab028745d1f6bef1529b77c69adc331db052595ea0d89b46e1da46154e3a41204e72fd46fe203bfc4930d6e52bb3401b41d963c56096ed85eba6016db72de39e57c2b105483d3d5925d7a1e4c1f0e09a4ec5a7980844f2617893d23f4f70e2cc9a442b42d7025e109f19a09dca9287541b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x6d88d3", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a", "blockNumber": "0x9a253e", "blockTimestamp": "0x6972b364", "transactionHash": "0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2", "transactionIndex": "0x21", "logIndex": "0x4f", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xc03b91c81c2dfb407b4e1586d99b2288915b48365123ed841e0886e953b866ff" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a", "blockNumber": "0x9a253e", "blockTimestamp": "0x6972b364", "transactionHash": "0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2", "transactionIndex": "0x21", "logIndex": "0x50", "removed": false } ], "logsBloom": "0x00000000400000000000010000000000040000000000000001000000040000000000010000000000000000000000000000000000000000100000000000000000002000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000020000c04000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x6956ce87c2e7e4e06c997f2818876dce21ef392072e187d2855bde5a509439f2", "transactionIndex": "0x21", "blockHash": "0x889e4886a5cab1882e22532c4bb6891ea3e3cfb561f15b626d4c49d6a46ae72a", "blockNumber": "0x9a253e", "gasUsed": "0x19742", "effectiveGasPrice": "0x4033df2a", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769124709630, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124924971.json ================================================ { "transactions": [ { "hash": "0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xdc89150a4d6a275304e208e5769f39a7527af0f46e2c770ee418d5789f328b7a0d1f1037618f11d4727b7f2ac948655fff461d003244ec0d44e0437c24cc60a21b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1dc22", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041dc89150a4d6a275304e208e5769f39a7527af0f46e2c770ee418d5789f328b7a0d1f1037618f11d4727b7f2ac948655fff461d003244ec0d44e0437c24cc60a21b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x38ae7b2", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a3", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e", "blockNumber": "0x9a2550", "blockTimestamp": "0x6972b43c", "transactionHash": "0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54", "transactionIndex": "0x2a", "logIndex": "0x3c", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd3e4152904af42775837250533f70148693aa36386429d9d4b053825a51c7ebc0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e", "blockNumber": "0x9a2550", "blockTimestamp": "0x6972b43c", "transactionHash": "0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54", "transactionIndex": "0x2a", "logIndex": "0x3d", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000040000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000002000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xbba7c954738e2dbc8ad52efd3b9a8ea4e098a85e13c56dae718d145ab6b8bd54", "transactionIndex": "0x2a", "blockHash": "0x3c4e08c80a57bb55d735cf032851092d454a69b75fc3badcd760897d5c8d398e", "blockNumber": "0x9a2550", "gasUsed": "0x158b7", "effectiveGasPrice": "0x3a7202b3", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769124924971, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769124949237.json ================================================ { "transactions": [ { "hash": "0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x21d8a", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x38d9157", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7", "blockNumber": "0x9a2552", "blockTimestamp": "0x6972b454", "transactionHash": "0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57", "transactionIndex": "0x32", "logIndex": "0x4f", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x2052b2d2f4db27a379d652ea9bdd9b1d4394ce47e9beca06f6da68d46c8327a30000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7", "blockNumber": "0x9a2552", "blockTimestamp": "0x6972b454", "transactionHash": "0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57", "transactionIndex": "0x32", "logIndex": "0x50", "removed": false } ], "logsBloom": "0x00008000400000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000001000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x01147acf21bb31d7fd1c07db0edb3571046533f8bd15e7aa4fe699736e5a9c57", "transactionIndex": "0x32", "blockHash": "0xd69fbf39f12db0e075eb95511eb43b9109ce1e6177c20c3ffafb39f7bd9d73a7", "blockNumber": "0x9a2552", "gasUsed": "0x17249", "effectiveGasPrice": "0x3af9c236", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769124949237, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769125249283.json ================================================ { "transactions": [ { "hash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b35200000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x5d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1ea78", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415d7020bee0af2653314529acdd4f640bea4d2cf4be227e67083f973b250ef63c212349e59d7ad242b38b4ef0aa033067be7f30a62f6a2d7b3dd771018704e02d1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x389bc5d", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b352", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "blockTimestamp": "0x6972b580", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "logIndex": "0x3f", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x122e4dcdfee0c69f328f7ec98709e07ccfd59871bc9d4ebaeba3637c3fbaa6290000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "blockTimestamp": "0x6972b580", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "logIndex": "0x40", "removed": false } ], "logsBloom": "0x00008000400000040000000000000000010000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xd1b98d37b2d44fcf27ad5c2a127e6204a9f51c968b32579b325584b555edce4c", "transactionIndex": "0x39", "blockHash": "0xb8e72f355adc9e6e269a0b5fe517159dc60f151883d036e551175fabb7a757d9", "blockNumber": "0x9a256b", "gasUsed": "0x16318", "effectiveGasPrice": "0x3a0f0ab3", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769125249283, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/records/ExecuteOPCM.s.sol/11155111/run-1769125284359.json ================================================ { "transactions": [ { "hash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x11c33f", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x50", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x754392", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a4858cc832000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f0a2e224519e876979ea6b2cd15ef5cc3d6703bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a4cbeda5a700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f272670eb55e895584501d564afeb048bed26194033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001d0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1a", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1b", "removed": false }, { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1c", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1d", "removed": false }, { "address": "0xb1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d37", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000008ee6fb13c6c9a7e401531168e196fbf8b05ceabb" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1e", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x1f", "removed": false }, { "address": "0x709c2b8ef4a9fefc629a8a2c1af424dc5bd6ad1b", "topics": [ "0x9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c", "0x3b4a6791a6879d27c0ceeea3f78f8ebe66a01905f4a1290a8c6aff3e85f4665a" ], "data": "0x000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0000000000000000000000000b686f13aff1e427a1f993f29ab0f2e7383729fe0", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x20", "removed": false }, { "address": "0x21efd066e581fa55ef105170cc04d74386a09190", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000074f1ac50eb0be98853805d381c884f5f9abdecf9" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x21", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x22", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a4033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e0000000000000000000000000000000000000000000000000000000000014a34037637067c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c4c44474f00000000000000000000000000000000000000000000000000000000", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x23", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x24", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000000000000000000000000000000000000000014a3400000000", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x25", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "0x0000000000000000000000000000000000000000000000000000000000000008" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x26", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x0000000000000000000000000000000000000000000000000000000000000008" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000007c0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee462178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b0000000000000000000000000000000000000000000000000000000000014a3400000000", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x27", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca", "0x0000000000000000000000000000000000000000000000000000000000000008", "0x000000000000000000000000000000000000000000000000011c37937e080000" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x28", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x78bc67b9bf548ef6410becd31a3e10b9ea6c255974ef6b4530728b431df30030", "0x0000000000000000000000000000000000000000000000000000000000014a34", "0x000000000000000000000000f272670eb55e895584501d564afeb048bed26194", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x29", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x7d0335b917925ca70486a29ea0385c7c17ca518ae99af75c6656539e2187b3520000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "blockTimestamp": "0x6972b5a4", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "logIndex": "0x2a", "removed": false } ], "logsBloom": "0x00000000400600000000000008000000400800000000000000000080044002000000081200000000000001040200000000000000000088000000010000048180200081000400000000040000104002024000040000840040000000001100000000000000020100000000008020000800000030000020000000000000000008200080200000000800000000000000000008040000000000000000000200000000000020000420008300000000000004020000000000010000040000884000000040040220000000080000000000020000000000000840200201018420400060000000202000400000000000000000000000000000000000000000000000040900", "type": "0x2", "transactionHash": "0x357c790c6665a036dd658cfe5b22b8a46b084da8473e9a145f7c1cc96abe8196", "transactionIndex": "0x1d", "blockHash": "0xe040d26c34046053268b6a7a4be42b601bea4b85e1bdfc4e00c19bb6de284279", "blockNumber": "0x9a256e", "gasUsed": "0xcdc20", "effectiveGasPrice": "0x40ee4a20", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1769125284359, "chain": 11155111, "commit": "e1fb641" } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/script/ExecuteOPCM.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {Claim} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import {Constants} from "@eth-optimism-bedrock/src/libraries/Constants.sol"; import { IOPContractsManager, IOPContractsManagerStandardValidator, ISystemConfig, ISuperchainConfig } from "@eth-optimism-bedrock/interfaces/L1/IOPContractsManager.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; /// @notice This script deploys new versions of OP contracts using the OP Contract Manager. contract ExecuteOPCMScript is MultisigScript { ISystemConfig internal immutable SYSTEM_CONFIG; IOPContractsManager internal immutable OP_CONTRACT_MANAGER; address public immutable OWNER_SAFE; Claim immutable CANNON_ABSOLUTE_PRESTATE; Claim immutable CANNON_KONA_ABSOLUTE_PRESTATE; address internal immutable PROPOSER; address internal immutable CHALLENGER; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = ISystemConfig(vm.envAddress("SYSTEM_CONFIG")); OP_CONTRACT_MANAGER = IOPContractsManager(vm.envAddress("OP_CONTRACT_MANAGER")); CANNON_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("CANNON_ABSOLUTE_PRESTATE")); CANNON_KONA_ABSOLUTE_PRESTATE = Claim.wrap(vm.envBytes32("CANNON_KONA_ABSOLUTE_PRESTATE")); PROPOSER = vm.envAddress("PROPOSER"); CHALLENGER = vm.envAddress("CHALLENGER"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IOPContractsManagerStandardValidator.ValidationInputDev memory input = IOPContractsManagerStandardValidator.ValidationInputDev({ sysCfg: SYSTEM_CONFIG, cannonPrestate: Claim.unwrap(CANNON_ABSOLUTE_PRESTATE), cannonKonaPrestate: Claim.unwrap(CANNON_KONA_ABSOLUTE_PRESTATE), l2ChainID: SYSTEM_CONFIG.l2ChainId(), proposer: PROPOSER }); IOPContractsManagerStandardValidator.ValidationOverrides memory overrides = IOPContractsManagerStandardValidator.ValidationOverrides(OWNER_SAFE, CHALLENGER); OP_CONTRACT_MANAGER.validateWithOverrides(input, false, overrides); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IOPContractsManager.OpChainConfig memory baseConfig = IOPContractsManager.OpChainConfig({ systemConfigProxy: SYSTEM_CONFIG, cannonPrestate: CANNON_ABSOLUTE_PRESTATE, cannonKonaPrestate: CANNON_KONA_ABSOLUTE_PRESTATE }); IOPContractsManager.OpChainConfig[] memory opChainConfigs = new IOPContractsManager.OpChainConfig[](1); opChainConfigs[0] = baseConfig; IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: address(OP_CONTRACT_MANAGER), allowFailure: false, callData: abi.encodeCall(IOPContractsManager.upgrade, (opChainConfigs)), value: 0 }); return calls; } function _simulationOverrides() internal view virtual override returns (Simulation.StateOverride[] memory overrides_) { // Get the superchain config address from the SystemConfig ISuperchainConfig superchainConfig = ISuperchainConfig(SYSTEM_CONFIG.superchainConfig()); IOPContractsManager.Implementations memory impls = OP_CONTRACT_MANAGER.implementations(); // Mock the implementation slot of the superchain config if the version has not been upgraded yet. bytes32 h1 = keccak256(abi.encode(ISuperchainConfig(impls.superchainConfigImpl).version())); bytes32 h2 = keccak256(abi.encode(superchainConfig.version())); if (h1 != h2) { Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); storageOverrides[0] = Simulation.StorageOverride( Constants.PROXY_IMPLEMENTATION_ADDRESS, bytes32(uint256(uint160(address(impls.superchainConfigImpl)))) ); overrides_ = new Simulation.StateOverride[](1); overrides_[0] = Simulation.StateOverride(address(superchainConfig), storageOverrides); } } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } function _useDelegateCall() internal pure override returns (bool) { return true; } } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/validations/coinbase-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xc04823b6609531ad4368ce45da2db1b021bede2d625ab253a6fd980ee299dedb" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x2de179a993767af46a9a2a72f003b2a2f0066e106164aa25c8c8a5f7b282ca71", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001d", "after": "0x000000000000000000000000000000000000000000000000000000000000001e", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xaa9f9365710009bcb0e19352bc155841be7e745b27af070da169a4e6447ff22e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB coordinator safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Sepolia", "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000010", "after": "0x0000000000000000000000000000000000000000000000000000000000000011", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x07bde6d68e86ef155f89aaf21b9a5bf53719106d2fb01429a40f1aae8f6d0077", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB multisig", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3403763706", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x4c44474f00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/validations/optimism-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x586a1e6e021547b9e399bf2131f675f381803a98c015e69207a5c52bb974bb80" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock OP Safe - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0x76669a870a0a893b9f95d3350255887f61be13a1a97fdd5bea0d10f6ed52b8af", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001d", "after": "0x000000000000000000000000000000000000000000000000000000000000001e", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x7c1520b79abc832538c8577258615b929d391fc6555588ffbf7178869627700e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of OP safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Sepolia", "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation", "allowDifference": false } ] }, { "name": "Mock OP Safe - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000016", "after": "0x0000000000000000000000000000000000000000000000000000000000000017", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3403763706", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x4c44474f00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-01-08-op-stack-upgrade-18/validations/security-council-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net ExecuteOPCMScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x2b6ed09d1939f371236421ab268bbbecd6f11b178060fe6d9a986ab672dbe355" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "overrides": [ { "key": "0xd857b38dca98a023b2702f410237285387f525286eb22f314cc2165fd507126c", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001d", "after": "0x000000000000000000000000000000000000000000000000000000000000001e", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xaa9f9365710009bcb0e19352bc155841be7e745b27af070da169a4e6447ff22e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of CB coordinator safe", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Sepolia", "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "description": "Update address of AnchorStateRegistry to new implementation", "allowDifference": false } ] }, { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "description": "Update address of OptimismPortal to new implementation", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000c", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xead746436a15f47d8b59b9b583217e10d051370b76caefca7151be7981e818ba", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores approval on behalf of SC multisig", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000015", "after": "0x0000000000000000000000000000000000000000000000000000000000000016", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "changes": [ { "key": "0x057a7f241532c73b242fd6e74e7fbd8cbc283dbc44ad194f17d900d9ac2e9251", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Set DisputeGameFactory.gameImpls[GameTypes.CANNON_KONA] to the new FaultDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0323914d3050e80c3d09da528be54794fde60cd26849cd3410dde0da7cd7d4fa", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2b73ac310b89e68a7b6e4e9957853449e5de490806bc3c532970c3daac958a6f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, absolutePrestate) [word 1/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 2/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea7", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab1707315355d3683e4947a7769603ab6418ec02f000ce3cf30b00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, vm/asr/weth packed) [word 3/4].", "allowDifference": false }, { "key": "0x2e713cda4bce4da2a4129e9bf397dcdd0c170c68ec15235263c7f7c9f24b2ea8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3400000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.CANNON] (permissionless args, l2ChainId=84532) [word 4/4].", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "description": "Update DisputeGameFactory proxy implementation (EIP-1967 implementation slot).", "allowDifference": false }, { "key": "0x4702e508fba4ecc1593cbc19e848c196ab454e49b730050083694dc1976387d5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000000000000000000000000000011c37937e080000", "description": "Set DisputeGameFactory.initBonds[GameTypes.CANNON_KONA] (copied from GameTypes.CANNON).", "allowDifference": false }, { "key": "0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e", "before": "0x000000000000000000000000a1ae4fd5541a3e7a912e45560ed60d3edc5f9a05", "after": "0x00000000000000000000000058bf355c5d4edfc723ef89d99582eccfd143266a", "description": "Update DisputeGameFactory.gameImpls[GameTypes.PERMISSIONED_CANNON] to the new PermissionedDisputeGameV2 implementation.", "allowDifference": false }, { "key": "0x5843af22e99e7c98370145a5056245c244ce8ee852f4ef5e6d6a8e410a18cf41", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9960260aaa22d230a3b999f6243d727fef99faebfaa949c961ad27031f2529b8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000000f9", "description": "Set DisputeGameFactory.gameArgs[GameTypes.CANNON_KONA] length to 124 bytes (permissionless args).", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, absolutePrestate) [word 1/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x6463dee3828677f6270d83d45408044fc5edb9082ff5cc82dbf333ea30d8ee46", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 2/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x2178ab170731535532ce910d9c6c8f78dc6779c1499ab05f281a054e00000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, vm/asr/weth packed) [word 3/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa7f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000014a3403763706", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, l2ChainId=84532 + packed data) [word 4/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa80", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x7c1dbe6d2430616d8f54cb774daa59998b8c52b04a38f10515c52670fcb23f3c", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, proposer packed) [word 5/6].", "allowDifference": false }, { "key": "0x9afb513dc3306e3bc370fea0bac86eaae93221c831ccaae670c9d4101fb0fa81", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x4c44474f00000000000000000000000000000000000000000000000000000000", "description": "Store DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] (permissioned args, challenger packed) [word 6/6].", "allowDifference": false }, { "key": "0xc073f36c05b6a60b24c30a48974b549770d8fa354751fb3170c9dfd8ca536add", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000149", "description": "Set DisputeGameFactory.gameArgs[GameTypes.PERMISSIONED_CANNON] length to 164 bytes (permissioned args).", "allowDifference": false }, { "key": "0xffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b", "before": "0x000000000000000000000000ed839a2aa262eccc513308fe7b8f39088ff8e992", "after": "0x0000000000000000000000006ddba09bc4ccb0d6ca9fc5350580f74165707499", "description": "Update DisputeGameFactory.gameImpls[GameTypes.CANNON] to the new FaultDisputeGameV2 implementation.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000002fa28989fc559836e9d66dff3010c7f7f41c65ed", "after": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "description": "Update address of SystemConfig to new implementation.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-02-10-update-system-config-params/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpdateSystemConfigParamsScript .PHONY: gen-validation gen-validation: checkout-signer-tool run-script .PHONY: run-script run-script: mkdir -p validations; \ cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(NEW_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2026-02-10-update-system-config-params/README.md ================================================ # Update SystemConfig Parameters on Base Sepolia Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06) ([artefact](./records/UpdateSystemConfigParams.s.sol/11155111/run-1770758365511.json)) ## Description This task brings Base Sepolia's SystemConfig parameters to parity with Base Mainnet by updating: | Parameter | From (Sepolia) | To (Mainnet parity) | |-----------|----------------|---------------------| | Gas Limit | 60,000,000 | 375,000,000 | | EIP-1559 Elasticity | 4 | 6 | | EIP-1559 Denominator | 50 | 125 | | Min Base Fee | 200,000 wei | 2,000,000 wei | | DA Footprint Gas Scalar | 312 | 139 | The DA footprint gas scalar targets 14 blobs per L1 block, matching mainnet: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) = 375,000,000 / (6 * 14 * 32,000) = 139 ``` This runbook invokes the `UpdateSystemConfigParamsScript` defined in the [base/contracts](https://github.com/base/contracts) repository. The values we are sending are statically defined in the `.env` file. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + C. ### 4. Send signature to facilitator ## Prep (maintainers) ```bash cd contract-deployments git pull cd sepolia/2026-02-10-update-system-config-params make deps make gen-validation ``` ## Execute (facilitator) 1. Collect signatures from all signers and export: `export SIGNATURES="0x[sig1][sig2]..."`. 2. Run: `make execute` ================================================ FILE: sepolia/2026-02-10-update-system-config-params/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-02-10-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1770758365511.json ================================================ { "transactions": [ { "hash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b00000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x09736418fcd51baffc3c3465c30fe7c3c4e09cc21aaa32f5fe6c551411cec0021b1350daaea38162914beed1ee918130b19a4bf42f6686f1afcf9ec01903254d1cd04e40e51e9efa6a1b11e352c5367fe6f9907867ad13364042fc57bf7b696d01712286ac2ab8c75acca72a3dbf105298bb6a4e67f0bc05315b2b5e0678364fc01b0c819c37fdfe64c8b5c22830c780b5861e938f9bcc96548fbb814f99ee942f585ace88762c6e63968619bd5eeba4009a33ee4d04ae3eff509016d989f4e600461b" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2b4dd", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000464174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000340000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c00000000000000000000000000000000000000000000000000000000165a0bc000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002420f06fdc000000000000000000000000000000000000000000000000000000000000008b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c309736418fcd51baffc3c3465c30fe7c3c4e09cc21aaa32f5fe6c551411cec0021b1350daaea38162914beed1ee918130b19a4bf42f6686f1afcf9ec01903254d1cd04e40e51e9efa6a1b11e352c5367fe6f9907867ad13364042fc57bf7b696d01712286ac2ab8c75acca72a3dbf105298bb6a4e67f0bc05315b2b5e0678364fc01b0c819c37fdfe64c8b5c22830c780b5861e938f9bcc96548fbb814f99ee942f585ace88762c6e63968619bd5eeba4009a33ee4d04ae3eff509016d989f4e600461b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x1a8", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x389aa42", "logs": [ { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "blockTimestamp": "0x698ba0dc", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "logIndex": "0x96", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "blockTimestamp": "0x698ba0dc", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "logIndex": "0x97", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001e8480", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "blockTimestamp": "0x698ba0dc", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "logIndex": "0x98", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008b", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "blockTimestamp": "0x698ba0dc", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "logIndex": "0x99", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xadd77f56d6676089f4127648ced5d8bfcc0d1ee045e39015e138e27c1c69b60e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "blockTimestamp": "0x698ba0dc", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "logIndex": "0x9a", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000000000000000000000000000040000040000000000000000000000000000000000001000000408000000000000000400000020000000000000000000000000000000000000000000000800000000000008000000020100000000000000000800000000000000000000000000000000000000000400000000000000040000000000000000000000000000000000000000000000000000000000000100000404000000000000000000002000880000000000000000000000000000000000000000000000008000000000000500000020000000000000000000000040000000000000800000008000000000008000000000", "type": "0x2", "transactionHash": "0x448c6318e1f6fb2f247944d4377a977158f07a56eb84a19362ecfeca770e3a06", "transactionIndex": "0x74", "blockHash": "0x824476c8b031f24a60e642c786422a088f1ddfd7678fff38af26e9cb7df16139", "blockNumber": "0x9c2895", "gasUsed": "0x1d9c1", "effectiveGasPrice": "0x390604d6", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1770758365511, "chain": 11155111, "commit": "532d692" } ================================================ FILE: sepolia/2026-02-10-update-system-config-params/script/UpdateSystemConfigParams.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract UpdateSystemConfigParamsScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable NEW_ELASTICITY; uint32 internal immutable NEW_DENOMINATOR; uint64 internal immutable NEW_MIN_BASE_FEE; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); NEW_DENOMINATOR = uint32(vm.envUint("NEW_DENOMINATOR")); NEW_MIN_BASE_FEE = uint64(vm.envUint("NEW_MIN_BASE_FEE")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, "Min Base Fee mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](4); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); calls[2] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)), value: 0 }); calls[3] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-02-10-update-system-config-params/validations/base-signer.json ================================================ { "cmd": "NEW_GAS_LIMIT=375000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 NEW_MIN_BASE_FEE=2000000 NEW_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x41dd7da37d1178899ce0fdd3c7827353d3d6dc8740c1481b1dcb30425d19d437" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xae21e3a06579a6f2a68863f5054be58a7e52062d0aed65fa74ea79760cc6f48b", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000011", "after": "0x0000000000000000000000000000000000000000000000000000000000000012", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x00000000000000000000000000000000000a118b0000044d0000000003938700", "after": "0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0", "description": "Updates the gas limit from 60,000,000 to 375,000,000", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000001380000000000000000000000000000000400000032", "after": "0x00000000000000000000008b000000000000000000000000000000060000007d", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x000000000000000000030d40c2be75506d5724086deb7245bd260cc9753911be", "after": "0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be", "description": "Updates the min base fee from 200,000 to 2,000,000 wei", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2026-02-17-update-min-base-fee make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetMinBaseFeeScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(OP_COMMIT)" -a "$(OP_COMMIT)" != "TODO" || (echo "OP_COMMIT required" && exit 1) @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(OLD_MIN_BASE_FEE)" -a "$(OLD_MIN_BASE_FEE)" != "TODO" || (echo "OLD_MIN_BASE_FEE required" && exit 1) @test -n "$(NEW_MIN_BASE_FEE)" -a "$(NEW_MIN_BASE_FEE)" != "TODO" || (echo "NEW_MIN_BASE_FEE required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config checkout-signer-tool run-script .PHONY: run-script run-script: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer.json; .PHONY: execute execute: validate-config NEW_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ OLD_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: gen-validation-rollback gen-validation-rollback: validate-config checkout-signer-tool run-script-rollback .PHONY: run-script-rollback run-script-rollback: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) --ledger-id $(LEDGER_ACCOUNT) \ --workdir .. --forge-cmd 'OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" [] --sender $(SENDER)' --out ../validations/base-signer-rollback.json; .PHONY: execute-rollback execute-rollback: validate-config OLD_MIN_BASE_FEE=$(NEW_MIN_BASE_FEE) \ NEW_MIN_BASE_FEE=$(OLD_MIN_BASE_FEE) \ SAFE_NONCE=$(shell expr $$(cast call $(OWNER_SAFE) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) + $(ROLLBACK_NONCE_OFFSET)) \ forge script --rpc-url $(RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/README.md ================================================ # Update Min Base Fee in L1 `SystemConfig` Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c) ## Description We are updating the minimum base fee from 2,000,000 wei to 5,000,000 wei (2.5x increase). This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `SetMinBaseFeeScript` -- This script will update the min base fee to 5,000,000 wei if invoked as part of the "upgrade" process, or revert to the old value of 2,000,000 wei if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/records/SetMinBaseFee.s.sol/11155111/run-1771531286745.json ================================================ { "transactions": [ { "hash": "0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb864809149cd18801c713d3ef8b2d0496dabfffad86af9281c0e023f7ca762c921ca0d1a99893b925f639944f733a4ee2deef0856239c27bcbab049c3b7bea611c1e82d9656e059f6d30728006f90a4fe8652e6a6ab45b9d35c7b9bf0fab59b1e9551854bcece70542d34a46431f32a7ec06a95d824504b39e988b9ae07c117c281b7a999ed8e9b26dcb955c0911cca2d37d23a4a347bb43ffb4c3e962a815df30244b63b708602ef4f9175539bd0b2ce86636bb00f3895a7ab966d592f70f2a87871c" ], "transaction": { "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x1dc79", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000144174dea71000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000247616f0e800000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b864809149cd18801c713d3ef8b2d0496dabfffad86af9281c0e023f7ca762c921ca0d1a99893b925f639944f733a4ee2deef0856239c27bcbab049c3b7bea611c1e82d9656e059f6d30728006f90a4fe8652e6a6ab45b9d35c7b9bf0fab59b1e9551854bcece70542d34a46431f32a7ec06a95d824504b39e988b9ae07c117c281b7a999ed8e9b26dcb955c0911cca2d37d23a4a347bb43ffb4c3e962a815df30244b63b708602ef4f9175539bd0b2ce86636bb00f3895a7ab966d592f70f2a87871c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1b9e372", "logs": [ { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000004c4b40", "blockHash": "0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2", "blockNumber": "0x9d1619", "blockTimestamp": "0x69976c14", "transactionHash": "0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c", "transactionIndex": "0x62", "logIndex": "0xd4", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xbc77b7cb3a9cf20fa0b73a1cb9cad8e79956081f513a5f73dc5b60c1591610aa" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2", "blockNumber": "0x9d1619", "blockTimestamp": "0x69976c14", "transactionHash": "0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c", "transactionIndex": "0x62", "logIndex": "0xd5", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000000000000000000000800000000000080000000020100000000000000000800000000000000000200000000000000000000000400000000000000040000000000000000000000000000000000000000000040000000000000000000000404000000000000000000000000880000000000000000000000000000000000000000000000000000000000000400000020000000000000000000000040000000000000000000000000000000008000000000", "type": "0x2", "transactionHash": "0x205e68b3a5167a2f84add64544cb0c6d2dc419a7357019e5145d0f5bdbd3c24c", "transactionIndex": "0x62", "blockHash": "0xd5a1f37c19f02c2fb1ebed09cf10322a85d0ed881804be05805d6ff95bed98e2", "blockNumber": "0x9d1619", "gasUsed": "0x158f6", "effectiveGasPrice": "0x63f0be7f", "from": "0x0cf2f86c3338993ce10f74d6f4b095712c7efe26", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771531286745, "chain": 11155111, "commit": "6079d0e" } ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/script/SetMinBaseFee.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function minBaseFee() external view returns (uint64); function setMinBaseFee(uint64 _minBaseFee) external; } contract SetMinBaseFeeScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable MIN_BASE_FEE; uint64 internal immutable NEW_MIN_BASE_FEE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); MIN_BASE_FEE = uint64(vm.envUint("OLD_MIN_BASE_FEE")); NEW_MIN_BASE_FEE = uint64(vm.envUint("NEW_MIN_BASE_FEE")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).minBaseFee(), NEW_MIN_BASE_FEE, "Min base fee mismatch"); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if (MIN_BASE_FEE != ISystemConfig(SYSTEM_CONFIG).minBaseFee()) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](1); // Update minBaseFee (slot 0x6c) // Storage layout (low to high bits): // - superchainConfig (address): bits 0-159 // - minBaseFee (uint64): bits 160-223 // Load existing slot to preserve superchainConfig, then update minBaseFee. bytes32 minBaseFeeSlotKey = bytes32(uint256(0x6c)); uint256 existingMinBaseFeeWord = uint256(vm.load(SYSTEM_CONFIG, minBaseFeeSlotKey)); uint256 updatedMinBaseFeeWord = (existingMinBaseFeeWord & ((1 << 160) - 1)) | (uint256(MIN_BASE_FEE) << 160); storageOverrides[0] = Simulation.StorageOverride({key: minBaseFeeSlotKey, value: bytes32(updatedMinBaseFeeWord)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setMinBaseFee, (NEW_MIN_BASE_FEE)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/validations/base-signer-rollback.json ================================================ { "cmd": "OLD_MIN_BASE_FEE=5000000 NEW_MIN_BASE_FEE=2000000 SAFE_NONCE=19 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetMinBaseFeeScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xa78690fa367e9f2a3e4020635f4d9e83e4b91e1cd66cfb13ccd830bfbb2a9f90" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000013", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x389220615a0d342f31a03f4dfb871150e1e83a732d447252231497b142d80959", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "overrides": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "value": "0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be", "description": "Overrides min base fee to 5M wei (0x4C4B40) so rollback simulation succeeds.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000013", "after": "0x0000000000000000000000000000000000000000000000000000000000000014", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be", "after": "0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be", "description": "Updates min base fee from 5M wei (0x4C4B40) to 2M wei (0x1E8480).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-02-17-update-min-base-fee/validations/base-signer.json ================================================ { "cmd": "NEW_MIN_BASE_FEE=5000000 OLD_MIN_BASE_FEE=2000000 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net SetMinBaseFeeScript --sig sign(address[]) [] --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xebb18e5aa8bce278b05af7ba268b4c68e6efa18dd58463f63e93b42ed2cbb556" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x254730a300eafec4345dc022d409eea8870ec3706f5ca337a243c35509abd161", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000012", "after": "0x0000000000000000000000000000000000000000000000000000000000000013", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564afeb048bed26194", "changes": [ { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000001e8480c2be75506d5724086deb7245bd260cc9753911be", "after": "0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be", "description": "Updates min base fee from 2M wei (0x1E8480) to 5M wei (0x4C4B40).", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-02-19-superchain-separation/FACILITATORS.md ================================================ # Facilitator Instructions This document describes how to execute the Superchain separation sepolia transactions after collecting signatures. ## Prerequisites ### 1. Update repo and install dependencies ```bash cd contract-deployments git pull cd sepolia/2026-02-19-superchain-separation make deps ``` ## General Procedure 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export as the `SIGNATURES` environment variable: `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."` 3. Run the appropriate `make approve-*` command(s) for each nested Safe. 4. Run the appropriate `make execute-*` command to execute the transaction. ## Important: Execution Order **Transactions MUST be executed in order (Part 1 → Part 2 → Part 3)** due to nonce dependencies: 1. CB Nested Safe: Approve CBSafeSigners 2. SC Safe: Approve CBSafeSigners 3. CB Parent Safe: Execute CBSafeSigners 4. CB Parent Safe: Approve UpgradeSystemConfig 5. SC Safe: Approve UpgradeSystemConfig 6. ProxyAdminOwner: Execute UpgradeSystemConfig 7. CB Nested Safe: Execute UpgradeFeeDisburser ### Example Signature Output If the quorum is 3 and you receive the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE03 Signature: CCCC ``` Concatenate: `SIGNATURES=AAAABBBBCCCC` --- ## Part 1: UpdateCBSafeSigners (CB + SC) Updates the signers on the Coinbase Safe. ### Approve Coinbase facilitator (with CB signer signatures): ```bash SIGNATURES= make approve-cbsafesigners-cb ``` Coinbase facilitator (with SC signer signatures): ```bash SIGNATURES= make approve-cbsafesigners-sc ``` ### Execute Once all approvals are submitted: ```bash make execute-cbsafesigners ``` --- ## Part 2: UpgradeSystemConfig (CB + SC) Upgrades the SystemConfig contract with the new SuperchainConfig. ### Approve Coinbase facilitator (with CB signer signatures): ```bash SIGNATURES= make approve-systemconfig-cb ``` Coinbase facilitator (with SC signer signatures): ```bash SIGNATURES= make approve-systemconfig-sc ``` ### Execute Once all approvals are submitted: ```bash make execute-systemconfig ``` --- ## Part 3: UpgradeFeeDisburser (CB only) Upgrades the FeeDisburser contract via a deposit transaction on L1. > **Note:** This must be executed AFTER Part 1 (execute-cbsafesigners) due to nonce dependencies on `CB_NESTED_SAFE_ADDR`. ### Approve (if using nested safe) ```bash SIGNATURES= make approve-feedisburser ``` ### Execute ```bash SIGNATURES= make execute-feedisburser ``` ================================================ FILE: sepolia/2026-02-19-superchain-separation/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env ## # Configuration ## SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) # Sender addresses for validation generation CB_NESTED_SENDER := 0x7f10098bd53519c739ca8a404afe127647d94774 CB_SIGNER_SENDER := 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f ## # Validation File Generation ## # Generates validation files for multisig signing # Usage: GEN_VALIDATION(script_name, safe_addr, sender, output_file, env_vars) # Note: env_vars (5th param) is optional, used for nonce overrides when pre-signing multiple txs define GEN_VALIDATION cd $(SIGNER_TOOL_PATH) && \ bun run scripts/genValidationFile.ts \ --rpc-url $(RPC_URL) \ --workdir $(CURDIR) \ --forge-cmd '$(if $(5),$(5) )forge script --rpc-url $(RPC_URL) $(1) --sig "sign(address[])" "[$(2)]" --sender $(3)' \ --ledger-id $(LEDGER_ACCOUNT) \ --out $(CURDIR)/validations/$(4) endef # Helper to get current nonce for a safe # Usage: $(call GET_NONCE,safe_address) define GET_NONCE $(shell cast call $(1) "nonce()" --rpc-url $(RPC_URL) | cast to-dec) endef # Helper to convert address to uppercase for SAFE_NONCE env var # Usage: $(call ADDR_UPPER,safe_address) define ADDR_UPPER $(shell echo $(1) | tr '[:lower:]' '[:upper:]') endef # Part 1: UpdateCBSafeSigners .PHONY: gen-validation-cb-1 gen-validation-cb-1: deps-signer-tool $(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_NESTED_SAFE_ADDR),$(CB_NESTED_SENDER),coinbase-signer-part-1.json,) .PHONY: gen-validation-cb-sc-1 gen-validation-cb-sc-1: deps-signer-tool $(call GEN_VALIDATION,UpdateCBSafeSigners,$(CB_SC_SAFE_ADDR),$(CB_NESTED_SENDER),security-council-signer-part-1.json,) # Part 2: UpgradeSystemConfig # CB uses CB_SIGNER_SAFE_ADDR which will execute part 1 - needs nonce+1 .PHONY: gen-validation-cb-2 gen-validation-cb-2: deps-signer-tool $(eval CB_PARENT_NONCE := $(shell expr $(call GET_NONCE,$(CB_SIGNER_SAFE_ADDR)) + 1)) $(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SIGNER_SAFE_ADDR),$(CB_SIGNER_SENDER),coinbase-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SIGNER_SAFE_ADDR))=$(CB_PARENT_NONCE)) # SC uses CB_SC_SAFE_ADDR which has Part 1 tx pending - needs nonce+1 .PHONY: gen-validation-cb-sc-2 gen-validation-cb-sc-2: deps-signer-tool $(eval SC_NONCE := $(shell expr $(call GET_NONCE,$(CB_SC_SAFE_ADDR)) + 1)) @echo "Using nonce override for CB_SC_SAFE_ADDR: $(SC_NONCE)" $(call GEN_VALIDATION,UpgradeSystemConfig,$(CB_SC_SAFE_ADDR),$(CB_NESTED_SENDER),security-council-signer-part-2.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_SC_SAFE_ADDR))=$(SC_NONCE)) # Part 3: UpgradeFeeDisburser # Uses CB_NESTED_SAFE_ADDR which has Part 1 tx pending - needs nonce+1 .PHONY: gen-validation-cb-3 gen-validation-cb-3: deps-signer-tool $(eval CB_NESTED_NONCE := $(shell expr $(call GET_NONCE,$(CB_NESTED_SAFE_ADDR)) + 1)) @echo "Using nonce override for CB_NESTED_SAFE_ADDR: $(CB_NESTED_NONCE)" $(call GEN_VALIDATION,UpgradeFeeDisburser,,$(CB_NESTED_SENDER),coinbase-signer-part-3.json,SAFE_NONCE_$(call ADDR_UPPER,$(CB_NESTED_SAFE_ADDR))=$(CB_NESTED_NONCE)) ## # Deployments ## .PHONY: deploy-fee-disburser deploy-fee-disburser: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \ --rpc-url $(L2_RPC_URL) \ --broadcast \ --verify \ --verifier-api-key $(VERIFIER_API_KEY) \ --ledger --hd-paths $(LEDGER_HD_PATH) \ -vvvv .PHONY: deploy-l1-contracts deploy-l1-contracts: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script script/DeploySuperchainConfigAndSystemConfig.s.sol:DeploySuperchainConfigAndSystemConfig \ --rpc-url $(L1_RPC_URL) \ --broadcast \ --verify \ --verifier-api-key $(VERIFIER_API_KEY) \ --ledger --hd-paths $(LEDGER_HD_PATH) \ -vvvv ## # Approvals - UpdateCBSafeSigners ## .PHONY: approve-cbsafesigners-cb approve-cbsafesigners-cb: SCRIPT_NAME = UpdateCBSafeSigners approve-cbsafesigners-cb: $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cbsafesigners-sc approve-cbsafesigners-sc: SCRIPT_NAME = UpdateCBSafeSigners approve-cbsafesigners-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES)) ## # Approvals - UpgradeSystemConfig ## .PHONY: approve-systemconfig-cb approve-systemconfig-cb: SCRIPT_NAME = UpgradeSystemConfig approve-systemconfig-cb: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-systemconfig-sc approve-systemconfig-sc: SCRIPT_NAME = UpgradeSystemConfig approve-systemconfig-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES)) ## # Execute ## .PHONY: execute-cbsafesigners execute-cbsafesigners: SCRIPT_NAME = UpdateCBSafeSigners execute-cbsafesigners: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-systemconfig execute-systemconfig: SCRIPT_NAME = UpgradeSystemConfig execute-systemconfig: $(call MULTISIG_EXECUTE,0x) .PHONY: execute-feedisburser execute-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser execute-feedisburser: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2026-02-19-superchain-separation/README.md ================================================ # Sepolia OP Stack Separation Status: EXECUTED [Step 1](https://sepolia.etherscan.io/tx/0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3) [Step 2](https://sepolia.etherscan.io/tx/0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8) [Step 3](https://sepolia.etherscan.io/tx/0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f) ## Description This task executes our migration away from the shared Superchain configuration to a Base-owned configuration. ## Procedure ### Install dependencies #### 1. Update foundry ```bash foundryup ``` #### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node: ```bash brew install node ``` ### Approve the transaction #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run the signing tool ```bash make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction. For facilitator instructions, see [FACILITATORS.md](./FACILITATORS.md). ================================================ FILE: sepolia/2026-02-19-superchain-separation/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', 'solady/=lib/solady/src/', '@solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/DeployFeeDisburser.s.sol/84532/run-1771950276941.json ================================================ { "transactions": [ { "hash": "0xf051c48ac67c5a7068a0f883ede41878e71c6c5dc4c35d2ede16bc006005c48b", "transactionType": "CREATE", "contractName": "FeeDisburser", "contractAddress": "0xa2ff1eda0a2c5a757ccfcc52f3255c16347ead03", "function": null, "arguments": [ "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "604800" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0xa082f", "value": "0x0", "input": "0x60c060405234801561000f575f80fd5b5060405161092238038061092283398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161082e6100f45f395f8181610156015261020501525f818160c2015261034e015261082e5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252600581527f312e302e300000000000000000000000000000000000000000000000000000006020820152905161010591906106c9565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106e2565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b891600401610720565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104679190610790565b600181111561047857610478610763565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053391906107ae565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107e1565b8173ffffffffffffffffffffffffffffffffffffffff16311061067a578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610654573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067891906107e1565b505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106db602083018461067d565b9392505050565b8082018082111561071a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f61075a606083018461067d565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156107a0575f80fd5b8151600281106106db575f80fd5b5f602082840312156107be575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106db575f80fd5b5f602082840312156107f1575f80fd5b505191905056fea2646970667358221220336c595fd7137b3c3f4c6426e8c647a4cef35063703231a6acf3a4f77f7ea01e64736f6c634300081900330000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80", "nonce": "0x5f0", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x495a9e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf051c48ac67c5a7068a0f883ede41878e71c6c5dc4c35d2ede16bc006005c48b", "transactionIndex": "0x20", "blockHash": "0xdf4cfdcac8a1f2740c9eb86d7e9b1613f4b8b6f12507be8802c34ae4f59164d9", "blockNumber": "0x24538f2", "gasUsed": "0x7b787", "effectiveGasPrice": "0x5b8d80", "blobGasUsed": "0x28ed2", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xa2ff1eda0a2c5a757ccfcc52f3255c16347ead03", "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x45a", "l1GasPrice": "0xf", "l1GasUsed": "0x4b64" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771950276941, "chain": 84532, "commit": "869df80" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/DeploySuperchainConfigAndSystemConfig.s.sol/11155111/run-1771980781445.json ================================================ { "transactions": [ { "hash": "0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251", "transactionType": "CREATE", "contractName": "SuperchainConfig", "contractAddress": "0x99fcf11772af0a9cc411af3cb4311a387dd55b15", "function": null, "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0x646132A1667ca7aD00d36616AFBA1A28116C770A" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0xd0fea", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051610bd4380380610bd483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a051610af76100dd600039600081816102ad015281816102d601526109110152600081816101d4015281816102630152818161085f01526108d00152610af76000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635c975abb11610097578063a967905811610066578063a9679058146102ab578063b2bff544146102d1578063dad544e0146102f8578063f125af6b1461030057600080fd5b80635c975abb14610256578063724c184c1461025e57806376a67a5114610285578063820057151461029857600080fd5b80633e47158c116100d35780633e47158c146101a5578063452a9320146101d257806354fd4d50146101f857806357b001f91461024157600080fd5b806304dbe3fe146101055780630e3b6d1f1461012b5780632e48152c1461014b57806332dfadd91461016e575b600080fd5b610118610113366004610990565b610309565b6040519081526020015b60405180910390f35b610118610139366004610990565b60006020819052908152604090205481565b61015e610159366004610990565b610353565b6040519015158152602001610122565b61015e61017c366004610990565b73ffffffffffffffffffffffffffffffffffffffff166000908152602081905260409020541590565b6101ad61039f565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610122565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6102346040518060400160405280600581526020017f322e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161012291906109ad565b61025461024f366004610990565b6105aa565b005b61015e610610565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b610254610293366004610990565b610621565b6102546102a6366004610990565b6106fa565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101ad6107cf565b62784ce0610118565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020819052604081205480820361033f5750600092915050565b61034c62784ce082610a4f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120548082036103895750600092915050565b61039662784ce082610a4f565b42109392505050565b6000806103ca7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116156103ed57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026104309190610a67565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061048b906060015b604051602081830303815290604052805190602001205490565b146104c2576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080513060208201526001918101919091526000906104e490606001610471565b905073ffffffffffffffffffffffffffffffffffffffff811615610578578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610aa4565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105b2610847565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260408083209290925590519182527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91015b60405180910390a150565b600061061c6000610353565b905090565b6106296108b8565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902054156106a3576040517fb7d8689400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589101610605565b610702610847565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120549003610778576040517f335b869500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161069a565b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902042905590519182527f1163213dbd11d2d966db59d270ddfc3c6fbe0540ffe8f0e7f38c5cac16d2f36b9101610605565b60006107d961039f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061c9190610aa4565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108b6576040517fafbe9bc600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480159061093457503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614155b156108b6576040517fd8f0cd1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461098d57600080fd5b50565b6000602082840312156109a257600080fd5b813561034c8161096b565b600060208083528351808285015260005b818110156109da578581018301518582016040015282016109be565b818111156109ec576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610a6257610a62610a20565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a9f57610a9f610a20565b500290565b600060208284031215610ab657600080fd5b815161034c8161096b56fea26469706673582212201fc2d4748a57ea5bb9d08639578195cae0662d14d2d150b1f7ec989d64c7ce9f64736f6c634300080f00330000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "nonce": "0x68", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "function": null, "arguments": [ "0x8C1a617BdB47342F9C17Ac8750E0b070c372C721" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0xa966d", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161094838038061094883398101604081905261002f916100b5565b6100388161003e565b506100e5565b60006100566000805160206109288339815191525490565b600080516020610928833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b610834806100f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212206cc3f4a7681ca9dbc3f40b95accbd7755aa5af7dd2a1ed42bd0d302a66ea6bdf64736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "nonce": "0x69", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "function": "upgradeTo(address)", "arguments": [ "0x99FCF11772af0a9Cc411af3CB4311A387Dd55b15" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "gas": "0xfe85", "value": "0x0", "input": "0x3659cfe600000000000000000000000099fcf11772af0a9cc411af3cb4311a387dd55b15", "nonce": "0x6a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa87962a5ec693f2f2d54d5182e1f8e1b8d8fb6f4cc3600a460aa49f6799ba92a", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "function": "changeAdmin(address)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "gas": "0xa1b6", "value": "0x0", "input": "0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "nonce": "0x6b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e", "transactionType": "CREATE", "contractName": "SystemConfig", "contractAddress": "0xee364de73e1827f5e31a18c70a40f1f78c075b84", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x377955", "value": "0x0", "input": "0x60a06040523480156200001157600080fd5b5060046080526200005f6200004860017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a062000135565b60001b6000196200006f60201b62001b241760201c565b6200006962000073565b6200015b565b9055565b600054610100900460ff1615620000e05760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000133576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000828210156200015657634e487b7160e01b600052601160045260246000fd5b500390565b6080516131046200017e600039600081816105620152610b3801526131046000f3fe608060405234801561001057600080fd5b50600436106103af5760003560e01c80637e54b8ad116101f4578063d220a9e01161011a578063f2c4bc9e116100ad578063f8c68de01161007c578063f8c68de0146109d2578063fd32aa0f146109da578063fe3d5710146109e2578063ffa1ad7414610a1b57600080fd5b8063f2c4bc9e1461098f578063f2fde38b146109a2578063f45e65d8146109b5578063f68016b7146109be57600080fd5b8063e0e2016d116100e9578063e0e2016d14610956578063e81b2c6d1461095e578063ec70751714610967578063f2b4e6171461098757600080fd5b8063d220a9e01461092d578063d6ae3cd51461093d578063dac6e63a14610946578063dad544e01461094e57600080fd5b8063b40a817c11610192578063c4e8ddfa11610161578063c4e8ddfa146107c6578063c9b26f61146107ce578063c9ff2d16146107e1578063cc731b02146107f957600080fd5b8063b40a817c1461077c578063bc49ce5f1461078f578063bfb14fb714610797578063c0fd4b41146107b357600080fd5b80639b7d7f0a116101ce5780639b7d7f0a146106ca578063a39fac12146106d2578063a62611a214610748578063a71198691461077457600080fd5b80637e54b8ad146106915780638da5cb5b14610699578063935f029e146106b757600080fd5b806321d7fde5116102d95780634add321d116102775780635c975abb116102465780635c975abb146106665780635d73369c1461066e578063715018a6146106765780637616f0e81461067e57600080fd5b80634add321d146105c75780634d5d9a2a146105cf5780634f16540b1461060057806354fd4d501461062757600080fd5b80633e47158c116102b35780633e47158c1461058c578063452a93201461059457806347af267b1461059c57806348cd4cb1146105bf57600080fd5b806321d7fde51461052857806335e80ab31461053b57806338d38c971461055b57600080fd5b806316d3bc7f116103515780631fd19ee1116103205780631fd19ee1146104a657806320f06fdc146104ae57806321326849146104c1578063215b7a1c1461052057600080fd5b806316d3bc7f1461045457806318d139181461047857806319f5cea81461048b5780631edd50981461049357600080fd5b80630a49cb031161038d5780630a49cb03146104115780630ae14b1b146104195780630c18c16214610438578063155b6c6f1461044157600080fd5b806306c92657146103b4578063078f29cf146103cf5780630a2ca2a9146103fc575b600080fd5b6103bc610a23565b6040519081526020015b60405180910390f35b6103d7610a51565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103c6565b61040f61040a366004612ac6565b610a8a565b005b6103d7610ab4565b631dcd65005b60405167ffffffffffffffff90911681526020016103c6565b6103bc60655481565b61040f61044f366004612b16565b610ae4565b606a5461041f906c01000000000000000000000000900467ffffffffffffffff1681565b61040f610486366004612ac6565b610afa565b6103bc610b0b565b61040f6104a1366004612c80565b610b36565b6103d7610ed2565b61040f6104bc366004612df0565b610efc565b7f435553544f4d5f4741535f544f4b454e00000000000000000000000000000000600052606d6020527f3ec9a18bd22a834e2a13465cc2aa2a9aebb161ffdebf39cdb0028dbb1b5394b45460ff165b60405190151581526020016103c6565b6103d7610f0d565b61040f610536366004612e14565b610f3d565b606c546103d79073ffffffffffffffffffffffffffffffffffffffff1681565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016103c6565b6103d7610f4f565b6103d761115a565b6105106105aa366004612e3e565b606d6020526000908152604090205460ff1681565b6103bc6111ee565b61041f61121e565b606a546105eb9068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016103c6565b6103bc7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b604080518082018252600681527f332e31332e320000000000000000000000000000000000000000000000000000602082015290516103c69190612ec2565b610510611244565b6103bc611451565b61040f61147c565b61040f61068c366004612ed5565b611490565b6103bc6114a1565b60335473ffffffffffffffffffffffffffffffffffffffff166103d7565b61040f6106c5366004612ef0565b6114cc565b6103d76114de565b6106da61150e565b6040516103c69190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b606c5461041f9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6103d761161f565b61040f61078a366004612ed5565b61164f565b6103bc611660565b6068546105eb9068010000000000000000900463ffffffff1681565b61040f6107c1366004612e14565b61168b565b6103d761169d565b61040f6107dc366004612e3e565b6116cd565b606a546105eb90640100000000900463ffffffff1681565b6108bd6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516103c69190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b606a546105eb9063ffffffff1681565b6103bc606b5481565b6103d76116de565b6103d761170e565b6103bc611762565b6103bc60675481565b6068546105eb906c01000000000000000000000000900463ffffffff1681565b6103d761178d565b61040f61099d366004612f20565b611809565b61040f6109b0366004612ac6565b611a1a565b6103bc60665481565b60685461041f9067ffffffffffffffff1681565b6103bc611ace565b6103bc611af9565b606a54610a089074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020016103c6565b6103bc600081565b610a4e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b81565b6000610a85610a8160017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b5490565b905090565b610a92611b28565b610ab173ffffffffffffffffffffffffffffffffffffffff8216611ba9565b50565b6000610a85610a8160017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b610aec611b28565b610af68282611c0a565b5050565b610b02611b28565b610ab181611d1a565b610a4e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610b76575060005460ff8083169116105b610c07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055610c40611d9e565b610c48611e1f565b610c518c611a1a565b610c5a89611ba9565b610c648b8b611ebe565b610c6d88611fc3565b610c967f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08889055565b610cc9610cc460017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b869055565b610cfd610cf760017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b85519055565b610d34610d2b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b60208601519055565b610d6b610d6260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b60408601519055565b610da2610d9960017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b60608601519055565b610dd9610dd060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b60808601519055565b610e10610e0760017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b60a08601519055565b610e18612119565b610e2186612181565b606b839055606c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050505050505050565b6000610a857f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b610f04611b28565b610ab1816125f5565b6000610a85610a8160017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b610f45611b28565b610af68282611ebe565b600080610f7a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811615610f9d57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610fe09190612f96565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061103b906060015b604051602081830303815290604052805190602001205490565b14611072576040517f54e433cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805130602082015260019181019190915260009061109490606001611021565b905073ffffffffffffffffffffffffffffffffffffffff811615611128578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111219190612fd3565b9250505090565b6040517f332144db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606c54604080517f452a9320000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163452a93209160048083019260209291908290030181865afa1580156111ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a859190612fd3565b6000610a85610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b606954600090610a859063ffffffff6a0100000000000000000000820481169116612ff0565b7f4554485f4c4f434b424f580000000000000000000000000000000000000000006000908152606d6020527f58e88e949bd180ff86d6c072735c3d8d5a05a543c16130176ec0bc0adf3fd80654819060ff166112a7576112a2610ab4565b61131d565b6112af610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131d9190612fd3565b606c546040517f2e48152c0000000000000000000000000000000000000000000000000000000081526000600482015291925073ffffffffffffffffffffffffffffffffffffffff1690632e48152c90602401602060405180830381865afa15801561138d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b1919061301c565b8061144b5750606c546040517f2e48152c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015290911690632e48152c90602401602060405180830381865afa158015611427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b919061301c565b91505090565b610a4e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611484611b28565b61148e6000612662565b565b611498611b28565b610ab1816126d9565b610a4e60017f51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd5900612f7f565b6114d4611b28565b610af6828261274c565b6000610a85610a8160017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d612f7f565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526040518060c0016040528061155361161f565b73ffffffffffffffffffffffffffffffffffffffff16815260200161157661169d565b73ffffffffffffffffffffffffffffffffffffffff168152602001611599610a51565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115bc610ab4565b73ffffffffffffffffffffffffffffffffffffffff1681526020016115df6114de565b73ffffffffffffffffffffffffffffffffffffffff168152602001611602610f0d565b73ffffffffffffffffffffffffffffffffffffffff169052919050565b6000610a85610a8160017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637612f7f565b611657611b28565b610ab181611fc3565b610a4e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b611693611b28565b610af68282612822565b6000610a85610a8160017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8612f7f565b6116d5611b28565b610ab181611ba9565b6000610a85610a8160017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598612f7f565b6000611718610f4f565b73ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ca573d6000803e3d6000fd5b610a4e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b600080611798610ab4565b90508073ffffffffffffffffffffffffffffffffffffffff1663f2b4e6176040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144b9190612fd3565b611811611d9e565b6000828152606d602052604090205460ff1615158115150361185f576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4554485f4c4f434b424f5800000000000000000000000000000000000000000082036119b0576000828152606d602052604090205460ff1680156118a2575080155b801561193a575060006118b3610ab4565b73ffffffffffffffffffffffffffffffffffffffff1663b682c4446040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119219190612fd3565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611971576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611979611244565b156119b0576040517ff5828b0400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152606d602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168415159081179091559051909184917fb876f6594132c89891d2fd198e925e999be741ec809abb58bfe9b966876cc06c9190a35050565b611a22611b28565b73ffffffffffffffffffffffffffffffffffffffff8116611ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610bfe565b610ab181612662565b610a4e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377612f7f565b610a4e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad612f7f565b9055565b60335473ffffffffffffffffffffffffffffffffffffffff16331461148e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bfe565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611bfe9190612ec2565b60405180910390a35050565b606a80547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff166801000000000000000063ffffffff8516027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff16176c0100000000000000000000000067ffffffffffffffff841690810291909117909155604080516bffffffff000000000000000085831b16909217602083015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060055b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051611d0d9190612ec2565b60405180910390a3505050565b611d437f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003611bcd565b33611da7610f4f565b73ffffffffffffffffffffffffffffffffffffffff1614158015611de8575033611dcf61170e565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561148e576040517fc4050a2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff16611eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e6129f4565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506001611cdc565b611fcb61121e565b67ffffffffffffffff168167ffffffffffffffff161015612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b631dcd650067ffffffffffffffff821611156120c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f20686967686044820152606401610bfe565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611bcd565b612147610a8160017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b60000361148e5761148e61217c60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0612f7f565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115612231576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610bfe565b6001816040015160ff16116122c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610bfe565b6068546080820151825167ffffffffffffffff909216916122e99190613039565b63ffffffff161115612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610bfe565b6000816020015160ff16116123ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610bfe565b8051602082015163ffffffff82169160ff9091169061240e908290613058565b61241891906130a2565b63ffffffff16146124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610bfe565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b606a80547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040805160208082019390935281518082039093018352810190526007611bcd565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606c80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040805160208082019390935281518082039093018352810190526006611bcd565b7fff000000000000000000000000000000000000000000000000000000000000008116156127fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606582905560668190556040805160208101849052908101829052600090606001611f8c565b60018263ffffffff1610156128b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65203e3d203100000000000000000000000000000000000000000000000000006064820152608401610bfe565b60018163ffffffff161015612950576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53797374656d436f6e6669673a20656c6173746963697479206d75737420626560448201527f203e3d20310000000000000000000000000000000000000000000000000000006064820152608401610bfe565b606a805463ffffffff83811664010000000081027fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090931691861691909117919091179091556040516000916129bd91602086811b67ffffffff0000000016909217910190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506004611cdc565b600054610100900460ff16612a8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610bfe565b61148e33612662565b73ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b8035612ac181612a94565b919050565b600060208284031215612ad857600080fd5b8135612ae381612a94565b9392505050565b803563ffffffff81168114612ac157600080fd5b803567ffffffffffffffff81168114612ac157600080fd5b60008060408385031215612b2957600080fd5b612b3283612aea565b9150612b4060208401612afe565b90509250929050565b60405160c0810167ffffffffffffffff81118282101715612b93577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114612ac157600080fd5b600060c08284031215612bbc57600080fd5b60405160c0810181811067ffffffffffffffff82111715612c06577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050808235612c1781612a94565b81526020830135612c2781612a94565b60208201526040830135612c3a81612a94565b60408201526060830135612c4d81612a94565b60608201526080830135612c6081612a94565b608082015260a0830135612c7381612a94565b60a0919091015292915050565b60008060008060008060008060008060008b8d036102a0811215612ca357600080fd5b8c35612cae81612a94565b9b50612cbc60208e01612aea565b9a50612cca60408e01612aea565b995060608d01359850612cdf60808e01612afe565b975060a08d0135612cef81612a94565b965060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215612d2157600080fd5b50612d2a612b49565b612d3660c08e01612aea565b8152612d4460e08e01612b99565b6020820152612d566101008e01612b99565b6040820152612d686101208e01612aea565b6060820152612d7a6101408e01612aea565b60808201526101608d01356fffffffffffffffffffffffffffffffff81168114612da357600080fd5b60a08201529450612db76101808d01612ab6565b9350612dc78d6101a08e01612baa565b92506102608c01359150612dde6102808d01612ab6565b90509295989b509295989b9093969950565b600060208284031215612e0257600080fd5b813561ffff81168114612ae357600080fd5b60008060408385031215612e2757600080fd5b612e3083612aea565b9150612b4060208401612aea565b600060208284031215612e5057600080fd5b5035919050565b6000815180845260005b81811015612e7d57602081850181015186830182015201612e61565b81811115612e8f576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612ae36020830184612e57565b600060208284031215612ee757600080fd5b612ae382612afe565b60008060408385031215612f0357600080fd5b50508035926020909101359150565b8015158114610ab157600080fd5b60008060408385031215612f3357600080fd5b823591506020830135612f4581612f12565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612f9157612f91612f50565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612fce57612fce612f50565b500290565b600060208284031215612fe557600080fd5b8151612ae381612a94565b600067ffffffffffffffff80831681851680830382111561301357613013612f50565b01949350505050565b60006020828403121561302e57600080fd5b8151612ae381612f12565b600063ffffffff80831681851680830382111561301357613013612f50565b600063ffffffff80841680613096577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff808316818516818304811182151516156130c5576130c5612f50565b0294935050505056fea264697066735822122015eb76369f67aa910a0fae5f4a9e9a9b9b4b22d853abcf77ae151ce1e4249aba64736f6c634300080f0033", "nonce": "0x6c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc18b31", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa87962a5ec693f2f2d54d5182e1f8e1b8d8fb6f4cc3600a460aa49f6799ba92a", "transactionIndex": "0x67", "blockHash": "0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b", "blockNumber": "0x9da1e3", "gasUsed": "0xa0c3e", "effectiveGasPrice": "0xf4274", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x99fcf11772af0a9cc411af3cb4311a387dd55b15" }, { "status": "0x1", "cumulativeGasUsed": "0xc9b023", "logs": [ { "address": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "blockHash": "0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b", "blockNumber": "0x9da1e3", "blockTimestamp": "0x699e47b0", "transactionHash": "0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae", "transactionIndex": "0x68", "logIndex": "0xf1", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf02e706033388cb9ef577656b3a0baf8e876f136262d22bc706c7966ac06ffae", "transactionIndex": "0x68", "blockHash": "0x2a63dab3b8ee538a9fd929fa2cc89b407f9dd6eef97b8f3d503419632ba0173b", "blockNumber": "0x9da1e3", "gasUsed": "0x824f2", "effectiveGasPrice": "0xf4274", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508" }, { "status": "0x1", "cumulativeGasUsed": "0x7e6744", "logs": [ { "address": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000099fcf11772af0a9cc411af3cb4311a387dd55b15" ], "data": "0x", "blockHash": "0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5", "blockNumber": "0x9da1e4", "blockTimestamp": "0x699e47bc", "transactionHash": "0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534", "transactionIndex": "0x41", "logIndex": "0x6b", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000020000000000000000010000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb20f2b5ce3e0f74ae61fa8591f4b91d200cbe483ffb6dd46629b5161a37ca534", "transactionIndex": "0x41", "blockHash": "0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5", "blockNumber": "0x9da1e4", "gasUsed": "0xb845", "effectiveGasPrice": "0xf4274", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x7ed5d7", "logs": [ { "address": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5", "blockNumber": "0x9da1e4", "blockTimestamp": "0x699e47bc", "transactionHash": "0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251", "transactionIndex": "0x42", "logIndex": "0x6c", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc54a9c0c602e1bfc1ec470961dd78bf37aeb7f9d8dc098cd37a1fd42fc8bb251", "transactionIndex": "0x42", "blockHash": "0xc2968960e33b4ef5665db9fc82069f4f5f97d59ec6d96cb1d0f2274001aa99e5", "blockNumber": "0x9da1e4", "gasUsed": "0x6e93", "effectiveGasPrice": "0xf4274", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xe4401eb53ae90a5335a51fe1828d7becf7a63508", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x88d1c7", "logs": [ { "address": "0xee364de73e1827f5e31a18c70a40f1f78c075b84", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x2bb983277cbb6d16bf2a9c12916a36a948d23d6d5b78a63d22214473ac4c38bc", "blockNumber": "0x9da1e8", "blockTimestamp": "0x699e47ec", "transactionHash": "0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e", "transactionIndex": "0x3e", "logIndex": "0x52", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc0ed1f3ffd7fa06eaf3c7971e2470dc62a4e65c99e28b576b4f559c457d0e66e", "transactionIndex": "0x3e", "blockHash": "0x2bb983277cbb6d16bf2a9c12916a36a948d23d6d5b78a63d22214473ac4c38bc", "blockNumber": "0x9da1e8", "gasUsed": "0x2aac1a", "effectiveGasPrice": "0xf4274", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xee364de73e1827f5e31a18c70a40f1f78c075b84" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771980781445, "chain": 11155111, "commit": "43996b8" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "0", "0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1b9e4", "value": "0x0", "input": "0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc132a0", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "blockTimestamp": "0x69a0c89c", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "logIndex": "0xfd", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9ded1d8109e97a004dfc47e730fd09a373557dd38748c0f571a756099a5c29cf0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "blockTimestamp": "0x69a0c89c", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "logIndex": "0xfe", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000000000400000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "gasUsed": "0x13fed", "effectiveGasPrice": "0xf4363", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144796912, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144713483.json ================================================ { "transactions": [ { "hash": "0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "0", "0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xbfab9b64241dcf79da1713ebc6ebcfec3f104ffe1cbe57da8f7131e9b2ed24d84cc7139807adb2731fc51e393dbb901e1ae5d5f5da57309651af12acf7087d9d1b5b8e088be5d6c465966cac8bc988e1c241965116c3dcad410324ec29e22426fb6b0d299e5f4d27d84aa7189d2eda9b885ebb341902ac0295675fba72e302e9171b0b6b6d2b9fc0b5ab11d6329cbe94d412b5d04b1d7c32bd543b8ef07aea850b4c3eee4b8526d2705d761de54cb2720838c3bab58fdeeb20b6210ca46e738087621b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x21047", "value": "0x0", "input": "0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3bfab9b64241dcf79da1713ebc6ebcfec3f104ffe1cbe57da8f7131e9b2ed24d84cc7139807adb2731fc51e393dbb901e1ae5d5f5da57309651af12acf7087d9d1b5b8e088be5d6c465966cac8bc988e1c241965116c3dcad410324ec29e22426fb6b0d299e5f4d27d84aa7189d2eda9b885ebb341902ac0295675fba72e302e9171b0b6b6d2b9fc0b5ab11d6329cbe94d412b5d04b1d7c32bd543b8ef07aea850b4c3eee4b8526d2705d761de54cb2720838c3bab58fdeeb20b6210ca46e738087621b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x49", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x6ea2e5", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33", "blockNumber": "0x9dd439", "blockTimestamp": "0x69a0c848", "transactionHash": "0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c", "transactionIndex": "0x3f", "logIndex": "0x96", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xa2894e5686a6218254cb2ffb79d902b949604d4dce61d58949fb6e971457718a" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33", "blockNumber": "0x9dd439", "blockTimestamp": "0x69a0c848", "transactionHash": "0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c", "transactionIndex": "0x3f", "logIndex": "0x97", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000010020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000010000800000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404000000000000010000000000000010000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000000000000100000000400000000", "type": "0x2", "transactionHash": "0xa23e5e388d843fb54e2cff7e316b789a51fa3b6c3a0aa9d52ba704d0806fd09c", "transactionIndex": "0x3f", "blockHash": "0x9a304e02464c3c22514885de509585df3dc50374d6f5649d6006d2e951b49e33", "blockNumber": "0x9dd439", "gasUsed": "0x17e77", "effectiveGasPrice": "0xf4365", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144713483, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144796912.json ================================================ { "transactions": [ { "hash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "0", "0xd4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1b9e4", "value": "0x0", "input": "0x6a761202000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a7d8f02cb4624bfe8c9ce41bf1d07844a75952bd78fc1f1dfc38c0eef104bb881f3224614d3db90777e65fd4e16ba7fe133555eb463aa2810c6db84c9146f9a91c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc132a0", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "blockTimestamp": "0x69a0c89c", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "logIndex": "0xfd", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x9ded1d8109e97a004dfc47e730fd09a373557dd38748c0f571a756099a5c29cf0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "blockTimestamp": "0x69a0c89c", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "logIndex": "0xfe", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000020000000000000000000000000000000000000100000000000000000000000000000000000000000000000000040000000000000000400000000000000000000400000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x65fb0441a67f27a83976aa09914e823e07964249fa7a973f086f61a85e771d40", "transactionIndex": "0x6e", "blockHash": "0xac3de89f93c57b13bdaa8a6610d7b885d7937e3bfa95b118fdc71836c18b76b5", "blockNumber": "0x9dd43f", "gasUsed": "0x13fed", "effectiveGasPrice": "0xf4363", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144796912, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpdateCBSafeSigners.s.sol/11155111/run-1772144844778.json ================================================ { "transactions": [ { "hash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001280000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000148000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000178000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001880000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000f8482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000820000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d600000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0xb04d9", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001944858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001280000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000013800000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000148000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016800000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000178000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001880000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000f8482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000820000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000009e00000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000d600000000000000000000000000000000000000000000000000000000000000e40000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd900000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f130000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000440d582f13000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064f8dc5dd90000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff330000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x59c1c0", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x8b", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x8c", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x8d", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x8e", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x8f", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x90", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x91", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x92", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x93", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x94", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x95", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x96", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x97", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x98", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26" ], "data": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x99", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf" ], "data": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x9a", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x9b", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x20586bc3f21051ed618bef3f801071d720db80050d0917a57d907ffe84df19ef0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "blockTimestamp": "0x69a0c8cc", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "logIndex": "0x9c", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000080000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000020004000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000001000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000040000000000000400000000000000000000000008000000000000000000000000000", "type": "0x2", "transactionHash": "0x172e6bef6e1cf87fc13739f9b8ca56ac0801aeec59fa04420aaa6457bcdc27a3", "transactionIndex": "0x31", "blockHash": "0x0c53a82dd82be42274b09b1bde3895f170025281db457cf026654e755ba4f0f4", "blockNumber": "0x9dd443", "gasUsed": "0x788c9", "effectiveGasPrice": "0xf4356", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144844778, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpgradeFeeDisburser.s.sol/11155111/run-1772145098001.json ================================================ { "transactions": [ { "hash": "0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x49f53e41452C74589E85cA1677426Ba426459e85", "0", "0xe9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead0300000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7a0726da36ce038de7b6497f721dd9630f0caa456758dcb93e540d222393698260a1adcb08fc74949ee2298ebed317eb43c951555fbefb590138343daf8bc0001ca3e7a7caa4ffaef518f1a39d7b03774e94bc33fd39b24f773921453c3612ff804c616942f9a18d696c3989e929afe78847bb3bc8f061ee20e87ea84a8883082d1cb2996410d5c43b040f16f3d9ada95f0dae5f43da9c70b03a5a227978f7a5115351ee6c0bbd2b6ab853f1d0b5f0dec3cbde57548fd221fba8a1bc4ffa007da0151c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3e54d", "value": "0x0", "input": "0x6a76120200000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37a0726da36ce038de7b6497f721dd9630f0caa456758dcb93e540d222393698260a1adcb08fc74949ee2298ebed317eb43c951555fbefb590138343daf8bc0001ca3e7a7caa4ffaef518f1a39d7b03774e94bc33fd39b24f773921453c3612ff804c616942f9a18d696c3989e929afe78847bb3bc8f061ee20e87ea84a8883082d1cb2996410d5c43b040f16f3d9ada95f0dae5f43da9c70b03a5a227978f7a5115351ee6c0bbd2b6ab853f1d0b5f0dec3cbde57548fd221fba8a1bc4ffa007da0151c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5fb0d5", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe6000000000000000000000000a2ff1eda0a2c5a757ccfcc52f3255c16347ead0300000000000000000000000000000000000000", "blockHash": "0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291", "blockNumber": "0x9dd457", "blockTimestamp": "0x69a0c9c8", "transactionHash": "0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f", "transactionIndex": "0x3e", "logIndex": "0x89", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xf5415770680588e00b95f0526997e9044c9484ef98e0e9d6b80529becf1f0dae" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291", "blockNumber": "0x9dd457", "blockTimestamp": "0x69a0c9c8", "transactionHash": "0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f", "transactionIndex": "0x3e", "logIndex": "0x8a", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000004000000002000000002000000000000000000000020000000000000000000000000001000000000000000002000000000100000000000000000800000000000000040000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000404080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000040002000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0x3c056f12475a39854ef1b525fc61e27237b79c7ba4120b07ef327c9ec1c8391f", "transactionIndex": "0x3e", "blockHash": "0xcf340b4c20cd82f60a262c2c9764ce4a68135482789a507ad02d9db058984291", "blockNumber": "0x9dd457", "gasUsed": "0x2a9eb", "effectiveGasPrice": "0xf432b", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772145098001, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1c81a", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x69045b", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "blockTimestamp": "0x69a0c92c", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "logIndex": "0xa0", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x245eb4ed2809cda856c735cbcf936b56fb0e9539d6a9b6b7ea032ffa766e82000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "blockTimestamp": "0x69a0c92c", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "logIndex": "0xa1", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000040000000000800000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "gasUsed": "0x14a36", "effectiveGasPrice": "0xf4347", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144942393, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144904683.json ================================================ { "transactions": [ { "hash": "0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x8cbbd558001abf21deb74daf1b6684e9f81e6270fa106c9bc53278e7593117737048c2c260647de1de8d1045b688c000090dacb2a4b2f6cae122c511c709b1cd1bc48ec7d4fc27b417f67528e401fa2a8f4dc59138d3518efd91a7e215882277ac5907d4f951504c234ba9f05f420943345383b7ca79a1b682e87a7ef8fd12acd71cc59850279003870b614f1d783a91426f34c8b2fce70bb86c24bca6409c8fcc7835bd6bb777b92611aaa2ff5232e6483495ccea919a757c29d363d3b816391d881b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x212db", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38cbbd558001abf21deb74daf1b6684e9f81e6270fa106c9bc53278e7593117737048c2c260647de1de8d1045b688c000090dacb2a4b2f6cae122c511c709b1cd1bc48ec7d4fc27b417f67528e401fa2a8f4dc59138d3518efd91a7e215882277ac5907d4f951504c234ba9f05f420943345383b7ca79a1b682e87a7ef8fd12acd71cc59850279003870b614f1d783a91426f34c8b2fce70bb86c24bca6409c8fcc7835bd6bb777b92611aaa2ff5232e6483495ccea919a757c29d363d3b816391d881b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x4c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x66ebf7", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c", "blockNumber": "0x9dd448", "blockTimestamp": "0x69a0c908", "transactionHash": "0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847", "transactionIndex": "0x3b", "logIndex": "0x87", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb5ecb71657f9f755852bd591399e94acb80f1f0f0e855a923001e9c3a5448a600000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c", "blockNumber": "0x9dd448", "blockTimestamp": "0x69a0c908", "transactionHash": "0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847", "transactionIndex": "0x3b", "logIndex": "0x88", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000040000000000800000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x27dece66b3587db11b605391262d71e4bfab5cc130d2dff531f84ca848fb5847", "transactionIndex": "0x3b", "blockHash": "0xe38fde71e803aa641a901ee274731dc612e68b2a9850e02802f097aa1c648d5c", "blockNumber": "0x9dd448", "gasUsed": "0x18055", "effectiveGasPrice": "0xf4350", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144904683, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144942393.json ================================================ { "transactions": [ { "hash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1c81a", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041794b076ce6e05445e906666d7929a788ecbf3f2b8fda786c64218e3cecbb68a1632eb13422d27fd1f63efc38ad029e7fbc4fc59c14998c5fcc4571000c6fc2e81c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x69045b", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "blockTimestamp": "0x69a0c92c", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "logIndex": "0xa0", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x245eb4ed2809cda856c735cbcf936b56fb0e9539d6a9b6b7ea032ffa766e82000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "blockTimestamp": "0x69a0c92c", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "logIndex": "0xa1", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000040000000000800000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0xb69f9ec9740d9322167bf261147f80d886688d4c17890596c3c382cdf9bae18c", "transactionIndex": "0x47", "blockHash": "0xb28dcb586fe08e5112d74005919e0a4562b20a112bcfaf288bf77f4a1e8fafde", "blockNumber": "0x9dd44b", "gasUsed": "0x14a36", "effectiveGasPrice": "0xf4347", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144942393, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/records/UpgradeSystemConfig.s.sol/11155111/run-1772144989624.json ================================================ { "transactions": [ { "hash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3", "0", "0x9623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x37b1c", "value": "0x0", "input": "0x6a7612020000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000003449623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x117525c", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000003449623609d000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002a41edd50980000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f000000000000000000000000000000000000000000000000000000000000044d00000000000000000000000000000000000000000000000000000000000a118b000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba300000000000000000000000000000000000000000000000000000000165a0bc0000000000000000000000000b830b99c95ea32300039624cb567d324d4b1d83c0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000ff00000000000000000000000000000000084532000000000000000000000000c34855f4de64f1840e5686e64278da901e261f2000000000000000000000000021efd066e581fa55ef105170cc04d74386a09190000000000000000000000000fd0bf71f60660e2f608ed56e1659c450eb11312000000000000000000000000049f53e41452c74589e85ca1677426ba426459e85000000000000000000000000b1efb9650ad6d0cc1ed3ac4a0b7f1d5732696d3700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a34000000000000000000000000e4401eb53ae90a5335a51fe1828d7becf7a6350800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x110", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84" ], "data": "0x", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x111", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3" ], "data": "0x", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x112", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x113", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000fc56e7272eebbba5bc6c544e159483c4a38f8ba3", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x114", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a118b0000044d", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x115", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000165a0bc0", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x116", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000004", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x117", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xd05e584b431c05a7f3251fe7675801fc96ffbfed8d61a25727c71f2de87e9b2f0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "blockTimestamp": "0x69a0c95c", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "logIndex": "0x118", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000400000000000000000800000040000000000010000000000000000000000000000000000000008000000000000040000000000000000000000000000000002000001040000040000000000000000000000000000020100000000000000000800000000c00000000000000000000008400000200000000800000000040200000000008000000080000000000000000000000000000400000000000120000404040000000000000000000000800000000000000020000000000000000000060000000000000000000000000400000060000000000000000000000000000000000000000000009000000008008000000000", "type": "0x2", "transactionHash": "0x60c05a9ee8f30a8c1fc0f739ae9be01e755045c976ae0b78ee2c3f1ba9eeaed8", "transactionIndex": "0x53", "blockHash": "0x07c7dcd8f7d711067b895d0847b9fa03e799b5f35c3b5606230546be52277944", "blockNumber": "0x9dd44f", "gasUsed": "0x28526", "effectiveGasPrice": "0xf433c", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1772144989624, "chain": 11155111, "commit": "d3b0666" } ================================================ FILE: sepolia/2026-02-19-superchain-separation/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {FeeDisburser} from "@base-contracts/src/revenue-share/FeeDisburser.sol"; /// @title DeployFeeDisburser /// @notice Deploys the FeeDisburser contract which collects fees from L2 FeeVaults and bridges them to L1. /// @dev Required environment variables: /// - L1_WALLET: The L1 address that will receive bridged fees /// - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours) contract DeployFeeDisburser is Script { /// @notice The L1 address that will receive the bridged fees. address public immutable L1_WALLET = vm.envAddress("BALANCE_TRACKER"); /// @notice The minimum time in seconds between fee disbursements. uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); function run() external { vm.startBroadcast(); FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL); console.log("FeeDisburser deployed at:", address(feeDisburser)); console.log(" L1_WALLET:", L1_WALLET); console.log(" FEE_DISBURSEMENT_INTERVAL:", FEE_DISBURSEMENT_INTERVAL); vm.stopBroadcast(); // Post-deployment checks to ensure immutables match expected values // (guards against shell env variables overriding .env file) require( feeDisburser.L1_WALLET() == 0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57, "DeployFeeDisburser: L1_WALLET mismatch" ); require( feeDisburser.FEE_DISBURSEMENT_INTERVAL() == 604800, "DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch" ); } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/script/DeploySuperchainConfigAndSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {Proxy} from "@base-contracts/src/universal/Proxy.sol"; import {ProxyAdmin} from "@base-contracts/src/universal/ProxyAdmin.sol"; import {SystemConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {SuperchainConfig} from "@base-contracts/src/L1/SuperchainConfig.sol"; /// @title DeploySuperchainConfigAndSystemConfig /// @notice Deploys a new SuperchainConfig proxy and a patched SystemConfig implementation. /// The SuperchainConfig proxy is initialized with the guardian address and admin /// is transferred to the ProxyAdmin contract. The SystemConfig implementation uses /// init version 4 to allow re-initialization on existing proxies. contract DeploySuperchainConfigAndSystemConfig is Script { /// @notice The ProxyAdmin contract that will be the admin of the SuperchainConfig proxy. address public immutable PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); /// @notice The Safe that owns the ProxyAdmin. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The guardian address that can pause and perform dispute game operations (should be the same as the owner safe which is our top level 2-of-2). address public immutable GUARDIAN = vm.envAddress("OWNER_SAFE"); /// @notice The incident responder address that can only pause. address public immutable INCIDENT_RESPONDER = vm.envAddress("CB_SIGNER_SAFE_ADDR"); function run() external { vm.startBroadcast(); // Deploy SuperchainConfig implementation with guardian and incident responder as constructor args SuperchainConfig superchainConfigImpl = new SuperchainConfig(GUARDIAN, INCIDENT_RESPONDER); // Deploy SuperchainConfig proxy Proxy superchainConfigProxy = new Proxy(msg.sender); superchainConfigProxy.upgradeTo(address(superchainConfigImpl)); superchainConfigProxy.changeAdmin(PROXY_ADMIN); // Deploy patched SystemConfig implementation (uses init version 4) new SystemConfig(); vm.stopBroadcast(); // Post-deployment verification SuperchainConfig superchainConfig = SuperchainConfig(address(superchainConfigProxy)); require(superchainConfig.GUARDIAN() == GUARDIAN, "Postcheck: Guardian not set correctly"); require( superchainConfig.INCIDENT_RESPONDER() == INCIDENT_RESPONDER, "Postcheck: Incident responder not set correctly" ); require(!superchainConfig.paused(), "Postcheck: SuperchainConfig should not be paused"); // Verify proxy admin is set correctly vm.prank(address(0)); require(superchainConfigProxy.admin() == PROXY_ADMIN, "Postcheck: Proxy admin not set correctly"); // Verify proxy admin owner is correct require(ProxyAdmin(PROXY_ADMIN).owner() == OWNER_SAFE, "Postcheck: ProxyAdmin owner not set correctly"); } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/script/UpdateCBSafeSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IGnosisSafe, Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; /// @title UpdateCBSafeSigners /// @notice Updates the CB signer safe to replace nested safe signers with individual EOAs. /// @dev Execution order: /// 1. Remove SECURITY_COUNCIL from OWNER_SAFE (threshold temporarily set to 1) /// 2. Add each CB EOA from CB_NESTED_SAFE as direct signers (threshold stays at 1) /// 3. Remove CB_NESTED_SAFE and set final threshold to FINAL_THRESHOLD contract UpdateCBSafeSigners is MultisigScript { /// @notice Sentinel address used by Safe's linked list implementation. address internal constant SENTINEL = address(0x1); /// @notice Interim threshold used during owner modifications. uint256 internal constant INTERIM_THRESHOLD = 1; /// @notice Final threshold after all owner modifications are complete. uint256 public constant FINAL_THRESHOLD = 3; /// @notice The Safe whose signers are being updated. address public immutable OWNER_SAFE = vm.envAddress("CB_SIGNER_SAFE_ADDR"); /// @notice The security council Safe to be removed as a signer. address public immutable SECURITY_COUNCIL = vm.envAddress("CB_SC_SAFE_ADDR"); /// @notice The nested Safe whose EOA owners will become direct signers. address public immutable CB_NESTED_SAFE = vm.envAddress("CB_NESTED_SAFE_ADDR"); /// @notice The previous owner in Safe's linked list, needed for removeOwner. address public prevOwnerOfSecurityCouncil = SENTINEL; /// @notice The EOA addresses from CB_NESTED_SAFE that will become direct signers. address[] public cbEoas; function setUp() external { // Prechecks: Verify initial state require(IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Precheck: SECURITY_COUNCIL must be an owner"); require(IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), "Precheck: CB_NESTED_SAFE must be an owner"); // Find prevOwner for SECURITY_COUNCIL in Safe's linked list. // Safe's getOwners() returns owners in linked list order. // The first owner has SENTINEL (0x1) as its prevOwner. address[] memory owners = IGnosisSafe(OWNER_SAFE).getOwners(); for (uint256 i; i < owners.length; i++) { if (owners[i] == SECURITY_COUNCIL) break; prevOwnerOfSecurityCouncil = owners[i]; } // Get EOAs from nested safe to add as direct signers cbEoas = IGnosisSafe(CB_NESTED_SAFE).getOwners(); require(cbEoas.length > 0, "Precheck: CB_NESTED_SAFE must have at least one owner"); require(cbEoas.length >= FINAL_THRESHOLD, "Precheck: CB_NESTED_SAFE must have at least FINAL_THRESHOLD owners"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { // Verify removed signers require(!IGnosisSafe(OWNER_SAFE).isOwner(SECURITY_COUNCIL), "Postcheck: SECURITY_COUNCIL must be removed"); require(!IGnosisSafe(OWNER_SAFE).isOwner(CB_NESTED_SAFE), "Postcheck: CB_NESTED_SAFE must be removed"); // Verify all EOAs are now direct signers for (uint256 i = 0; i < cbEoas.length; i++) { require(IGnosisSafe(OWNER_SAFE).isOwner(cbEoas[i]), "Postcheck: CB EOA must be an owner"); } // Verify threshold require( IGnosisSafe(OWNER_SAFE).getThreshold() == FINAL_THRESHOLD, "Postcheck: Threshold must be FINAL_THRESHOLD" ); } function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { // Total calls: 1 (remove SECURITY_COUNCIL) + cbEoas.length (add EOAs) + 1 (remove CB_NESTED_SAFE) MultisigScript.Call[] memory calls = new MultisigScript.Call[](2 + cbEoas.length); // Step 1: Remove SECURITY_COUNCIL, set threshold to 1 calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall( IGnosisSafe.removeOwner, (prevOwnerOfSecurityCouncil, SECURITY_COUNCIL, INTERIM_THRESHOLD) ), value: 0 }); // Step 2: Add each CB EOA as a direct signer (keep threshold at 1) // Note: addOwnerWithThreshold adds new owners to the FRONT of Safe's linked list. // After adding cbEoas[0..n-1], the order will be: // SENTINEL -> cbEoas[n-1] -> ... -> cbEoas[0] -> CB_NESTED_SAFE -> ... // Therefore, cbEoas[0] will be the prevOwner of CB_NESTED_SAFE. for (uint256 i = 0; i < cbEoas.length; i++) { calls[i + 1] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(IGnosisSafe.addOwnerWithThreshold, (cbEoas[i], INTERIM_THRESHOLD)), value: 0 }); } // Step 3: Remove CB_NESTED_SAFE and set final threshold // cbEoas[0] is the prevOwner because it was added first and is now // immediately before CB_NESTED_SAFE in the linked list. calls[calls.length - 1] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(IGnosisSafe.removeOwner, (cbEoas[0], CB_NESTED_SAFE, FINAL_THRESHOLD)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/script/UpgradeFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IProxy { function upgradeTo(address newImplementation) external; } /// @title UpgradeFeeDisburser /// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1. /// The FeeDisburser proxy is owned by CB_NESTED_SAFE_ADDR on L1, so this upgrade /// must be executed as a deposit transaction through OptimismPortal2. contract UpgradeFeeDisburser is MultisigScript { /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin). address public immutable OWNER_SAFE = vm.envAddress("CB_NESTED_SAFE_ADDR"); /// @notice The OptimismPortal2 contract on L1 used for deposit transactions. address public immutable OPTIMISM_PORTAL = vm.envAddress("OPTIMISM_PORTAL_ADDR"); /// @notice The FeeDisburser proxy contract on L2. address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice The new FeeDisburser implementation contract on L2. address public immutable FEE_DISBURSER_IMPL = vm.envAddress("FEE_DISBURSER_IMPL_ADDR"); /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation. /// The upgrade result should be verified on L2 after the deposit transaction is processed. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {} /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade /// the FeeDisburser proxy on L2. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); // Build the upgradeTo calldata to call directly on the FeeDisburser proxy bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL)); // Parameters for the deposit transaction address to = FEE_DISBURSER_PROXY; uint256 value = 0; uint64 gasLimit = 100_000; // Sufficient gas for proxy upgrade bool isCreation = false; calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OPTIMISM_PORTAL, data: abi.encodeCall( IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, upgradeCalldata) ), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction on L1. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {SystemConfig, IResourceMetering, ISuperchainConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {IProxyAdmin} from "@base-contracts/interfaces/universal/IProxyAdmin.sol"; /// @title UpgradeSystemConfig /// @notice Script to upgrade the SystemConfig proxy to a new implementation and reinitialize /// it with a new SuperchainConfig address. This preserves all existing configuration /// parameters while updating the SuperchainConfig reference. contract UpgradeSystemConfig is MultisigScript { /// @notice The Safe that owns the ProxyAdmin and will execute this upgrade. address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The ProxyAdmin contract that manages the SystemConfig proxy. address public immutable PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); /// @notice The SystemConfig proxy contract to be upgraded. address public immutable SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); /// @notice The new SystemConfig implementation contract. address public immutable SYSTEM_CONFIG_IMPLEMENTATION = vm.envAddress("SYSTEM_CONFIG_IMPLEMENTATION"); /// @notice The new SuperchainConfig address to set during reinitialization. address public immutable NEW_SUPERCHAIN_CONFIG = vm.envAddress("NEW_SUPERCHAIN_CONFIG"); /// @notice Validates the post-upgrade state. /// @dev Verifies that: /// 1. The implementation was updated correctly /// 2. The SuperchainConfig was set to the new address /// 3. All existing parameters were preserved function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG); // Verify the implementation was updated address currentImpl = IProxyAdmin(PROXY_ADMIN).getProxyImplementation(SYSTEM_CONFIG); require(currentImpl == SYSTEM_CONFIG_IMPLEMENTATION, "Postcheck: Implementation not updated"); // Verify the SuperchainConfig was updated require( address(systemConfig.superchainConfig()) == NEW_SUPERCHAIN_CONFIG, "Postcheck: SuperchainConfig not updated" ); } /// @notice Builds the upgrade call to ProxyAdmin.upgradeAndCall. /// @dev Reads all existing SystemConfig parameters and rebuilds the initialize calldata /// with the new SuperchainConfig address. All other parameters are preserved. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { SystemConfig systemConfig = SystemConfig(SYSTEM_CONFIG); // Get all existing SystemConfig parameters address owner = systemConfig.owner(); uint32 basefeeScalar = systemConfig.basefeeScalar(); uint32 blobbasefeeScalar = systemConfig.blobbasefeeScalar(); bytes32 batcherHash = systemConfig.batcherHash(); uint64 gasLimit = systemConfig.gasLimit(); address unsafeBlockSigner = systemConfig.unsafeBlockSigner(); IResourceMetering.ResourceConfig memory resourceConfig = systemConfig.resourceConfig(); address batchInbox = systemConfig.batchInbox(); uint256 l2ChainId = systemConfig.l2ChainId(); // Get the Addresses struct SystemConfig.Addresses memory addresses = systemConfig.getAddresses(); // Build the initialize calldata with the new SuperchainConfig bytes memory initializeCalldata = abi.encodeCall( SystemConfig.initialize, ( owner, basefeeScalar, blobbasefeeScalar, batcherHash, gasLimit, unsafeBlockSigner, resourceConfig, batchInbox, addresses, l2ChainId, ISuperchainConfig(NEW_SUPERCHAIN_CONFIG) ) ); MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: PROXY_ADMIN, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, (payable(SYSTEM_CONFIG), SYSTEM_CONFIG_IMPLEMENTATION, initializeCalldata) ), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/validations/base-signer-part-1.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateCBSafeSigners --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0xab72b75550a11e6038cf3f2d4fe69e4ab793d7e9db4123d839c6fb20f499194a" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x379c87bdc6abb85fdbe8fe138f62367fcf94860df0efa04c17b2aee632868bd2", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000014", "after": "0x0000000000000000000000000000000000000000000000000000000000000015", "description": "Increments the Safe nonce from 20 to 21 after signing the nested transaction to CB Coordinator Safe.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Updates the owner count from 2 to 13. Removes Security Council Safe and CB Nested Safe (-2), adds 13 CB EOAs as direct signers (+13).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the Safe execution threshold from 1 to 3-of-13 after all owner modifications are complete.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the Safe nonce from 14 to 15 after executing the batch transaction.", "allowDifference": false }, { "key": "0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Owners linked list: Sets 0xee316db0edaee45347dfc498795a01311f085225 to point to SENTINEL, marking it as the tail of the list.", "allowDifference": false }, { "key": "0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce", "before": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Owners linked list: Clears the entry that previously pointed to CB Nested Safe (0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f), removing it as an owner.", "allowDifference": false }, { "key": "0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "description": "Owners linked list: Adds CB EOA 0x5f1955729e3d6129fb73813e891742d473fc74f7 pointing to next owner 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b.", "allowDifference": false }, { "key": "0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "description": "Owners linked list: Adds CB EOA 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 pointing to next owner 0x5f1955729e3d6129fb73813e891742d473fc74f7.", "allowDifference": false }, { "key": "0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "description": "Owners linked list: Adds CB EOA 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 pointing to next owner 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252.", "allowDifference": false }, { "key": "0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60", "description": "Owners linked list: Adds CB EOA 0x7f10098bd53519c739ca8a404afe127647d94774 pointing to next owner 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60.", "allowDifference": false }, { "key": "0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774", "description": "Owners linked list: Adds CB EOA 0x420c8fe1ddb0593c71487445576c87c17f177179 pointing to next owner 0x7f10098bd53519c739ca8a404afe127647d94774.", "allowDifference": false }, { "key": "0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Owners linked list: Clears the previous tail pointer (was pointing to SENTINEL). CB Nested Safe is no longer the last owner.", "allowDifference": false }, { "key": "0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179", "description": "Owners linked list: Adds CB EOA 0x931e24b032511d8dd029aedeb44837fac251f3d8 pointing to next owner 0x420c8fe1ddb0593c71487445576c87c17f177179.", "allowDifference": false }, { "key": "0xa7dd5b70d010b556cca61241e9486087b6178ec9d74f960e07f6f590f7b61ad4", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores an approval from the CB nested safe.", "allowDifference": false }, { "key": "0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8", "description": "Owners linked list: Adds CB EOA 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 pointing to next owner 0x931e24b032511d8dd029aedeb44837fac251f3d8.", "allowDifference": false }, { "key": "0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "description": "Owners linked list: Adds CB EOA 0x6e427c3212c0b63be0c382f97715d49b011bff33 pointing to next owner 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26.", "allowDifference": false }, { "key": "0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "description": "Owners linked list: Adds CB EOA 0xedecf2c444559210a865a22acfc6a2a25590ab1b pointing to next owner 0x6e427c3212c0b63be0c382f97715d49b011bff33.", "allowDifference": false }, { "key": "0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "description": "Owners linked list: Adds CB EOA 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 pointing to next owner 0xedecf2c444559210a865a22acfc6a2a25590ab1b.", "allowDifference": false }, { "key": "0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78", "description": "Owners linked list: Adds CB EOA 0xee316db0edaee45347dfc498795a01311f085225 pointing to next owner 0x4ffd98b5eea905ec25aa3daf180552f67873ed78.", "allowDifference": false }, { "key": "0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "description": "Owners linked list: Adds CB EOA 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d pointing to next owner 0xee316db0edaee45347dfc498795a01311f085225.", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8", "after": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "description": "Owners linked list: Updates SENTINEL to point to new head 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d. Previously pointed to Security Council Safe (0x6af0674791925f767060dd52f7fb20984e8639d8) which was removed.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/validations/base-signer-part-2.json ================================================ { "cmd": "SAFE_NONCE_0X646132A1667CA7AD00D36616AFBA1A28116C770A=15 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeSystemConfig --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", "messageHash": "0xbf57ccd428440c60a8d369edc1088c596cf017ec2ec5b2c547551c7bc15c3dbb" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xa2886985c679722d1e543ea882bfbe5b12722a61f38b122eeecb183130acc177", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001f", "after": "0x0000000000000000000000000000000000000000000000000000000000000020", "description": "Increments the Safe nonce from 31 to 32 after executing the SystemConfig upgrade transaction.", "allowDifference": false }, { "key": "0xd4fc56c81d751b8023bdae8bf48c1693362c5cb3f34acb08f0ff2c366582da51", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores an approval from the CB Coordinator Safe for the SystemConfig upgrade transaction hash.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000f", "after": "0x0000000000000000000000000000000000000000000000000000000000000010", "description": "Increments the Safe nonce from 15 to 16 after executing the SystemConfig upgrade via the Proxy Admin Owner.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the contract initialization version from 3 to 4 during the SystemConfig re-initialization with the new SuperchainConfig address.", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be", "after": "0x0000000000000000004c4b40e4401eb53ae90a5335a51fe1828d7becf7a63508", "description": "Updates the SuperchainConfig address in the packed storage slot from the OP Superchain's shared SuperchainConfig (0xc2be75506d5724086deb7245bd260cc9753911be) to Base's own SuperchainConfig proxy (0xe4401eb53ae90a5335a51fe1828d7becf7a63508). The gasLimit (5,000,000) in the upper bytes is unchanged.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "after": "0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84", "description": "Updates the ERC-1967 implementation slot to point to the new SystemConfig implementation.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/validations/base-signer-part-3.json ================================================ { "cmd": "SAFE_NONCE_0X5DFEB066334B67355A15DC9B67317FD2A2E1F77F=21 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x7a1d70954f4b843ce63aa8f6aff95084eee836fb9df9183caf104ddc64dedd36" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000015", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xa2e8dd0b3fdbca6b030ccd2621ca9f28c4edec8cfdae9f755b83251e1697bb92", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x00000000009d98e90000000000096c490000000000000000000000003b9aca00", "after": "0x00000000009d99bf00000000000186a00000000000000000000000003b9aca00", "description": "Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).", "allowDifference": true } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000015", "after": "0x0000000000000000000000000000000000000000000000000000000000000016", "description": "Increments the Safe nonce from 21 to 22 after executing the FeeDisburser upgrade deposit transaction via OptimismPortal.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/validations/security-council-signer-part-1.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateCBSafeSigners --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xd11c65e825a3804142d6862992aee34f71dcb9de01deeeefb5965e03fc1b5f9d" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0x115e4bfd4caa8c90517855dce75687429134b1ad0cb92e79b819efa7019890f1", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x000000000000000000000000000000000000000000000000000000000000000d", "description": "Updates the owner count from 2 to 13. Removes Security Council Safe and CB Nested Safe (-2), adds 13 CB EOAs as direct signers (+13).", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Updates the Safe execution threshold from 1 to 3-of-13 after all owner modifications are complete.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000e", "after": "0x000000000000000000000000000000000000000000000000000000000000000f", "description": "Increments the Safe nonce from 14 to 15 after executing the batch transaction.", "allowDifference": false }, { "key": "0x1b89e6111d27169de2f97ec92e344b249dff7dd6170ee65af7a1d9dda6cf7255", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Owners linked list: Sets 0xee316db0edaee45347dfc498795a01311f085225 to point to SENTINEL, marking it as the tail of the list.", "allowDifference": false }, { "key": "0x2146980ccf4a7741c01fd860f90d2fab597ba25316f4b73d17092ab48b2eb5ce", "before": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Owners linked list: Clears the entry that previously pointed to CB Nested Safe (0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f), removing it as an owner.", "allowDifference": false }, { "key": "0x4bf34efa2cf5d17da7425df2ee4f6191d734167ae5ba396b1eaa05b9d92099f6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "description": "Owners linked list: Adds CB EOA 0x5f1955729e3d6129fb73813e891742d473fc74f7 pointing to next owner 0xb2d9a52e76841279ef0372c534c539a4f68f8c0b.", "allowDifference": false }, { "key": "0x50acbb719f16147a2c8ee75d12507825fd23cf8249e700977d21095d26e2750b", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f7", "description": "Owners linked list: Adds CB EOA 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252 pointing to next owner 0x5f1955729e3d6129fb73813e891742d473fc74f7.", "allowDifference": false }, { "key": "0x563d4ddf297b5a92e03dce553dc56572bfee245f134f6db63397742b674f94dd", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "description": "Owners linked list: Adds CB EOA 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60 pointing to next owner 0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252.", "allowDifference": false }, { "key": "0x789d0a937d11245f00c7805a1652391bdbf3de0209dd993a5d6bc0ea4964bd5e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60", "description": "Owners linked list: Adds CB EOA 0x7f10098bd53519c739ca8a404afe127647d94774 pointing to next owner 0xe45ac81ea7f53dea5f0bd6caa0733dd5c02d3b60.", "allowDifference": false }, { "key": "0x7a83097f5b56a04accdbc8d4b0501bec3106db0d2c2ea1a63e7cbbf0fa91372d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774", "description": "Owners linked list: Adds CB EOA 0x420c8fe1ddb0593c71487445576c87c17f177179 pointing to next owner 0x7f10098bd53519c739ca8a404afe127647d94774.", "allowDifference": false }, { "key": "0x88b62050d77081a126f6451f75b4d85257f7c53d7523af5710b8441f46127cd5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores an approval on behalf of the security council.", "allowDifference": false }, { "key": "0x917c3b0ca176e18dc93b76b7fcfca717fb0dcb74c9b02c1a4ef75f3b382fd6c9", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Owners linked list: Clears the previous tail pointer (was pointing to SENTINEL). CB Nested Safe is no longer the last owner.", "allowDifference": false }, { "key": "0xa17f6b5d5c5960e10cb741113b64d7f023e3513339475444585747297bf07208", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179", "description": "Owners linked list: Adds CB EOA 0x931e24b032511d8dd029aedeb44837fac251f3d8 pointing to next owner 0x420c8fe1ddb0593c71487445576c87c17f177179.", "allowDifference": false }, { "key": "0xb06fd2848181e1497bbaa80b8d007c335c7806a2e47211a7bba7a9af63e0ca64", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d8", "description": "Owners linked list: Adds CB EOA 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26 pointing to next owner 0x931e24b032511d8dd029aedeb44837fac251f3d8.", "allowDifference": false }, { "key": "0xb7148df08fba2104e13e2db097b95b457295019a50d577cc90c6010aba3100d1", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26", "description": "Owners linked list: Adds CB EOA 0x6e427c3212c0b63be0c382f97715d49b011bff33 pointing to next owner 0x0cf2f86c3338993ce10f74d6f4b095712c7efe26.", "allowDifference": false }, { "key": "0xc5e3baa34a074e15c9dc99b0b81b573ebbdd07b026df6162630478f6d12892f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33", "description": "Owners linked list: Adds CB EOA 0xedecf2c444559210a865a22acfc6a2a25590ab1b pointing to next owner 0x6e427c3212c0b63be0c382f97715d49b011bff33.", "allowDifference": false }, { "key": "0xc737cf9e0b995a0b7c95319fd1b2a1daedbcafc9b244731b97e04bbf2a8067f3", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b", "description": "Owners linked list: Adds CB EOA 0x4ffd98b5eea905ec25aa3daf180552f67873ed78 pointing to next owner 0xedecf2c444559210a865a22acfc6a2a25590ab1b.", "allowDifference": false }, { "key": "0xdbe1c9b8b04b880813d25a9c5e89056031fb59c22374b4ee4da23606ff9ee5f5", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed78", "description": "Owners linked list: Adds CB EOA 0xee316db0edaee45347dfc498795a01311f085225 pointing to next owner 0x4ffd98b5eea905ec25aa3daf180552f67873ed78.", "allowDifference": false }, { "key": "0xdd723b4c2a66aea3d2ac26f837bd1e7dea4ce6cca7e4fa76af2185076784453f", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "description": "Owners linked list: Adds CB EOA 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d pointing to next owner 0xee316db0edaee45347dfc498795a01311f085225.", "allowDifference": false }, { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8", "after": "0x000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d", "description": "Owners linked list: Updates SENTINEL to point to new head 0x644d0f5c2c55a4679b4bfe057b87ba203af9ac0d. Previously pointed to Security Council Safe (0x6af0674791925f767060dd52f7fb20984e8639d8) which was removed.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001a", "after": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Increments the Safe nonce from 26 to 27 after executing the batch transaction to update CB Coordinator Safe signers.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-02-19-superchain-separation/validations/security-council-signer-part-2.json ================================================ { "cmd": "SAFE_NONCE_0X6AF0674791925F767060DD52F7FB20984E8639D8=27 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeSystemConfig --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x7f10098bd53519c739ca8a404afe127647d94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x2b63bc685e33e1dcabae1816d54b9a2df7576fc940ca8ef936bf4d509987bac2" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x000000000000000000000000000000000000000000000000000000000000001b", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0x28c69686a380aa7edd6e31990118ed1f61cfeadf883b0b49da4bc412a020be66", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001f", "after": "0x0000000000000000000000000000000000000000000000000000000000000020", "description": "Increments the Safe nonce from 31 to 32 after executing the SystemConfig upgrade transaction.", "allowDifference": false }, { "key": "0x6a9a7471a4f33ffcbc9870cff486eeb8b369ae31fca40796b66c635a84b26e08", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Stores an approval from the Mock Security Council Safe for the SystemConfig upgrade transaction hash.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001b", "after": "0x000000000000000000000000000000000000000000000000000000000000001c", "description": "Increments the Safe nonce from 27 to 28 after executing the SystemConfig upgrade via the Proxy Admin Owner.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the contract initialization version from 3 to 4 during the SystemConfig re-initialization with the new SuperchainConfig address.", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006c", "before": "0x0000000000000000004c4b40c2be75506d5724086deb7245bd260cc9753911be", "after": "0x0000000000000000004c4b40e4401eb53ae90a5335a51fe1828d7becf7a63508", "description": "Updates the SuperchainConfig address in the packed storage slot from the OP Superchain's shared SuperchainConfig (0xc2be75506d5724086deb7245bd260cc9753911be) to Base's own SuperchainConfig proxy (0xe4401eb53ae90a5335a51fe1828d7becf7a63508). The gasLimit (5,000,000) in the upper bytes is unchanged.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000d392c27b84b1ca776528f2704bc67b82a62132d2", "after": "0x000000000000000000000000ee364de73e1827f5e31a18c70a40f1f78c075b84", "description": "Updates the ERC-1967 implementation slot to point to the new SystemConfig implementation.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-02-27-pause-superchain-config/FACILITATOR.md ================================================ #### Execute the transaction ## 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Check current pause status ```bash make check-status ``` ### 3. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ================================================ FILE: sepolia/2026-02-27-pause-superchain-config/Makefile ================================================ include ../../Makefile include ../.env include .env # Get first owner from INCIDENT_MULTISIG SENDER := $(shell cast call $(INCIDENT_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) SCRIPT_NAME=PauseSuperchainConfig .PHONY: sign-pause sign-pause: @rm -f signatures-pause.txt @start_nonce=$$(cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) | xargs printf "%d"); \ echo "Starting nonce: $$start_nonce"; \ for i in $$(seq 0 19); do \ nonce=$$(($$start_nonce + $$i)); \ echo "Signing with nonce $$nonce"; \ SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) | tee sign_output.tmp; \ signer=$$(grep "^Signer:" sign_output.tmp | awk '{print $$2}'); \ sig=$$(grep "^Signature:" sign_output.tmp | awk '{print $$2}'); \ printf "%s," "$$signer:$$nonce:$$sig" >> signatures-pause.txt; \ rm -f sign_output.tmp; \ done; \ echo "" >> signatures-pause.txt # Execute .PHONY: execute-pause execute-pause: forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "run(bytes)" $(SIGNATURES) --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv .PHONY: check-status check-status: @superchain_config=$$(cast call $(SYSTEM_CONFIG) "superchainConfig()" --rpc-url $(L1_RPC_URL)); \ superchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \ echo "SuperchainConfig address: 0x$$superchain_config"; \ cast call 0x$$superchain_config "paused()" --rpc-url $(L1_RPC_URL) .PHONY: check-nonce check-nonce: @echo "Incident Safe: $(INCIDENT_MULTISIG)" @cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) ================================================ FILE: sepolia/2026-02-27-pause-superchain-config/README.md ================================================ # Pause SuperchainConfig Status: SIGNED ## Description Pauses deposits/withdrawals Base. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ## Sign Pause Task ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Sign pause transactions ```bash make sign-pause ``` This will output your signature batch to a `signatures-pause.txt` file. ### 3. Send the contents of `signatures-pause.txt` to facilitator ================================================ FILE: sepolia/2026-02-27-pause-superchain-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-02-27-pause-superchain-config/script/PauseSuperchainConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function superchainConfig() external view returns (address); } interface ISuperchainConfig { function pause(address _identifier) external; function paused(address) external view returns (bool); } contract PauseSuperchainConfig is MultisigScript { address public immutable INCIDENT_MULTISIG = vm.envAddress("INCIDENT_MULTISIG"); address public immutable SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); calls[0] = Call({ operation: Enum.Operation.Call, target: superchainConfig, data: abi.encodeCall(ISuperchainConfig.pause, (address(0))), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); bool paused = ISuperchainConfig(superchainConfig).paused(address(0)); require(paused == true, "PauseSuperchainConfig: chain is not paused"); } function _ownerSafe() internal view override returns (address) { return INCIDENT_MULTISIG; } } ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators after collecting signatures from signers. ## Generate validation file ```bash cd contract-deployments git pull cd sepolia/2026-03-06-transfer-system-config-ownership make deps make gen-validation ``` This produces `validations/coinbase-signer.json`, which signers should use in the signing UI. ## Execute the transaction ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia/2026-03-06-transfer-system-config-ownership make deps ``` ### 2. Collect signatures from all participating signers Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` ### 3. Execute ```bash SIGNATURES=$SIGNATURES make execute ``` ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = TransferSystemConfigOwnership SENDER := $(shell cast call $(OWNER_SAFE) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(NEW_OWNER)" || (echo "NEW_OWNER required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: deps-signer-tool run-script .PHONY: run-script run-script: mkdir -p validations; \ $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),coinbase-signer.json) .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/README.md ================================================ # Transfer SystemConfig Ownership Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c) ## Description This task transfers ownership of the Sepolia `SystemConfig` (`0xf272670eb55e895584501d564AfEB048bEd26194`) from `0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f` to `0x646132A1667ca7aD00d36616AFBA1A28116C770A`. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If not, install it: ```bash brew install node ``` ### 3. Update repo and install deps ```bash cd contract-deployments git pull cd sepolia/2026-03-06-transfer-system-config-ownership make deps ``` ## Sign the transaction ### 1. Run the signing tool from the project root ```bash cd contract-deployments make sign-task ``` ### 2. Open the UI at [http://localhost:3000](http://localhost:3000) Select the correct task user from the list of available users and sign the transaction. ### 3. Send the signature to the facilitator Facilitator execution steps are documented in `FACILITATOR.md`. ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/records/TransferSystemConfigOwnership.s.sol/11155111/run-1773937909385.json ================================================ { "transactions": [ { "hash": "0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xf272670eb55e895584501d564AfEB048bEd26194", "0", "0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x710e15a647e0f45de18c178e1ac80c0219f5b8b7facdd5ac38cab54f540df11554c43753311d9fc74ebee65c6af0bfe699ad1be5ae802f7ce45e7899d18a4a691c4ad3152eddc1ee6de8aa2734a99cac912f4711b358384ca7f03b028b9e39fefb11234c1bb6a56eb4b89b67bf9ce2271ab7c9f943099ce5bcbe2999bfada1ba631b1c98f60810965c870363a840fe62e29e3799687ca7ec41242f9135eae9b24bfc25ae0bde5c9c5962b0e9c730fc4fd62f75dfceeb027901b47b727baa009280331b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x1c248", "value": "0x0", "input": "0x6a761202000000000000000000000000f272670eb55e895584501d564afeb048bed261940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024f2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3710e15a647e0f45de18c178e1ac80c0219f5b8b7facdd5ac38cab54f540df11554c43753311d9fc74ebee65c6af0bfe699ad1be5ae802f7ce45e7899d18a4a691c4ad3152eddc1ee6de8aa2734a99cac912f4711b358384ca7f03b028b9e39fefb11234c1bb6a56eb4b89b67bf9ce2271ab7c9f943099ce5bcbe2999bfada1ba631b1c98f60810965c870363a840fe62e29e3799687ca7ec41242f9135eae9b24bfc25ae0bde5c9c5962b0e9c730fc4fd62f75dfceeb027901b47b727baa009280331b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x10", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x74cbfb", "logs": [ { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa", "blockNumber": "0x9fe198", "blockTimestamp": "0x69bc24f4", "transactionHash": "0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c", "transactionIndex": "0x4b", "logIndex": "0x93", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xaf204ba4bc57a59c1ce729b56fbe11c5376c0e9ccfd4d8ca4a1c23032be73883" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa", "blockNumber": "0x9fe198", "blockTimestamp": "0x69bc24f4", "transactionHash": "0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c", "transactionIndex": "0x4b", "logIndex": "0x94", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000800000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000800000000000000000000000100000000000000000000010000000000000000000000000000400000000000000000000000002200000000000000000000000000000000000000000000000000000000000020000404000000000000000000000000800000000020000000000000000000000000000000000000000100001000000400000000000000000000000000000040000000000200000000000000000000000000000000", "type": "0x2", "transactionHash": "0xbecc51d4a88eda31d43327e6dea56d74f442c6090358b697fdbad0bef02fa43c", "transactionIndex": "0x4b", "blockHash": "0x9094fb5c04dbf5cf9bd8b73feae2ebf3eae5984a587e4e19fe1b4e5a801a82fa", "blockNumber": "0x9fe198", "gasUsed": "0x133e3", "effectiveGasPrice": "0xf424c", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773937909385, "chain": 11155111, "commit": "ee20e3b" } ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/script/TransferSystemConfigOwnership.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; contract TransferSystemConfigOwnership is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable NEW_OWNER; address internal immutable SYSTEM_CONFIG; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); NEW_OWNER = vm.envAddress("NEW_OWNER"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG); vm.assertEq(systemConfig.owner(), NEW_OWNER, "SystemConfig owner did not get updated"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); calls[0] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-03-06-transfer-system-config-ownership/validations/coinbase-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net TransferSystemConfigOwnership --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x797a55b2e49235d00694290efbe11b86cc3ff59476cbb0ae039c9cbe007230fc" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xa811731e672e1a36fd781504a937a995003d654f1809ec10a2c258b227aa81ab", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000017", "after": "0x0000000000000000000000000000000000000000000000000000000000000018", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000033", "before": "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f", "after": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "description": "<>", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Update repo: ```bash cd contract-deployments git pull cd sepolia/2026-03-11-patch-fee-disburser make deps ``` ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) # Sender address for validation generation (parent of OWNER_SAFE) SENDER := $(shell cast call $(OWNER_SAFE) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches apply-patches: cd lib/contracts && patch -p1 < ../../patch/ifee-vault-withdraw.patch cd lib/contracts && patch -p1 < ../../patch/fee-disburser-semver.patch .PHONY: deps deps: install-eip712sign clean-lib forge-deps clone-oz-upgradeable checkout-base-contracts-commit apply-patches ## # Deployment ## .PHONY: deploy-fee-disburser deploy-fee-disburser: forge script script/DeployFeeDisburser.s.sol:DeployFeeDisburser \ --rpc-url $(L2_RPC_URL) \ --broadcast \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ -vvvv ## # Upgrade FeeDisburser (via L1 deposit transaction) ## .PHONY: gen-validation-upgrade gen-validation-upgrade: deps-signer-tool $(call GEN_VALIDATION,UpgradeFeeDisburser,,$(SENDER),base-signer.json,) .PHONY: execute-upgrade-feedisburser execute-upgrade-feedisburser: SCRIPT_NAME = UpgradeFeeDisburser execute-upgrade-feedisburser: $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/README.md ================================================ # FeeDisburser Patch Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78) ## Description Our latest deployment of the `FeeDisburser` contract is using an interface that is incompatible with our current FeeVault deployments on Base. This patch upgrade fixes the interface. ## Procedure ### Install dependencies #### 1. Update foundry ```bash foundryup ``` #### 2. Install Node.js if needed First, check if you have node installed: ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node: ```bash brew install node ``` ### Approve the transaction #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run the signing tool ```bash make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. The facilitator will collect all signatures and execute the transaction. ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/patch/fee-disburser-semver.patch ================================================ diff --git a/src/revenue-share/FeeDisburser.sol b/src/revenue-share/FeeDisburser.sol --- a/src/revenue-share/FeeDisburser.sol +++ b/src/revenue-share/FeeDisburser.sol @@ -131,9 +131,9 @@ contract FeeDisburser is ISemver { emit FeesReceived(msg.sender, msg.value); } - /// @custom:semver 1.0.0 + /// @custom:semver 1.0.0+fee-vault-withdraw-compat function version() external pure virtual returns (string memory) { - return "1.0.0"; + return "1.0.0+fee-vault-withdraw-compat"; } //////////////////////////////////////////////////////////////// ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/patch/ifee-vault-withdraw.patch ================================================ diff --git a/interfaces/L2/IFeeVault.sol b/interfaces/L2/IFeeVault.sol --- a/interfaces/L2/IFeeVault.sol +++ b/interfaces/L2/IFeeVault.sol @@ -32,7 +32,7 @@ interface IFeeVault { function minWithdrawalAmount() external view returns (uint256); function recipient() external view returns (address); function totalProcessed() external view returns (uint256); - function withdraw() external returns (uint256 value_); + function withdraw() external; function withdrawalNetwork() external view returns (Types.WithdrawalNetwork); function setMinWithdrawalAmount(uint256 _newMinWithdrawalAmount) external; function setRecipient(address _newRecipient) external; ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/records/DeployFeeDisburser.s.sol/84532/run-1773252087364.json ================================================ { "transactions": [ { "hash": "0xb37e3f0ced3ae715b98aed945dce2dfe7b6a465bb781ccd6c1ae4626ef686cfa", "transactionType": "CREATE", "contractName": "FeeDisburser", "contractAddress": "0x3a9f58cc41f29f9e16a8497d2f158b7e8c67e78b", "function": null, "arguments": [ "0x8D1b5e5614300F5c7ADA01fFA4ccF8F1752D9A57", "604800" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x9f3bb", "value": "0x0", "input": "0x60c060405234801561000f575f80fd5b5060405161090e38038061090e83398101604081905261002e9161008f565b6001600160a01b0382166100555760405163d92e233d60e01b815260040160405180910390fd5b62015180811015610079576040516352063f8560e11b815260040160405180910390fd5b6001600160a01b0390911660805260a0526100c6565b5f80604083850312156100a0575f80fd5b82516001600160a01b03811681146100b6575f80fd5b6020939093015192949293505050565b60805160a05161081a6100f45f395f8181610156015261020501525f818160c2015261034e015261081a5ff3fe608060405260043610610071575f3560e01c806354664de51161004c57806354664de51461014557806354fd4d5014610178578063ad41d09c146101c3578063b87ea8d4146101ed575f80fd5b806336f1a6e5146100b1578063394d27311461010e578063447eb5ac14610130575f80fd5b366100ad5760405134815233907f2ccfc58c2cef4ee590b5f16be0548cc54afc12e1c66a67b362b7d640fd16bb2d9060200160405180910390a2005b5f80fd5b3480156100bc575f80fd5b506100e47f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b348015610119575f80fd5b506101225f5481565b604051908152602001610105565b34801561013b575f80fd5b5061012260015481565b348015610150575f80fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b348015610183575f80fd5b50604080518082018252601f81527f312e302e302b6665652d7661756c742d77697468647261772d636f6d706174006020820152905161010591906106b5565b3480156101ce575f80fd5b506101d86188b881565b60405163ffffffff9091168152602001610105565b3480156101f8575f80fd5b50610201610203565b005b7f00000000000000000000000000000000000000000000000000000000000000005f5461023091906106ce565b421015610269576040517fc7a06d5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102867342000000000000000000000000000000000000116103f8565b6102a37342000000000000000000000000000000000000196103f8565b6102c073420000000000000000000000000000000000001a6103f8565b475f8190036102f4576040517f8c887b1215d5e6b119c1c1008fe1d0919b4c438301d5a0357362a13fb56f6a40905f90a150565b425f90815560408051602081018252918252517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd91479161037a917f0000000000000000000000000000000000000000000000000000000000000000916188b89160040161070c565b5f604051808303818588803b158015610391575f80fd5b505af11580156103a3573d5f803e3d5ffd5b50505050507fe155e054cfe69655d6d2f8bbfb856aa8cdf49ecbea6557901533364539caad945f545f836040516103ed939291909283526020830191909152604082015260600190565b60405180910390a150565b60018173ffffffffffffffffffffffffffffffffffffffff1663d0e12f906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610443573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610467919061077c565b60018111156104785761047861074f565b146104af576040517f72e01a1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630d9019e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610533919061079a565b73ffffffffffffffffffffffffffffffffffffffff1614610580576040517fc9bb076d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663d3e5792b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ed91906107cd565b8173ffffffffffffffffffffffffffffffffffffffff163110610666578073ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561064f575f80fd5b505af1158015610661573d5f803e3d5ffd5b505050505b50565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6106c76020830184610669565b9392505050565b80820180821115610706577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201525f6107466060830184610669565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f6020828403121561078c575f80fd5b8151600281106106c7575f80fd5b5f602082840312156107aa575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146106c7575f80fd5b5f602082840312156107dd575f80fd5b505191905056fea2646970667358221220ede52522202c163574ba53ebb17a001cdd3afcf470d3dfa0e7dd0e56a46e753e64736f6c634300081900330000000000000000000000008d1b5e5614300f5c7ada01ffa4ccf8f1752d9a570000000000000000000000000000000000000000000000000000000000093a80", "nonce": "0x600", "chainId": "0x14a34" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x60cbe4", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb37e3f0ced3ae715b98aed945dce2dfe7b6a465bb781ccd6c1ae4626ef686cfa", "transactionIndex": "0x30", "blockHash": "0xf3171e042b0a5da0e3a902081d4f13e8b38917a98cec851bc23b0a61559f0cae", "blockNumber": "0x24f278b", "gasUsed": "0x7a7cb", "effectiveGasPrice": "0x5b8d80", "blobGasUsed": "0x2980d", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x3a9f58cc41f29f9e16a8497d2f158b7e8c67e78b", "daFootprintGasScalar": "0x8b", "l1BaseFeeScalar": "0x44d", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xa118b", "l1Fee": "0x3ff", "l1GasPrice": "0xa", "l1GasUsed": "0x4c7e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773252087364, "chain": 84532, "commit": "f0e56d7" } ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/records/UpgradeFeeDisburser.s.sol/11155111/run-1773335017410.json ================================================ { "transactions": [ { "hash": "0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x49f53e41452C74589E85cA1677426Ba426459e85", "0", "0xe9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b00000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x76d4c28fb3f555343f319162ea35a755fff7327ed330bb9781b669e057a3c68244b898fbbc6415eaa731f4374d74cd2d8279d47121b0d21dcbf87d68a7b44d981cb8896c270a0fdf43e610d2d5cf88bfe3851ec6655bef2bf49212cae9ce33f632568f2aaa877840c451f879d0ec76520ad045e1d2ead89b4a73c75ac1957eb8a61c72cb499cb3174d1f5dda83a597cdc628cd5314f75edb1698a2e03a91ca6093e86223356a05f86385ba04a1d22c39812493219753c55c1d0be5e18b0b80e74e151b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x3e570", "value": "0x0", "input": "0x6a76120200000000000000000000000049f53e41452c74589e85ca1677426ba426459e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000104e9e05c4200000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000243659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c376d4c28fb3f555343f319162ea35a755fff7327ed330bb9781b669e057a3c68244b898fbbc6415eaa731f4374d74cd2d8279d47121b0d21dcbf87d68a7b44d981cb8896c270a0fdf43e610d2d5cf88bfe3851ec6655bef2bf49212cae9ce33f632568f2aaa877840c451f879d0ec76520ad045e1d2ead89b4a73c75ac1957eb8a61c72cb499cb3174d1f5dda83a597cdc628cd5314f75edb1698a2e03a91ca6093e86223356a05f86385ba04a1d22c39812493219753c55c1d0be5e18b0b80e74e151b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x50", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1296faa", "logs": [ { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32", "0x0000000000000000000000006f0fb066334b67355a15dc9b67317fd2a2e20890", "0x00000000000000000000000076355a67fcbcde6f9a69409a8ead5eaa9d8d875d", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000186a0003659cfe60000000000000000000000003a9f58cc41f29f9e16a8497d2f158b7e8c67e78b00000000000000000000000000000000000000", "blockHash": "0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5", "blockNumber": "0x9f35fb", "blockTimestamp": "0x69b2f1e8", "transactionHash": "0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78", "transactionIndex": "0x8c", "logIndex": "0x13c", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xf60f070f46c23647b5ed37eb283421073536c435945beeae4885adf359ab8252" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5", "blockNumber": "0x9f35fb", "blockTimestamp": "0x69b2f1e8", "transactionHash": "0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78", "transactionIndex": "0x8c", "logIndex": "0x13d", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000002000000002000000000000000000000020000000000000000000000000001000000000000000002000000000000000000000000000800000000000000040000020000000000400000000800000000000020000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010404080000000000000000000000000000000000000000000020000000000000000000000000000080000000000000000020000000000000000000000040002000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0x5e5d2180515dd7788829d18d611798b121a69290a8310f9d59c093e39fca0f78", "transactionIndex": "0x8c", "blockHash": "0x9a8b5fdfd5c4451d7c44e1bc46a8dd506b81176bd2d3984edb6fb621c5ee4cb5", "blockNumber": "0x9f35fb", "gasUsed": "0x2aa03", "effectiveGasPrice": "0xf424b", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773335017410, "chain": 11155111, "commit": "9a7ac3c" } ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/script/DeployFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.25; import {Script} from "forge-std/Script.sol"; import {console} from "forge-std/console.sol"; import {FeeDisburser} from "@base-contracts/src/revenue-share/FeeDisburser.sol"; /// @title DeployFeeDisburser /// @notice Deploys the FeeDisburser implementation contract which collects fees from L2 FeeVaults /// and bridges them to L1. /// @dev Required environment variables: /// - BALANCE_TRACKER: The L1 address that will receive bridged fees /// - FEE_DISBURSEMENT_INTERVAL: Minimum time in seconds between disbursements (must be >= 24 hours) /// - FEE_DISBURSER_ADDR: The existing FeeDisburser proxy contract on L2 contract DeployFeeDisburser is Script { address public immutable L1_WALLET = vm.envAddress("BALANCE_TRACKER"); uint256 public immutable FEE_DISBURSEMENT_INTERVAL = vm.envUint("FEE_DISBURSEMENT_INTERVAL"); address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice EIP-1967 implementation storage slot. bytes32 internal constant IMPL_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function run() external { vm.startBroadcast(); FeeDisburser feeDisburser = new FeeDisburser(L1_WALLET, FEE_DISBURSEMENT_INTERVAL); console.log("FeeDisburser deployed at:", address(feeDisburser)); console.log(" L1_WALLET:", L1_WALLET); console.log(" FEE_DISBURSEMENT_INTERVAL:", FEE_DISBURSEMENT_INTERVAL); vm.stopBroadcast(); require(feeDisburser.L1_WALLET() == L1_WALLET, "DeployFeeDisburser: L1_WALLET mismatch"); require( feeDisburser.FEE_DISBURSEMENT_INTERVAL() == FEE_DISBURSEMENT_INTERVAL, "DeployFeeDisburser: FEE_DISBURSEMENT_INTERVAL mismatch" ); _postCheck(address(feeDisburser)); } /// @notice Simulates disburseFees() on the proxy with the newly deployed implementation /// to verify ABI compatibility with the deployed FeeVaults. function _postCheck(address newImpl) internal { vm.store(FEE_DISBURSER_PROXY, IMPL_SLOT, bytes32(uint256(uint160(newImpl)))); FeeDisburser(payable(FEE_DISBURSER_PROXY)).disburseFees(); console.log("Postcheck: disburseFees() simulation succeeded with new implementation"); } } ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/script/UpgradeFeeDisburser.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IProxy { function upgradeTo(address newImplementation) external; } /// @title UpgradeFeeDisburser /// @notice Script to upgrade the FeeDisburser proxy on L2 via a deposit transaction from L1. /// The FeeDisburser proxy admin is the L1 alias of OWNER_SAFE, so this upgrade /// must be executed as a deposit transaction through OptimismPortal2. contract UpgradeFeeDisburser is MultisigScript { /// @notice The L1 Safe that owns the FeeDisburser proxy (aliased address is the admin). address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); /// @notice The OptimismPortal2 contract on L1 used for deposit transactions. address public immutable OPTIMISM_PORTAL = vm.envAddress("OPTIMISM_PORTAL_ADDR"); /// @notice The FeeDisburser proxy contract on L2. address public immutable FEE_DISBURSER_PROXY = vm.envAddress("FEE_DISBURSER_ADDR"); /// @notice The new FeeDisburser implementation contract on L2. address public immutable FEE_DISBURSER_IMPL = vm.envAddress("FEE_DISBURSER_IMPL_ADDR"); /// @notice Post-check is a no-op since we cannot verify L2 state from L1 simulation. /// The upgrade result should be verified on L2 after the deposit transaction is processed. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override {} /// @notice Builds the call to OptimismPortal2.depositTransaction that will upgrade /// the FeeDisburser proxy on L2. function _buildCalls() internal view override returns (MultisigScript.Call[] memory) { MultisigScript.Call[] memory calls = new MultisigScript.Call[](1); bytes memory upgradeCalldata = abi.encodeCall(IProxy.upgradeTo, (FEE_DISBURSER_IMPL)); calls[0] = MultisigScript.Call({ operation: Enum.Operation.Call, target: OPTIMISM_PORTAL, data: abi.encodeCall( IOptimismPortal2.depositTransaction, (FEE_DISBURSER_PROXY, 0, 100_000, false, upgradeCalldata) ), value: 0 }); return calls; } /// @notice Returns the Safe address that will execute this transaction on L1. function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-03-11-patch-fee-disburser/validations/base-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpgradeFeeDisburser --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x3eb637030158b06280c2cb4bf854eabe731e56cb553bd15ee59c7f2b0f2673e0" }, "stateOverrides": [ { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xdfa39de47b1dced05a3fd0def27e1d9a3d11eb82881c5d59f4fe4ab5e05412a0", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000001", "before": "0x00000000009f1ee5000000000007e1760000000000000000000000003b9aca00", "after": "0x00000000009f1ef300000000000186a00000000000000000000000003b9aca00", "description": "Updates the ResourceMetering parameters (prevBlockNum, prevBoughtGas, prevBaseFee).", "allowDifference": true } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000016", "after": "0x0000000000000000000000000000000000000000000000000000000000000017", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "jack.chuma@coinbase.com" } } } ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(INCIDENT_MULTISIG) export OWNER_SAFE ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(FROM_GAS_LIMIT)" -a "$(FROM_GAS_LIMIT)" != "TODO" || (echo "FROM_GAS_LIMIT required" && exit 1) @test -n "$(TO_GAS_LIMIT)" -a "$(TO_GAS_LIMIT)" != "TODO" || (echo "TO_GAS_LIMIT required" && exit 1) @test -n "$(FROM_ELASTICITY)" -a "$(FROM_ELASTICITY)" != "TODO" || (echo "FROM_ELASTICITY required" && exit 1) @test -n "$(TO_ELASTICITY)" -a "$(TO_ELASTICITY)" != "TODO" || (echo "TO_ELASTICITY required" && exit 1) @test -n "$(FROM_DENOMINATOR)" -a "$(FROM_DENOMINATOR)" != "TODO" || (echo "FROM_DENOMINATOR required" && exit 1) @test -n "$(TO_DENOMINATOR)" -a "$(TO_DENOMINATOR)" != "TODO" || (echo "TO_DENOMINATOR required" && exit 1) @test -n "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" -a "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "FROM_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @test -n "$(TO_DA_FOOTPRINT_GAS_SCALAR)" -a "$(TO_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "TO_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @echo "Configuration validated successfully" # Calculate the DA footprint gas scalar based on the formula: # da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) # Uses TO_GAS_LIMIT and TO_ELASTICITY from .env .PHONY: da-scalar da-scalar: ifndef TARGET_BLOB_COUNT $(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=) endif ifeq ($(TO_GAS_LIMIT),TODO) $(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.) endif ifeq ($(TO_ELASTICITY),TODO) $(error TO_ELASTICITY is not set. Please set it in .env before running this command.) endif @echo "$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =" @echo "TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DENOMINATOR=$(TO_DENOMINATOR) OLD_DENOMINATOR=$(FROM_DENOMINATOR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR)) .PHONY: execute execute: validate-config NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \ OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \ NEW_ELASTICITY=$(TO_ELASTICITY) \ OLD_ELASTICITY=$(FROM_ELASTICITY) \ NEW_DENOMINATOR=$(TO_DENOMINATOR) \ OLD_DENOMINATOR=$(FROM_DENOMINATOR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) # Generate rollback validation file with swapped old/new values and nonce offset. # SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback # transaction targets the correct future nonce. .PHONY: gen-validation-rollback gen-validation-rollback: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OWNER_SAFE=$(OWNER_SAFE) SYSTEM_CONFIG=$(SYSTEM_CONFIG) OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DENOMINATOR=$(TO_DENOMINATOR) NEW_DENOMINATOR=$(FROM_DENOMINATOR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET))) .PHONY: execute-rollback execute-rollback: validate-config OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \ NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \ OLD_ELASTICITY=$(TO_ELASTICITY) \ NEW_ELASTICITY=$(FROM_ELASTICITY) \ OLD_DENOMINATOR=$(TO_DENOMINATOR) \ NEW_DENOMINATOR=$(FROM_DENOMINATOR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/README.md ================================================ # Update Gas Limit, EIP-1559 Params & DA Footprint Gas Scalar in L1 `SystemConfig` Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777) ([artifact](./records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/11155111/run-1774464540781.json)) ## Description We are updating the gas limit, EIP-1559 elasticity, EIP-1559 denominator, and DA footprint gas scalar to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to 400,000,000, elasticity to 5, denominator to 100, and DA footprint gas scalar to 148 if invoked as part of the "upgrade" process, or revert to the old limit of 375,000,000 gas, elasticity of 6, denominator of 125, and DA footprint gas scalar of 139 if invoked as part of the "rollback" process. ### DA Footprint Gas Scalar Formula We typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula: ``` da_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio) ``` Where: - `gas_limit` = L2 gas limit per block - `elasticity` = EIP-1559 elasticity multiplier - `l2_block_time` = 2 seconds - `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block` - `target_blob_count` = target number of blobs per L1 block - `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage This simplifies to: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) ``` Example with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6: ``` da_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312 ``` The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/records/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol/11155111/run-1774464540781.json ================================================ { "transactions": [ { "hash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d7840000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc0000000000000000000000000000000000000000000000000000000000000094000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xda9a6a4be717a57b827c33043c4ce3768442cf659bb0e4a29068ab3eec7c13512d15f374e57b0cbcab32f85c8e6386ca51a2630dde178d182f0fa3dcf8044b421c8270c2a972333e774b6c1f22ce0135d25ae73c0639fcd47cbcca2e9463fcc49b038a960541efb1752e8d2bb67f33509bc09729fd89af0268baee8c98d7ec65be1b266c0334c550b4a4f7f3affb1e3f0268d0cd9fda9697bc76bb1c9ba50b07470a00fa6918d72036adfac0be5aab280252ac679a81656e7fd6862c70e6b5babbb11b" ], "transaction": { "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x2a834", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c00000000000000000000000000000000000000000000000000000000000000544858cc83200000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000030482ad56cb00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044c0fd4b410000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024b40a817c0000000000000000000000000000000000000000000000000000000017d7840000000000000000000000000000000000000000000000000000000000000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002420f06fdc00000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3da9a6a4be717a57b827c33043c4ce3768442cf659bb0e4a29068ab3eec7c13512d15f374e57b0cbcab32f85c8e6386ca51a2630dde178d182f0fa3dcf8044b421c8270c2a972333e774b6c1f22ce0135d25ae73c0639fcd47cbcca2e9463fcc49b038a960541efb1752e8d2bb67f33509bc09729fd89af0268baee8c98d7ec65be1b266c0334c550b4a4f7f3affb1e3f0268d0cd9fda9697bc76bb1c9ba50b07470a00fa6918d72036adfac0be5aab280252ac679a81656e7fd6862c70e6b5babbb11b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x2d1", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1e1d740", "logs": [ { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000006400000005", "blockHash": "0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82", "blockNumber": "0xa087df", "blockTimestamp": "0x69c42e1c", "transactionHash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionIndex": "0xa3", "logIndex": "0x3c3", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000017d78400", "blockHash": "0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82", "blockNumber": "0xa087df", "blockTimestamp": "0x69c42e1c", "transactionHash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionIndex": "0xa3", "logIndex": "0x3c4", "removed": false }, { "address": "0xf272670eb55e895584501d564afeb048bed26194", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000094", "blockHash": "0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82", "blockNumber": "0xa087df", "blockTimestamp": "0x69c42e1c", "transactionHash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionIndex": "0xa3", "logIndex": "0x3c5", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbb793e790a5dcd1128ef8a6337314041996959899e8912ed827d105c0bdeb6c00000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82", "blockNumber": "0xa087df", "blockTimestamp": "0x69c42e1c", "transactionHash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionIndex": "0xa3", "logIndex": "0x3c6", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000008000000020100000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000100000004000000000000010000002000800000000000000000000000000000000000000000000000008000000004000520000020000000000000000000000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0xce9c2e584c9eb8b09dfe70feb5c2b295907b9c65275c3170c78e9e2d7842e777", "transactionIndex": "0xa3", "blockHash": "0x532fe0c088a8bd70696c0688c7eb2b9b3fed5f0ab8eda2141df55e8a643f3a82", "blockNumber": "0xa087df", "gasUsed": "0x1d119", "effectiveGasPrice": "0xf42fd", "from": "0x6e427c3212c0b63be0c382f97715d49b011bff33", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1774464540781, "chain": 11155111, "commit": "361864f" } ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable DENOMINATOR; uint32 internal immutable NEW_DENOMINATOR; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("OLD_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("OLD_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); DENOMINATOR = uint32(vm.envUint("OLD_DENOMINATOR")); NEW_DENOMINATOR = uint32(vm.envUint("NEW_DENOMINATOR")); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("OLD_DA_FOOTPRINT_GAS_SCALAR")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if ( GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit() || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity() || DENOMINATOR != ISystemConfig(SYSTEM_CONFIG).eip1559Denominator() || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar() ) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). // Prepare two storage overrides for SystemConfig Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT bytes32 gasConfigSlotKey = bytes32(uint256(0x68)); uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey)); uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT); storageOverrides[0] = Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)}); // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a) // Storage layout (low to high bits): // - eip1559Denominator (uint32): bits 0-31 // - eip1559Elasticity (uint32): bits 32-63 // - operatorFeeScalar (uint32): bits 64-95 // - operatorFeeConstant (uint64): bits 96-159 // - daFootprintGasScalar (uint16): bits 160-175 // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update // the fields we care about. bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey)); // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant) uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64; uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask; uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR); storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](3); calls[0] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); calls[2] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer-rollback.json ================================================ { "cmd": "OWNER_SAFE=0x646132A1667ca7aD00d36616AFBA1A28116C770A SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 OLD_GAS_LIMIT=400000000 NEW_GAS_LIMIT=375000000 OLD_ELASTICITY=5 NEW_ELASTICITY=6 OLD_DENOMINATOR=100 NEW_DENOMINATOR=125 OLD_DA_FOOTPRINT_GAS_SCALAR=148 NEW_DA_FOOTPRINT_GAS_SCALAR=139 SAFE_NONCE=17 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", "messageHash": "0x692a43f94364876cf76dfb61d2c395ddc2b34585317585451725cea2ebfad717" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "value": "0x0000000000000000000000000000000000000000000000000000000000000011", "description": "Override the nonce to be our expected value after initial execution.", "allowDifference": false }, { "key": "0xd7b5e463f673c028766c2dbdbfaf5dba9c1732ff1cab3e82b131fd40344cc6ba", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "value": "0x00000000000000000000000000000000000a118b0000044d0000000017d78400", "description": "Overrides gas limit to post-upgrade value (400,000,000) so rollback simulation succeeds", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "value": "0x0000000000000000000000940000000000000000000000000000000500000064", "description": "Overrides EIP-1559 params and DA footprint gas scalar to post-upgrade values so rollback simulation succeeds", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000011", "after": "0x0000000000000000000000000000000000000000000000000000000000000012", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x00000000000000000000000000000000000a118b0000044d0000000017d78400", "after": "0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0", "description": "Reverts the gas limit from 400,000,000 back to 375,000,000", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x0000000000000000000000940000000000000000000000000000000500000064", "after": "0x00000000000000000000008b000000000000000000000000000000060000007d", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "leopold.joy@coinbase.com" } } } ================================================ FILE: sepolia/2026-03-25-increase-gas-and-elasticity-limit/validations/base-signer.json ================================================ { "cmd": "OWNER_SAFE=0x646132A1667ca7aD00d36616AFBA1A28116C770A SYSTEM_CONFIG=0xf272670eb55e895584501d564AfEB048bEd26194 NEW_GAS_LIMIT=400000000 OLD_GAS_LIMIT=375000000 NEW_ELASTICITY=5 OLD_ELASTICITY=6 NEW_DENOMINATOR=100 OLD_DENOMINATOR=125 NEW_DA_FOOTPRINT_GAS_SCALAR=148 OLD_DA_FOOTPRINT_GAS_SCALAR=139 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net IncreaseEip1559ElasticityAndIncreaseGasLimitScript --sig sign(address[]) [] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", "messageHash": "0x825aead69e642c0d761d0604375de5fb13a12dcbf854921320979c7eda4baa66" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xe62788ab79a1bc2a117c749a12ef06964cde977e13a67e963582311102a4f8b4", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000010", "after": "0x0000000000000000000000000000000000000000000000000000000000000011", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config - Sepolia", "address": "0xf272670eb55e895584501d564AfEB048bEd26194", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x00000000000000000000000000000000000a118b0000044d00000000165a0bc0", "after": "0x00000000000000000000000000000000000a118b0000044d0000000017d78400", "description": "Updates the gas limit from 375,000,000 to 400,000,000", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000008b000000000000000000000000000000060000007d", "after": "0x0000000000000000000000940000000000000000000000000000000500000064", "description": "Updates EIP-1559 params (denominator, elasticity) and DA Footprint Gas Scalar for the chain", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "leopold.joy@coinbase.com" } } } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Finalize task inputs Before collecting signatures, confirm that the task parameters in `.env` match the intended Sepolia cutover values. Revalidate `STARTING_ANCHOR_*` against Sepolia before collecting signatures. ## Deployment prerequisites Before collecting signatures, complete all deploy steps: ```bash cd contract-deployments git pull cd sepolia/2026-04-20-activate-multiproof make deps make deploy-nitro-verifier make deploy-multiproof make setup-nitro ``` There is no `make deploy-cb-multicall` step here because `CBMulticall` is already deployed on Sepolia. `make deps` also reapplies the local `AnchorStateRegistry` patch so the ASR reinitializer clears the old `anchorGame` pointer and the new `STARTING_ANCHOR_*` values actually take effect after cutover. `make deploy-nitro-verifier` deploys `NitroEnclaveVerifier` (with the deployer as temporary owner) and wires the RiscZero verify route. Initializes `addresses.json`. `make deploy-multiproof` deploys the remaining contracts (`TEEProverRegistry`, `DelayedWETH`, `TEEVerifier`, `AggregateVerifier`, etc.). The `TEEProverRegistry` and `DelayedWETH` proxies are initialized at deploy time and their admin is transferred to the L1 `ProxyAdmin`. Appends addresses to `addresses.json`. `make setup-nitro` configures the `NitroEnclaveVerifier`: sets the `proofSubmitter` to the `TEEProverRegistry` proxy and transfers ownership to `TEE_PROVER_REGISTRY_OWNER`. This step runs directly via the deployer Ledger (no multisig signatures required). ## Generate validation files ```bash cd contract-deployments git pull cd sepolia/2026-04-20-activate-multiproof make deps make gen-validation-multiproof-cb make gen-validation-multiproof-sc ``` This produces: - `validations/multiproof-cb-signer.json` - `validations/multiproof-sc-signer.json` ## Pre-sign check: `STARTING_ANCHOR_*` correctness `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical. Before collecting signatures, verify both values against the target RPC endpoints. ### 1. Validate that the anchor block number is expected Confirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value. ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER cast block $BLOCK --rpc-url $L2_RPC_URL ``` ### 2. Derive output root from that exact block Use `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`. ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER OUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot') echo $OUTPUT_ROOT echo $STARTING_ANCHOR_ROOT ``` Expected result: - `OUTPUT_ROOT == STARTING_ANCHOR_ROOT` ### 3. RPC requirements - `L2_RPC_URL` should point to the target L2 execution RPC. - `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock` (typically an OP node RPC). - Depending on block age and provider retention, an archive-capable RPC may be required. ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd sepolia/2026-04-20-activate-multiproof make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-multiproof-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-multiproof-sc ``` ### 4. Execute the multiproof activation batch ```bash make execute-activate-multiproof ``` ================================================ FILE: sepolia/2026-04-20-activate-multiproof/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) ACTIVATE_MULTIPROOF_SCRIPT_NAME = script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack MULTIPROOF_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) MULTIPROOF_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches # Reset ASR anchorGame during reinitialize so STARTING_ANCHOR_* takes effect after cutover. apply-patches: cd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch .PHONY: deps deps: task-extra-deps apply-patches .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment ## # CBMulticall is already deployed on Sepolia, so this task starts at Nitro deployment. .PHONY: deploy-nitro-verifier deploy-nitro-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployNitroVerifier.s.sol:DeployNitroVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) .PHONY: deploy-multiproof deploy-multiproof: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployMultiproofStack.s.sol:DeployMultiproofStack \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) .PHONY: setup-nitro setup-nitro: forge script --rpc-url $(L1_RPC_URL) script/SetupNitroEnclaveVerifier.s.sol:SetupNitroEnclaveVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) ## # Activate Multiproof ## .PHONY: gen-validation-multiproof-cb gen-validation-multiproof-cb: deps-signer-tool $(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(CB_MULTISIG),$(MULTIPROOF_CB_SENDER),multiproof-cb-signer.json,) .PHONY: gen-validation-multiproof-sc gen-validation-multiproof-sc: deps-signer-tool $(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(MULTIPROOF_SC_SENDER),multiproof-sc-signer.json,) .PHONY: approve-multiproof-cb approve-multiproof-cb: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) approve-multiproof-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-multiproof-sc approve-multiproof-sc: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) approve-multiproof-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-activate-multiproof execute-activate-multiproof: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) execute-activate-multiproof: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2026-04-20-activate-multiproof/README.md ================================================ # Activate Multiproof Status: [EXECUTED](https://sepolia.etherscan.io/tx/0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d) ## Description This task deploys and activates multiproof on `sepolia`. It follows the same fresh-deploy + multisig activation flow as the Zeronet task, but deploys directly from the newer `BASE_CONTRACTS_COMMIT` so we do not need a separate follow-up upgrade task for the Nitro/TEE changes. `CBMulticall` is already deployed on Sepolia, so this task starts directly at the Nitro deployment step. Before collecting signatures, verify that the task parameters in `.env` match the intended Sepolia cutover values. ## Procedure ## Sign Task ### 1. Update repo ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool ```bash cd contract-deployments make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. ### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: sepolia/2026-04-20-activate-multiproof/addresses.json ================================================ { "nitroEnclaveVerifier": "0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72", "teeProverRegistryImpl": "0xF9Ab55c35cE7Fb183A50E611B63558499130D849", "teeProverRegistryProxy": "0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e", "teeVerifier": "0x92F6dD3501E51B8b20C77b959becaaebeB210e17", "delayedWETHImpl": "0xbbFDB04121B74D8ae7F53fD5238DDEf133AB977a", "delayedWETHProxy": "0xD6e2d9D4f1f8865AC983eE848983fb1979429914", "aggregateVerifier": "0x498313fB340CD5055c5568546364008299A47517", "optimismPortal2Impl": "0x45fA7cFfa725e238a46a35fdE9F339b63fDEDBdD", "disputeGameFactoryImpl": "0xE7f2E3C6286375C102e482c0Aa2385D8bAAcac26", "anchorStateRegistryImpl": "0xb1CC9F8422042eDA9EB36A408002517d7c772Ac7" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts/', 'solady/=lib/solady/src/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'src/dispute/=lib/contracts/src/dispute/', 'src/multiproof/=lib/contracts/src/multiproof/', 'src/universal/=lib/contracts/src/universal/', 'src/L1/=lib/contracts/src/L1/', 'src/cannon/=lib/contracts/src/cannon/', 'src/vendor/=lib/contracts/src/vendor/', 'src/libraries/=lib/contracts/src/libraries/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', ] ================================================ FILE: sepolia/2026-04-20-activate-multiproof/patch/asr-reset-anchor-game.patch ================================================ diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol --- a/src/dispute/AnchorStateRegistry.sol +++ b/src/dispute/AnchorStateRegistry.sol @@ -101,6 +101,7 @@ // Now perform initialization logic. systemConfig = _systemConfig; disputeGameFactory = _disputeGameFactory; startingAnchorRoot = _startingAnchorRoot; + anchorGame = IFaultDisputeGame(address(0)); respectedGameType = _startingRespectedGameType; // Set the retirement timestamp to the current timestamp the first time the contract is ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xcad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e300", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x52", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x14e939f", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "blockTimestamp": "0x69e19a14", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "logIndex": "0x2ad", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x022112f8cae2a49007a15424d5cf8ef0900ff258a258d028f4f80cde07e574120000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "blockTimestamp": "0x69e19a14", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "logIndex": "0x2ae", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "gasUsed": "0x14a42", "effectiveGasPrice": "0x1839636c", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776392724858, "chain": 11155111, "commit": "26fb247" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392629127.json ================================================ { "transactions": [ { "hash": "0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x04e6ab53ae8a26c2e1816d6560eeb0cbf5c613c2fe08cb86fadb87c3dc6a0abd67ca5cacd853a040ce591577559b8e301bbbb96808aa7e53324a6928bbce65791bebb54fc0c7eed5683904fc693a764987afb1f0879b5850491d727e9821d9fbc0265c6b66f8ce122e26150938ce169c0583d7ddb693d7a56a9967f09f69fd47f21bcae20b329ae99722c1d3a8390ebb41601f6ce08f7e7bd8fa32a1f632250d8d1060124af18976e541db8bd671ce002eff7f5fb84318a472cdc1ee86c23f721b661b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x23227", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c304e6ab53ae8a26c2e1816d6560eeb0cbf5c613c2fe08cb86fadb87c3dc6a0abd67ca5cacd853a040ce591577559b8e301bbbb96808aa7e53324a6928bbce65791bebb54fc0c7eed5683904fc693a764987afb1f0879b5850491d727e9821d9fbc0265c6b66f8ce122e26150938ce169c0583d7ddb693d7a56a9967f09f69fd47f21bcae20b329ae99722c1d3a8390ebb41601f6ce08f7e7bd8fa32a1f632250d8d1060124af18976e541db8bd671ce002eff7f5fb84318a472cdc1ee86c23f721b661b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x51", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x148cab2", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d", "blockNumber": "0xa2e38c", "blockTimestamp": "0x69e199b4", "transactionHash": "0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f", "transactionIndex": "0x56", "logIndex": "0x15f", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb95d59bae185cd0925b49f3da3ce49840ec637f73940f748fa9ba4d29332c1100000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d", "blockNumber": "0xa2e38c", "blockTimestamp": "0x69e199b4", "transactionHash": "0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f", "transactionIndex": "0x56", "logIndex": "0x160", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000006000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x3554dab53481f585042627020a823e69c28157f332f89b79efddb5797a68eb3f", "transactionIndex": "0x56", "blockHash": "0xfce2770a590854ba986e3a71e9ea0f848e954ecb121c05d1b7e46ec6fd4d3c6d", "blockNumber": "0xa2e38c", "gasUsed": "0x18061", "effectiveGasPrice": "0x16657873", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776392629127, "chain": 11155111, "commit": "26fb247" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392724858.json ================================================ { "transactions": [ { "hash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xcad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e300", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cad8b4e23232ddc10aff151194be711bb820660846c3e0593db8fd4e8a2198a92b6753b7188886bba54593bb3a0c4d825e03b848d78bb1c228b8d0567238855b1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x52", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x14e939f", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e7", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "blockTimestamp": "0x69e19a14", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "logIndex": "0x2ad", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x022112f8cae2a49007a15424d5cf8ef0900ff258a258d028f4f80cde07e574120000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "blockTimestamp": "0x69e19a14", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "logIndex": "0x2ae", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x03915686bb086daaab6fea2ed33bdb60437ca4b205ae9b56b3d2d127d0130743", "transactionIndex": "0x87", "blockHash": "0x55c65c5040caec3138f3a51f46ac00e0e1b6b7527316106759472e48e57f68cd", "blockNumber": "0xa2e392", "gasUsed": "0x14a42", "effectiveGasPrice": "0x1839636c", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776392724858, "chain": 11155111, "commit": "26fb247" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/ActivateMultiproofStack.s.sol/11155111/run-1776392808986.json ================================================ { "transactions": [ { "hash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x6120d", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x53", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x240ebd6", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec400000000000000000000000049f53e41452c74589e85ca1677426ba426459e8500000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26000000000000000000000000000000000000000000000000000000000000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000f272670eb55e895584501d564afeb048bed26194000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e16c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c770000000000000000000000000000000000000000000000000000000002670bcf000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000498313fb340cd5055c5568546364008299a475170000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5e5", "removed": false }, { "address": "0x49f53e41452c74589e85ca1677426ba426459e85", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd" ], "data": "0x", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5e6", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26" ], "data": "0x", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5e7", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7" ], "data": "0x", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5e8", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5e9", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000498313fb340cd5055c5568546364008299a47517", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5ea", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5eb", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca", "0x000000000000000000000000000000000000000000000000000000000000026d", "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000" ], "data": "0x", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5ec", "removed": false }, { "address": "0x2ff5cc82dbf333ea30d8ee462178ab1707315355", "topics": [ "0x6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a7" ], "data": "0x0000000000000000000000000000000000000000000000000000000069e19a68", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5ed", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x4af7bfa42e8369f646d9b31153d0a7d570f7624eaf9cd0559cb8da05640240e70000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "blockTimestamp": "0x69e19a68", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "logIndex": "0x5ee", "removed": false } ], "logsBloom": "0x00000000400000000040000000000040400000000000000000000080044000000000000200000000000000001000000000000000000008000000800000008000200001000400000000000000004002005000040000000000004000000000000002000100000000000000000000000000000000000020000002000000000048000000200000400800000000000000000000000000000080000000000000000000100000000400108000002000000404000000000000000000000002000000000020000020000000080000002000060000000000000200000200008000000400000000000000400800000000000000000000400000000000000000000000000100", "type": "0x2", "transactionHash": "0xb20fcd230ee76842637a508382886aa7596f36dd6fc8f47d147aeab213fbd55d", "transactionIndex": "0x91", "blockHash": "0x003f5376dd38bb6c971e8b31a2eeed9e9c9b6fce93076d751818cced8c97fe6f", "blockNumber": "0xa2e399", "gasUsed": "0x4651c", "effectiveGasPrice": "0x17c764ea", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776392808986, "chain": 11155111, "commit": "26fb247" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/DeployMultiproofStack.s.sol/11155111/run-1776362103158.json ================================================ { "transactions": [ { "hash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionType": "CREATE", "contractName": "TEEProverRegistry", "contractAddress": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "function": null, "arguments": [ "0x8E385C5136a530DD359F424db43Bf672dD191eC9", "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x2194d2", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212201aa0594fce9b9d58a7aed0b48829faf3a3ecd9e52da47d33983c9406af66148064736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000008e385c5136a530dd359f424db43bf672dd191ec9000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "nonce": "0x25", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea", "transactionType": "CREATE", "contractName": "DelayedWETH", "contractAddress": "0x0319d7be06524f6817a30f3bdab541a064ff4dcf", "function": null, "arguments": [ "86400" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x165c8c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180", "nonce": "0x26", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "nonce": "0x27", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0xaf2c60C00fF938a50b36D23f3a8b89478C55ab44", "0x2712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "gas": "0x4793b", "value": "0x0", "input": "0x4f1ef286000000000000000000000000af2c60c00ff938a50b36d23f3a8b89478c55ab44000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a100000000000000000000000000000000000000000000000000000000", "nonce": "0x28", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "function": "changeAdmin(address)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "gas": "0x99a3", "value": "0x0", "input": "0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "nonce": "0x29", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "nonce": "0x2a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0x0319d7BE06524f6817a30f3BDab541A064Ff4DcF", "0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "gas": "0x22ede", "value": "0x0", "input": "0x4f1ef2860000000000000000000000000319d7be06524f6817a30f3bdab541a064ff4dcf00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000", "nonce": "0x2b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "function": "changeAdmin(address)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "gas": "0x99a3", "value": "0x0", "input": "0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "nonce": "0x2c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xfb04408d90923b6a389f1fb5f60daa8a17a86f7fd8828dcd1aad31d7418032cd", "transactionType": "CREATE", "contractName": "TEEVerifier", "contractAddress": "0xe049d99db72204480ceb7e94502dafe6f05e5c66", "function": null, "arguments": [ "0x18217d97582e0E5bf03f3408Ff4569bB333bFBCD", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0xa894c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea2646970667358221220c1ded25c590a7c60acf44027df4ea9c1ce14fb87aae9369094aa0e5e82c8205464736f6c634300080f003300000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355", "nonce": "0x2d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xe4ecff3fdfdd408baeeeb625736a389cbc6804ae7ef016f491543d53e8d9b8c8", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0xf9a4733f2b709f37baa4c819f44ca4e8c935355c", "function": null, "arguments": [ "621", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", "0x5A7DA1D200aF68f890b4568c258aD86eE805b35B", "0xE049d99Db72204480ceB7E94502dAFE6F05e5C66", "0x0000000000000000000000000000000000000000", "0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64", "(0x08b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a21, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)", "0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360", "84532", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3ae8a1", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212202d480fded84fc6348d73dffa75b629ced9c01f5a412e5767837340f3e1868b3364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab17073153550000000000000000000000005a7da1d200af68f890b4568c258ad86ee805b35b000000000000000000000000e049d99db72204480ceb7e94502dafe6f05e5c66000000000000000000000000000000000000000000000000000000000000000011fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6408b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a210020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x2e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6", "transactionType": "CREATE", "contractName": "OptimismPortal2", "contractAddress": "0x93a33057958deb25f7416dd3ec47cebccbadbbdf", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x4c26b4", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527", "transactionType": "CREATE", "contractName": "DisputeGameFactory", "contractAddress": "0x4e7f7f41125247acb5844dc74f5704c5c53b78b0", "function": null, "arguments": null, "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1ecb45", "value": "0x0", "input": "0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033", "nonce": "0x30", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a", "transactionType": "CREATE", "contractName": "AnchorStateRegistry", "contractAddress": "0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1b5d4d", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x31", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x19d502d", "logs": [ { "address": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "logIndex": "0x24d", "removed": false }, { "address": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "logIndex": "0x24e", "removed": false }, { "address": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "logIndex": "0x24f", "removed": false }, { "address": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "logIndex": "0x250", "removed": false }, { "address": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "logIndex": "0x251", "removed": false } ], "logsBloom": "0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000200000000000000000100000000000000000000000000000000000000800000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000020000", "type": "0x2", "transactionHash": "0xa3737c137cf4e8f6cb88d195c23117327ee2a72c3b4868af84eb576a89916b8c", "transactionIndex": "0x6c", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "gasUsed": "0x19d4f1", "effectiveGasPrice": "0x3a617c1", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xaf2c60c00ff938a50b36d23f3a8b89478c55ab44" }, { "status": "0x1", "cumulativeGasUsed": "0x1f797b3", "logs": [ { "address": "0x0319d7be06524f6817a30f3bdab541a064ff4dcf", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea", "transactionIndex": "0x92", "logIndex": "0x2d8", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000004000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000", "type": "0x2", "transactionHash": "0x1c9f7f4481e1774d278568ee327a15cc8afedc9796ea06666d94839914cdf4ea", "transactionIndex": "0x92", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "gasUsed": "0x113380", "effectiveGasPrice": "0x3a617c1", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x0319d7be06524f6817a30f3bdab541a064ff4dcf" }, { "status": "0x1", "cumulativeGasUsed": "0x22d654f", "logs": [ { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "blockTimestamp": "0x69e1219c", "transactionHash": "0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745", "transactionIndex": "0xa7", "logIndex": "0x358", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000", "type": "0x2", "transactionHash": "0xadf62039384c1538df863082b7ddd3e7ba41641d77e87c3f913070ee9bfb1745", "transactionIndex": "0xa7", "blockHash": "0x05d482ee8322615e6fda646c6eebe3437508067d63f420a8ea5670e306937ba0", "blockNumber": "0xa2da82", "gasUsed": "0x6b307", "effectiveGasPrice": "0x3a617c1", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd" }, { "status": "0x1", "cumulativeGasUsed": "0x789e8f", "logs": [ { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000af2c60c00ff938a50b36d23f3a8b89478c55ab44" ], "data": "0x", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x120", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x121", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x122", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x123", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3" ], "data": "0x", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x124", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x125", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x126", "removed": false }, { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "logIndex": "0x127", "removed": false } ], "logsBloom": "0x00000000000400800200000000000000408000000000010000800000000000000040000000000000000000000000000002000000000000000000100000000000000000000000000000000000000002000001000000000000000000000000000000000020020000010040000000000800010000000000000000400000000000400000000000000002000000000000080000000000000080000000000000000000000008000008400000000000000400000000000000000000001000000000000000000020000400000000000000042000000000000000001400000000800020000000000000000000000000000000000200000400010000000000000000000000", "type": "0x2", "transactionHash": "0xc638ddb533af646d0fdffb5a8ef7548e7f1e744d020b8bf0a3b21a9c2c904e8a", "transactionIndex": "0x40", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "gasUsed": "0x30f11", "effectiveGasPrice": "0x3c47fff", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x790dcb", "logs": [ { "address": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2", "transactionIndex": "0x41", "logIndex": "0x128", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000000000000000", "type": "0x2", "transactionHash": "0xa00103685c3ba36577070e79489d7e3c4738cca7700c43156edbc134bc0dd8e2", "transactionIndex": "0x41", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "gasUsed": "0x6f3c", "effectiveGasPrice": "0x3c47fff", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x18217d97582e0e5bf03f3408ff4569bb333bfbcd", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x7fc0d2", "logs": [ { "address": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "blockTimestamp": "0x69e121a8", "transactionHash": "0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225", "transactionIndex": "0x42", "logIndex": "0x129", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", "transactionHash": "0x97f81284cc0b4bbafdac439375ed3ed733cb10a8797b26ed96f5fb0867d95225", "transactionIndex": "0x42", "blockHash": "0x5c5d0f00a58035a59511a0f79841fde1e855a0a332406c6988eb92f8e6224422", "blockNumber": "0xa2da83", "gasUsed": "0x6b307", "effectiveGasPrice": "0x3c47fff", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x5a7da1d200af68f890b4568c258ad86ee805b35b" }, { "status": "0x1", "cumulativeGasUsed": "0x1c95c23", "logs": [ { "address": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000000319d7be06524f6817a30f3bdab541a064ff4dcf" ], "data": "0x", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "blockTimestamp": "0x69e121b4", "transactionHash": "0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda", "transactionIndex": "0x89", "logIndex": "0x261", "removed": false }, { "address": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "blockTimestamp": "0x69e121b4", "transactionHash": "0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda", "transactionIndex": "0x89", "logIndex": "0x262", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000040002000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", "transactionHash": "0xb563f4e1b84fb19eeb683746db977700ebc5de704412beafc719566b769e0eda", "transactionIndex": "0x89", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "gasUsed": "0x17e22", "effectiveGasPrice": "0x3a5b9c3", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1c9cb5f", "logs": [ { "address": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "blockTimestamp": "0x69e121b4", "transactionHash": "0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011", "transactionIndex": "0x8a", "logIndex": "0x263", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000", "type": "0x2", "transactionHash": "0x1d60720771fc6d1af632b9d5d17d52bb340b461a350f845d82615e886c484011", "transactionIndex": "0x8a", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "gasUsed": "0x6f3c", "effectiveGasPrice": "0x3a5b9c3", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5a7da1d200af68f890b4568c258ad86ee805b35b", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1d1e637", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xfb04408d90923b6a389f1fb5f60daa8a17a86f7fd8828dcd1aad31d7418032cd", "transactionIndex": "0x8b", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "gasUsed": "0x81ad8", "effectiveGasPrice": "0x3a5b9c3", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xe049d99db72204480ceb7e94502dafe6f05e5c66" }, { "status": "0x1", "cumulativeGasUsed": "0x1ff36b3", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xe4ecff3fdfdd408baeeeb625736a389cbc6804ae7ef016f491543d53e8d9b8c8", "transactionIndex": "0x8c", "blockHash": "0xf2d7ea1eb9e832476a62299125cdc1223679e43a1902bb92b161dcf7d96787c6", "blockNumber": "0xa2da84", "gasUsed": "0x2d507c", "effectiveGasPrice": "0x3a5b9c3", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xf9a4733f2b709f37baa4c819f44ca4e8c935355c" }, { "status": "0x1", "cumulativeGasUsed": "0xcd15e5", "logs": [ { "address": "0x93a33057958deb25f7416dd3ec47cebccbadbbdf", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a", "blockNumber": "0xa2da85", "blockTimestamp": "0x69e121c0", "transactionHash": "0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6", "transactionIndex": "0x48", "logIndex": "0x154", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x32a80d884d0cf90f0aaebc4b99ee0bc8cb206c7558f52691310323d79c54ccd6", "transactionIndex": "0x48", "blockHash": "0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a", "blockNumber": "0xa2da85", "gasUsed": "0x3a93ed", "effectiveGasPrice": "0x3bd8f80", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x93a33057958deb25f7416dd3ec47cebccbadbbdf" }, { "status": "0x1", "cumulativeGasUsed": "0x15f66a1", "logs": [ { "address": "0x4e7f7f41125247acb5844dc74f5704c5c53b78b0", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a", "blockNumber": "0xa2da85", "blockTimestamp": "0x69e121c0", "transactionHash": "0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527", "transactionIndex": "0x6d", "logIndex": "0x26b", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000100000000000000000100000000000000000000080000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xaf62cb8bdbc90aea3a3422f56f02195e5f4995cc091b0919607591b01bd8c527", "transactionIndex": "0x6d", "blockHash": "0x0c652effbdeb5ee9898e8f2c413d80a1ae8efabfa386ee0d41e6fb200567c76a", "blockNumber": "0xa2da85", "gasUsed": "0x17b00e", "effectiveGasPrice": "0x3bd8f80", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x4e7f7f41125247acb5844dc74f5704c5c53b78b0" }, { "status": "0x1", "cumulativeGasUsed": "0x2fb2b70", "logs": [ { "address": "0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xab71279f0367f36e7d0b7a15b4444ba68092e926a36cd444aa18bb9d94ca18b3", "blockNumber": "0xa2da86", "blockTimestamp": "0x69e121d8", "transactionHash": "0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a", "transactionIndex": "0xf0", "logIndex": "0x5b7", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", "transactionHash": "0x355bd0bdfc52553d5dd9fa5e2a11cac18cf2517a1c6ed77eafa382d3f288d25a", "transactionIndex": "0xf0", "blockHash": "0xab71279f0367f36e7d0b7a15b4444ba68092e926a36cd444aa18bb9d94ca18b3", "blockNumber": "0xa2da86", "gasUsed": "0x150cb2", "effectiveGasPrice": "0x3af9450", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x38eb04fb947cd8c49aac49f31a0bbfbd1c9ae443" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776362103158, "chain": 11155111, "commit": "2e318fa" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/DeployMultiproofStack.s.sol/11155111/run-1776380209255.json ================================================ { "transactions": [ { "hash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionType": "CREATE", "contractName": "TEEProverRegistry", "contractAddress": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "function": null, "arguments": [ "0x7D8EA07DB94128DBEe66bAfa3eBAa9668B413d72", "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x2194d2", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212201aa0594fce9b9d58a7aed0b48829faf3a3ecd9e52da47d33983c9406af66148064736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000007d8ea07db94128dbee66bafa3ebaa9668b413d72000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "nonce": "0x16a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionType": "CREATE", "contractName": "DelayedWETH", "contractAddress": "0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a", "function": null, "arguments": [ "86400" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x165c8c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180", "nonce": "0x16b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "function": null, "arguments": [ "0x8C1a617BdB47342F9C17Ac8750E0b070c372C721" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "nonce": "0x16c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0xF9Ab55c35cE7Fb183A50E611B63558499130D849", "0x2712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "gas": "0x4793b", "value": "0x0", "input": "0x4f1ef286000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a100000000000000000000000000000000000000000000000000000000", "nonce": "0x16d", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "function": "changeAdmin(address)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "gas": "0x99a3", "value": "0x0", "input": "0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "nonce": "0x16e", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "function": null, "arguments": [ "0x8C1a617BdB47342F9C17Ac8750E0b070c372C721" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61030000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "nonce": "0x16f", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0xbbFDB04121B74D8ae7F53fD5238DDEf133AB977a", "0xc4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed26194" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "gas": "0x22ede", "value": "0x0", "input": "0x4f1ef286000000000000000000000000bbfdb04121b74d8ae7f53fd5238ddef133ab977a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000f272670eb55e895584501d564afeb048bed2619400000000000000000000000000000000000000000000000000000000", "nonce": "0x170", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "function": "changeAdmin(address)", "arguments": [ "0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "gas": "0x99a3", "value": "0x0", "input": "0x8f2839700000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "nonce": "0x171", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xfb891efb7d3164d3d1ed0a2b296639981227fc4cebf988ab0c4a1ab5489e2cff", "transactionType": "CREATE", "contractName": "TEEVerifier", "contractAddress": "0x92f6dd3501e51b8b20c77b959becaaebeb210e17", "function": null, "arguments": [ "0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0xa894c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea2646970667358221220c1ded25c590a7c60acf44027df4ea9c1ce14fb87aae9369094aa0e5e82c8205464736f6c634300080f0033000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355", "nonce": "0x172", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xbee3d9dfd4ea52c272a075f378d1396205d4874e3c3a4f7e04f20c586a1b39b1", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0x498313fb340cd5055c5568546364008299a47517", "function": null, "arguments": [ "621", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", "0xD6e2d9D4f1f8865AC983eE848983fb1979429914", "0x92F6dD3501E51B8b20C77b959becaaebeB210e17", "0x0000000000000000000000000000000000000000", "0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64", "(0x08b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a21, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)", "0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360", "84532", "600", "30", "1" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x3ae8b0", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212202d480fded84fc6348d73dffa75b629ced9c01f5a412e5767837340f3e1868b3364736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000000000000000000000000000000000000000000011fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6408b7a02a5f34c66f5f7ff6e731d881b2385712761d835de3588e00d977fb3a210020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x173", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def", "transactionType": "CREATE", "contractName": "OptimismPortal2", "contractAddress": "0x45fa7cffa725e238a46a35fde9f339b63fdedbdd", "function": null, "arguments": [ "0" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x4c26b4", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x174", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9", "transactionType": "CREATE", "contractName": "DisputeGameFactory", "contractAddress": "0xe7f2e3c6286375c102e482c0aa2385d8baacac26", "function": null, "arguments": null, "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x1ecb45", "value": "0x0", "input": "0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033", "nonce": "0x175", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb", "transactionType": "CREATE", "contractName": "AnchorStateRegistry", "contractAddress": "0xb1cc9f8422042eda9eb36a408002517d7c772ac7", "function": null, "arguments": [ "0" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x1b5d4d", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x176", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1832e72", "logs": [ { "address": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "logIndex": "0x317", "removed": false }, { "address": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "logIndex": "0x318", "removed": false }, { "address": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "logIndex": "0x319", "removed": false }, { "address": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "logIndex": "0x31a", "removed": false }, { "address": "0xf9ab55c35ce7fb183a50e611b63558499130d849", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "logIndex": "0x31b", "removed": false } ], "logsBloom": "0x00000800000010000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000800000000000000000000001000000000000000000000000000000000000024000000040000000000800010000000000000000000000000000400000000000000020000004000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000400000000000000000000840000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xdad179d66f4fe78be0e82fcdff69bbd083039db61a3409c40866d09f36b64f6f", "transactionIndex": "0x63", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x19d4f1", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xf9ab55c35ce7fb183a50e611b63558499130d849" }, { "status": "0x1", "cumulativeGasUsed": "0x194ce94", "logs": [ { "address": "0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1", "transactionIndex": "0x65", "logIndex": "0x31d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000100000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa219d2720328e8fcc0468d160fe2a1a770dfec9423a2658a7bd4acdacc8b06a1", "transactionIndex": "0x65", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x113380", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xbbfdb04121b74d8ae7f53fd5238ddef133ab977a" }, { "status": "0x1", "cumulativeGasUsed": "0x19e403d", "logs": [ { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14", "transactionIndex": "0x68", "logIndex": "0x324", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x31fd5cf26e4a19b991d5e8acf2d3dbb2b513453bb009b4f51c2781014465cb14", "transactionIndex": "0x68", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x6b307", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e" }, { "status": "0x1", "cumulativeGasUsed": "0x1a14f4e", "logs": [ { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000f9ab55c35ce7fb183a50e611b63558499130d849" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x325", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x326", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x327", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x328", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "0x0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x329", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x000000000000000000000000db84125f2f4229c81c579f41bc129c71b174eb58" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x32a", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x000000000000000000000000adc09b63a3ac57a2ce86d946617a18df9db029a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x32b", "removed": false }, { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "logIndex": "0x32c", "removed": false } ], "logsBloom": "0x00000000000000800200040000000000408000000000000002800000000000004000000000000000000000000000000000000000000000000000100000000000000000000000800000200000000002000001000000000000000000000000000000000000024000010040000000000800010000000000000000400000000000400000000800000002000000000000080000000000000080000000000000000000010000000000400000000000000400000000000000000000000000000000000000000020000400000000000000842000000000000000001400000000800020000000000000000000000000000000000200000400000000000000000000000000", "type": "0x2", "transactionHash": "0x59c3ce9ec119d94cb1c75fe9d354fa85aeb9f3470855c7ded204b2a37206ec9b", "transactionIndex": "0x69", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x30f11", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1a1be8a", "logs": [ { "address": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69", "transactionIndex": "0x6a", "logIndex": "0x32d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x07132522019e9db3d047686d4f7a713af71b980744395157bf31c8f7695b0a69", "transactionIndex": "0x6a", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x6f3c", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xf0d7e15673fba052e83d7f2b26bb6071e86b972e", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1a87191", "logs": [ { "address": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529", "transactionIndex": "0x6b", "logIndex": "0x32e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x10b17f72ad2374799114d5fd04ae067f065aa3f88157b3c0f5f42c7c100bd529", "transactionIndex": "0x6b", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x6b307", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914" }, { "status": "0x1", "cumulativeGasUsed": "0x1a9efb3", "logs": [ { "address": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000bbfdb04121b74d8ae7f53fd5238ddef133ab977a" ], "data": "0x", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3", "transactionIndex": "0x6c", "logIndex": "0x32f", "removed": false }, { "address": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3", "transactionIndex": "0x6c", "logIndex": "0x330", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000100000000000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000020000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x28b0670948f0fdff6c8193a8334c9c15976696e9c86cda20e960671964b900c3", "transactionIndex": "0x6c", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x17e22", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1ab177d", "logs": [ { "address": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000389e59aa0a41e4a413ae70f0008e76caa34b1f3", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863", "transactionIndex": "0x6e", "logIndex": "0x332", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x2bd3dadd120da27b9b45954166543fa2965ca36a46390348b528dd2ef7848863", "transactionIndex": "0x6e", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x6f3c", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0xd6e2d9d4f1f8865ac983ee848983fb1979429914", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1b33255", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xbee3d9dfd4ea52c272a075f378d1396205d4874e3c3a4f7e04f20c586a1b39b1", "transactionIndex": "0x6f", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x81ad8", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x92f6dd3501e51b8b20c77b959becaaebeb210e17" }, { "status": "0x1", "cumulativeGasUsed": "0x1e082dd", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xfb891efb7d3164d3d1ed0a2b296639981227fc4cebf988ab0c4a1ab5489e2cff", "transactionIndex": "0x70", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x2d5088", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x498313fb340cd5055c5568546364008299a47517" }, { "status": "0x1", "cumulativeGasUsed": "0x21cf657", "logs": [ { "address": "0x45fa7cffa725e238a46a35fde9f339b63fdedbdd", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def", "transactionIndex": "0x72", "logIndex": "0x338", "removed": false } ], "logsBloom": "0x00400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000040000000000000000000000000000000040000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x110730b3af6b14acb0fd9c5bd0d8b32383c3507331c478aafbed91b4885e7def", "transactionIndex": "0x72", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x3a93ed", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x45fa7cffa725e238a46a35fde9f339b63fdedbdd" }, { "status": "0x1", "cumulativeGasUsed": "0x236814a", "logs": [ { "address": "0xe7f2e3c6286375c102e482c0aa2385d8baacac26", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "blockTimestamp": "0x69e16870", "transactionHash": "0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb", "transactionIndex": "0x74", "logIndex": "0x33e", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000020000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x814a97fd007d09ba0319151a687007c37fddabeb21a84938e2107c0510a887cb", "transactionIndex": "0x74", "blockHash": "0xfc0145f411906df33bbd68bd915e0c1d44a1749fcd929302cd294790a9237cea", "blockNumber": "0xa2dfd2", "gasUsed": "0x17b00e", "effectiveGasPrice": "0x10f2fa", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xe7f2e3c6286375c102e482c0aa2385d8baacac26" }, { "status": "0x1", "cumulativeGasUsed": "0xeef169", "logs": [ { "address": "0xb1cc9f8422042eda9eb36a408002517d7c772ac7", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x1679bcc4355f193fea6344e351d1aa8cb0518e38c487917534b1f4d820710e4d", "blockNumber": "0xa2dfd3", "blockTimestamp": "0x69e1687c", "transactionHash": "0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9", "transactionIndex": "0x4e", "logIndex": "0x17d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa0cad953d9d7dc17e6438712cf8dc4e8493c05a917fb03dea6945509a50866b9", "transactionIndex": "0x4e", "blockHash": "0x1679bcc4355f193fea6344e351d1aa8cb0518e38c487917534b1f4d820710e4d", "blockNumber": "0xa2dfd3", "gasUsed": "0x150cb2", "effectiveGasPrice": "0x1108cc", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0xb1cc9f8422042eda9eb36a408002517d7c772ac7" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776380209255, "chain": 11155111, "commit": "9fbef31" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/DeployNitroVerifier.s.sol/11155111/run-1776361698333.json ================================================ { "transactions": [ { "hash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionType": "CREATE", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "3600", "[]", "[]", "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3", "1", "(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187)", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3317c9", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea264697066735822122046c9bb3dbc7e5fd6cf9f28647a238fe7c2ed782f4ab35d0c5110400647c7212b64736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a30000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b69187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x23", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "function": "addVerifyRoute(uint8,bytes4,address)", "arguments": [ "1", "0x242f9d5b", "0xcb9D14347b1e816831ECeE46EC199144F360B55c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "gas": "0x1097f", "value": "0x0", "input": "0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c", "nonce": "0x24", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1a38954", "logs": [ { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf", "blockNumber": "0xa2da6e", "blockTimestamp": "0x69e120a0", "transactionHash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionIndex": "0x71", "logIndex": "0x211", "removed": false }, { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8" ], "data": "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "blockHash": "0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf", "blockNumber": "0xa2da6e", "blockTimestamp": "0x69e120a0", "transactionHash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionIndex": "0x71", "logIndex": "0x212", "removed": false }, { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "blockHash": "0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf", "blockNumber": "0xa2da6e", "blockTimestamp": "0x69e120a0", "transactionHash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionIndex": "0x71", "logIndex": "0x213", "removed": false }, { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b691870000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf", "blockNumber": "0xa2da6e", "blockTimestamp": "0x69e120a0", "transactionHash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionIndex": "0x71", "logIndex": "0x214", "removed": false } ], "logsBloom": "0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000002000000000000000000000000000001000000000000008000408000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000100000000000000000000000000000000000000400000000000000000", "type": "0x2", "transactionHash": "0x9b9728830bf1a924047a0e9e252339d6762a922bc1b7f24646295ed3e81be7df", "transactionIndex": "0x71", "blockHash": "0x2a10534714b871ab56129843e16ba6af409721884378cd91f777e33b25c3a9cf", "blockNumber": "0xa2da6e", "gasUsed": "0x274d60", "effectiveGasPrice": "0x32fc20d", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x8e385c5136a530dd359f424db43bf672dd191ec9" }, { "status": "0x1", "cumulativeGasUsed": "0x8bbe57", "logs": [ { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x242f9d5b00000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c", "blockHash": "0x611e290bec979d43c3c33d6073a294a15663009b71aa5e12c604f1e4b20d5edc", "blockNumber": "0xa2da72", "blockTimestamp": "0x69e120d0", "transactionHash": "0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b", "transactionIndex": "0x3e", "logIndex": "0x18d", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000002000000000020000000000000000000000000000000001000400000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000100000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x0e8d9512248b6f241ffa16bc049f0f73e153d9bce1f6d67f93775f85750d4f9b", "transactionIndex": "0x3e", "blockHash": "0x611e290bec979d43c3c33d6073a294a15663009b71aa5e12c604f1e4b20d5edc", "blockNumber": "0xa2da72", "gasUsed": "0xc038", "effectiveGasPrice": "0x31c06d9", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776361698333, "chain": 11155111, "commit": "2e318fa" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/DeployNitroVerifier.s.sol/11155111/run-1776379902060.json ================================================ { "transactions": [ { "hash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionType": "CREATE", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "function": null, "arguments": [ "0x8C1a617BdB47342F9C17Ac8750E0b070c372C721", "3600", "[]", "[]", "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "0x8074b32bD7d06C8f27596F3D6fbf867A36eA22a3", "1", "(0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187)", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "gas": "0x3317d9", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea264697066735822122045325784d39fdaa0362143aea241c6924573a911af0ecf4716bdba6d7dc61d7164736f6c634300081e00330000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c7210000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000008074b32bd7d06c8f27596f3d6fbf867a36ea22a3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b69187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x168", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "function": "addVerifyRoute(uint8,bytes4,address)", "arguments": [ "1", "0x242f9d5b", "0xcb9D14347b1e816831ECeE46EC199144F360B55c" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "gas": "0x1097f", "value": "0x0", "input": "0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c", "nonce": "0x169", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xd40a08", "logs": [ { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721" ], "data": "0x", "blockHash": "0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0", "blockNumber": "0xa2dfc3", "blockTimestamp": "0x69e167b0", "transactionHash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionIndex": "0x4a", "logIndex": "0x16c", "removed": false }, { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8" ], "data": "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "blockHash": "0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0", "blockNumber": "0xa2dfc3", "blockTimestamp": "0x69e167b0", "transactionHash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionIndex": "0x4a", "logIndex": "0x16d", "removed": false }, { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "blockHash": "0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0", "blockNumber": "0xa2dfc3", "blockTimestamp": "0x69e167b0", "transactionHash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionIndex": "0x4a", "logIndex": "0x16e", "removed": false }, { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef" ], "data": "0x000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925d8331ddc0a1f0d96e68cf073dfe1d92b691870000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0", "blockNumber": "0xa2dfc3", "blockTimestamp": "0x69e167b0", "transactionHash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionIndex": "0x4a", "logIndex": "0x16f", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000802000000000000004000000000000000000000000000008000000000000000000000000000000000000000000800000000000000000000001000000000000000020000000000000000000024000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000400000000004000000000000800000000000000800000000004000000000000000000000020000000000000000000000000000000000000000000000000400000000000000000", "type": "0x2", "transactionHash": "0xfdd47ebbef441dfdef8153b9c6c528a9cea60c84da68bcf66d7f07d5f8767eea", "transactionIndex": "0x4a", "blockHash": "0xb181898b44876d02a3e8cfc5cff332795359fad938684460dcd44ca3174dafb0", "blockNumber": "0xa2dfc3", "gasUsed": "0x274d6c", "effectiveGasPrice": "0x1303b9", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": null, "contractAddress": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72" }, { "status": "0x1", "cumulativeGasUsed": "0xea2169", "logs": [ { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x242f9d5b00000000000000000000000000000000000000000000000000000000" ], "data": "0x000000000000000000000000cb9d14347b1e816831ecee46ec199144f360b55c", "blockHash": "0x8dbaefeb17709c6f42b23d6f2de928fb676b76cc0f12821b41bc1756b273faf5", "blockNumber": "0xa2dfc8", "blockTimestamp": "0x69e167ec", "transactionHash": "0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af", "transactionIndex": "0x45", "logIndex": "0x257", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000004400000000000000000000040000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x71144f701638a913120457b8267939f7a9b6b465e8e9727c09d87e4bbb9a95af", "transactionIndex": "0x45", "blockHash": "0x8dbaefeb17709c6f42b23d6f2de928fb676b76cc0f12821b41bc1756b273faf5", "blockNumber": "0xa2dfc8", "gasUsed": "0xc038", "effectiveGasPrice": "0x12ed07", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776379902060, "chain": 11155111, "commit": "9fbef31" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/11155111/run-1776362557749.json ================================================ { "transactions": [ { "hash": "0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70", "transactionType": "CALL", "contractName": null, "contractAddress": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "function": "setProofSubmitter(address)", "arguments": [ "0x18217d97582e0E5bf03f3408Ff4569bB333bFBCD" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "gas": "0xa2e1", "value": "0x0", "input": "0xd06d558700000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd", "nonce": "0x32", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2", "transactionType": "CALL", "contractName": null, "contractAddress": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "function": "transferOwnership(address)", "arguments": [ "0x646132A1667ca7aD00d36616AFBA1A28116C770A" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "gas": "0xa2c3", "value": "0x0", "input": "0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "nonce": "0x33", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc5ec1f", "logs": [ { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x00000000000000000000000018217d97582e0e5bf03f3408ff4569bb333bfbcd", "blockHash": "0xf8012886e339504dc0db9b0471c5564e75929e69ca72a6b31a39f41c76e1da79", "blockNumber": "0xa2dab5", "blockTimestamp": "0x69e12430", "transactionHash": "0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70", "transactionIndex": "0x4f", "logIndex": "0x177", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xce6e362345b9d61b08e6889bcf97009fc1592e27c0ce42cef8f9fe7acdad6e70", "transactionIndex": "0x4f", "blockHash": "0xf8012886e339504dc0db9b0471c5564e75929e69ca72a6b31a39f41c76e1da79", "blockNumber": "0xa2dab5", "gasUsed": "0x75ed", "effectiveGasPrice": "0x28f1fd3", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0xa6a0b2", "logs": [ { "address": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xed35cdf98ee02af1db558d28925d7cb251a847348036e267f537a5adf3fa220c", "blockNumber": "0xa2dab6", "blockTimestamp": "0x69e1243c", "transactionHash": "0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2", "transactionIndex": "0x4d", "logIndex": "0x18e", "removed": false } ], "logsBloom": "0x00000000000400000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000400000000000000000000000002000000000000000000000000000000000000000000008000408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000100000000000000000000000200000000000000000000000000000000", "type": "0x2", "transactionHash": "0x717d8f1b2e984817af525397e38c035543c5d574ba8a48e691614b36771c21c2", "transactionIndex": "0x4d", "blockHash": "0xed35cdf98ee02af1db558d28925d7cb251a847348036e267f537a5adf3fa220c", "blockNumber": "0xa2dab6", "gasUsed": "0x6f4b", "effectiveGasPrice": "0x28bc6c9", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8e385c5136a530dd359f424db43bf672dd191ec9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776362557749, "chain": 11155111, "commit": "2e318fa" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/11155111/run-1776380244914.json ================================================ { "transactions": [ { "hash": "0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "function": "setProofSubmitter(address)", "arguments": [ "0xf0d7E15673fBA052e83d7f2b26BB6071E86b972e" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "gas": "0xa2e1", "value": "0x0", "input": "0xd06d5587000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e", "nonce": "0x177", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "function": "transferOwnership(address)", "arguments": [ "0x646132A1667ca7aD00d36616AFBA1A28116C770A" ], "transaction": { "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "gas": "0xa2c3", "value": "0x0", "input": "0xf2fde38b000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a", "nonce": "0x178", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1159a19", "logs": [ { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000f0d7e15673fba052e83d7f2b26bb6071e86b972e", "blockHash": "0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351", "blockNumber": "0xa2dfe3", "blockTimestamp": "0x69e16954", "transactionHash": "0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da", "transactionIndex": "0x7b", "logIndex": "0x267", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000004000000000000800000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x37d56021d2ede69231f88c55e05c1f0b3f6cebf311c3c7f6f1fe01850f44e4da", "transactionIndex": "0x7b", "blockHash": "0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351", "blockNumber": "0xa2dfe3", "gasUsed": "0x75ed", "effectiveGasPrice": "0x11349d", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1160964", "logs": [ { "address": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000008c1a617bdb47342f9c17ac8750e0b070c372c721", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351", "blockNumber": "0xa2dfe3", "blockTimestamp": "0x69e16954", "transactionHash": "0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752", "transactionIndex": "0x7c", "logIndex": "0x268", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000008000000000000000000000000000000000000000000800000000000000000000001000000000000000000000000000000000000004000000000000000000000010000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000800000000004000000001000000000000000000000000000000000000000000000000200000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3fc21466b695ed1e211051bfe3067cfed0d558d8a2e13be71742249499f41752", "transactionIndex": "0x7c", "blockHash": "0x405bdffa3f983c0151146567731b76d912ec3d13ad77144c0bdf9c1826728351", "blockNumber": "0xa2dfe3", "gasUsed": "0x6f4b", "effectiveGasPrice": "0x11349d", "from": "0x8c1a617bdb47342f9c17ac8750e0b070c372c721", "to": "0x7d8ea07db94128dbee66bafa3ebaa9668b413d72", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776380244914, "chain": 11155111, "commit": "9fbef31" } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/script/ActivateMultiproofStack.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {GameType, Hash, Proposal} from "@base-contracts/src/dispute/lib/Types.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; import {DelayedWETH} from "@base-contracts/src/dispute/DelayedWETH.sol"; import {OptimismPortal2} from "@base-contracts/src/L1/OptimismPortal2.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; interface IProxyAdmin { function upgrade(address proxy, address implementation) external; function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable; } interface IProxy { function implementation() external view returns (address); } interface IDisputeGameFactoryAdmin { function owner() external view returns (address); function gameImpls(GameType gameType) external view returns (address); function initBonds(GameType gameType) external view returns (uint256); function setImplementation(GameType gameType, address impl, bytes calldata args) external; function setInitBond(GameType gameType, uint256 initBond) external; } contract ActivateMultiproofStack is MultisigScript { address internal ownerSafeEnv; address internal proxyAdminEnv; address internal systemConfigEnv; address internal optimismPortalEnv; address internal disputeGameFactoryProxyEnv; address internal anchorStateRegistryProxyEnv; uint32 internal gameTypeEnv; uint256 internal initBondEnv; bytes32 internal startingAnchorRootEnv; uint256 internal startingAnchorL2BlockNumberEnv; // TEE registry parameters (used for post-check validation; proxies are initialized // at deploy time in DeployMultiproofStack). address internal teeProverRegistryOwnerEnv; address internal teeProverRegistryManagerEnv; address internal proposerEnv; address internal challengerEnv; // Addresses from the facilitator deploy step (addresses.json). address internal newAggregateVerifier; address internal newOptimismPortalImpl; address internal newDgfImpl; address internal newAsrImpl; address internal newTeeProverRegistryImpl; address internal newTeeProverRegistryProxy; address internal newDelayedWethImpl; address internal newDelayedWethProxy; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); optimismPortalEnv = vm.envAddress("OPTIMISM_PORTAL"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); gameTypeEnv = uint32(vm.envUint("GAME_TYPE")); initBondEnv = vm.envUint("INIT_BOND"); startingAnchorRootEnv = vm.envBytes32("STARTING_ANCHOR_ROOT"); startingAnchorL2BlockNumberEnv = vm.envUint("STARTING_ANCHOR_L2_BLOCK_NUMBER"); teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); teeProverRegistryManagerEnv = vm.envAddress("TEE_PROVER_REGISTRY_MANAGER"); proposerEnv = vm.envAddress("PROPOSER"); challengerEnv = vm.envAddress("CHALLENGER"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); newAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); newOptimismPortalImpl = vm.parseJsonAddress({json: json, key: ".optimismPortal2Impl"}); newDgfImpl = vm.parseJsonAddress({json: json, key: ".disputeGameFactoryImpl"}); newAsrImpl = vm.parseJsonAddress({json: json, key: ".anchorStateRegistryImpl"}); newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: ".teeProverRegistryImpl"}); newTeeProverRegistryProxy = vm.parseJsonAddress({json: json, key: ".teeProverRegistryProxy"}); newDelayedWethImpl = vm.parseJsonAddress({json: json, key: ".delayedWETHImpl"}); newDelayedWethProxy = vm.parseJsonAddress({json: json, key: ".delayedWETHProxy"}); // Sanity-check that the executing Safe holds the roles required by the non-ProxyAdmin calls // that remain in this batch. require( IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, "DGF owner != PROXY_ADMIN_OWNER: setImplementation/setInitBond will revert" ); require( ISystemConfig(systemConfigEnv).guardian() == ownerSafeEnv, "Guardian != PROXY_ADMIN_OWNER: updateRetirementTimestamp will revert" ); } /// @dev Builds the ordered batch of calls executed atomically by the owner Safe. /// Ordering constraints: /// - Proxy upgrades must precede any call that depends on new impl logic. /// - The AnchorStateRegistry reinitializer runs before `setImplementation`, but this is /// still safe because the batch executes atomically and no external caller can observe /// the intermediate state where the respected game type has been updated before the /// new DisputeGameFactory implementation is registered. /// - `updateRetirementTimestamp` retires old games after all wiring is done. /// /// Note: TEEProverRegistry and DelayedWETH proxies are already initialized at deploy /// time (in DeployMultiproofStack) and do not require wiring in this batch. /// /// Call summary: /// 0. Upgrade OptimismPortal2 proxy. /// 1. Upgrade DisputeGameFactory proxy. /// 2. Upgrade + reinitialize AnchorStateRegistry proxy (sets respectedGameType). /// 3. Register AggregateVerifier in the DisputeGameFactory. /// 4. Set the init bond for the multiproof game type. /// 5. Retire pre-cutover games. function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](6); // 0. Upgrade the OptimismPortal2 proxy to the new implementation. calls[0] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall(IProxyAdmin.upgrade, (optimismPortalEnv, newOptimismPortalImpl)), value: 0 }); // 1. Upgrade the DisputeGameFactory proxy to the new implementation. calls[1] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall(IProxyAdmin.upgrade, (disputeGameFactoryProxyEnv, newDgfImpl)), value: 0 }); // 2. Upgrade the AnchorStateRegistry proxy and reinitialize to seed the starting anchor root, // wire the DGF dependency, and set the respected game type. calls[2] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, ( anchorStateRegistryProxyEnv, newAsrImpl, abi.encodeCall( AnchorStateRegistry.initialize, ( ISystemConfig(systemConfigEnv), IDisputeGameFactory(disputeGameFactoryProxyEnv), Proposal({ root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv }), GameType.wrap(gameTypeEnv) ) ) ) ), value: 0 }); // 3. Register the newly deployed AggregateVerifier as the implementation for the configured multiproof // game type in the DisputeGameFactory. calls[3] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall( IDisputeGameFactoryAdmin.setImplementation, (GameType.wrap(gameTypeEnv), newAggregateVerifier, "") ), value: 0 }); // 4. Set the init bond required to create games of the new multiproof type. calls[4] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactoryAdmin.setInitBond, (GameType.wrap(gameTypeEnv), initBondEnv)), value: 0 }); // 5. Retire any pre-cutover games so older disputes cannot remain respected // after the new multiproof configuration is activated. calls[5] = Call({ operation: Enum.Operation.Call, target: anchorStateRegistryProxyEnv, data: abi.encodeCall(AnchorStateRegistry.updateRetirementTimestamp, ()), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { _checkProxyUpgrades(); _checkAnchorStateRegistry(); _checkTeeProverRegistryProxy(); _checkDelayedWethProxy(); _checkDisputeGameFactory(); } /// @dev Validates that every existing L1 proxy now points to its new implementation. /// 1. Check that OptimismPortal2 proxy implementation equals the deployed impl. /// 2. Check that DisputeGameFactory proxy implementation equals the deployed impl. /// 3. Check that AnchorStateRegistry proxy implementation equals the deployed impl. function _checkProxyUpgrades() internal { vm.prank(proxyAdminEnv); require(IProxy(optimismPortalEnv).implementation() == newOptimismPortalImpl, "portal impl mismatch"); vm.prank(proxyAdminEnv); require(IProxy(disputeGameFactoryProxyEnv).implementation() == newDgfImpl, "dgf impl mismatch"); vm.prank(proxyAdminEnv); require(IProxy(anchorStateRegistryProxyEnv).implementation() == newAsrImpl, "asr impl mismatch"); } /// @dev Validates the AnchorStateRegistry reinitialization and cutover state. /// 1. Check that systemConfig matches the .env value. /// 2. Check that disputeGameFactory matches the .env value. /// 3. Check that startingAnchorRoot matches the .env value. /// 4. Check that the starting L2 sequence number matches the .env value. /// 5. Check that respectedGameType is set to the multiproof game type. /// 6. Check that retirementTimestamp equals block.timestamp. /// 7. Check that OptimismPortal2 still references this ASR proxy. function _checkAnchorStateRegistry() internal view { AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv); require(address(asr.systemConfig()) == systemConfigEnv, "asr system config mismatch"); require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, "asr dgf mismatch"); Proposal memory startingAnchor = asr.getStartingAnchorRoot(); require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, "anchor root mismatch"); require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, "anchor block mismatch"); require(GameType.unwrap(asr.respectedGameType()) == gameTypeEnv, "respected game type mismatch"); require(asr.retirementTimestamp() == uint64(block.timestamp), "retirement timestamp mismatch"); require( address(OptimismPortal2(payable(optimismPortalEnv)).anchorStateRegistry()) == anchorStateRegistryProxyEnv, "portal asr mismatch" ); } /// @dev Validates the TEEProverRegistry proxy (initialized at deploy time in DeployMultiproofStack). /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER. /// 3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER. /// 4. Check that gameType is set to the multiproof game type. /// 5. Check that PROPOSER is flagged as valid. /// 6. Check that the challenger is flagged as valid. function _checkTeeProverRegistryProxy() internal { vm.prank(proxyAdminEnv); require( IProxy(newTeeProverRegistryProxy).implementation() == newTeeProverRegistryImpl, "tee registry impl mismatch" ); TEEProverRegistry registry = TEEProverRegistry(newTeeProverRegistryProxy); require(registry.owner() == teeProverRegistryOwnerEnv, "tee registry owner mismatch"); require(registry.manager() == teeProverRegistryManagerEnv, "tee registry manager mismatch"); require(GameType.unwrap(registry.gameType()) == gameTypeEnv, "tee registry game type mismatch"); require(registry.isValidProposer(proposerEnv), "tee registry proposer mismatch"); require(registry.isValidProposer(challengerEnv), "tee registry challenger mismatch"); } /// @dev Validates the DelayedWETH proxy (initialized at deploy time in DeployMultiproofStack). /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that systemConfig is initialized to the existing SystemConfig. function _checkDelayedWethProxy() internal { vm.prank(proxyAdminEnv); require(IProxy(newDelayedWethProxy).implementation() == newDelayedWethImpl, "delayed weth impl mismatch"); require( address(DelayedWETH(payable(newDelayedWethProxy)).systemConfig()) == systemConfigEnv, "delayed weth systemConfig mismatch" ); } /// @dev Validates the DisputeGameFactory configuration for the new multiproof game type. /// 1. Check that the game implementation is set to the deployed AggregateVerifier. /// 2. Check that the init bond matches the .env value. function _checkDisputeGameFactory() internal view { IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv); require(dgf.gameImpls(GameType.wrap(gameTypeEnv)) == newAggregateVerifier, "game impl mismatch"); require(dgf.initBonds(GameType.wrap(gameTypeEnv)) == initBondEnv, "init bond mismatch"); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/script/DeployMultiproofStack.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {INitroEnclaveVerifier} from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {DelayedWETH} from "@base-contracts/src/dispute/DelayedWETH.sol"; import {DisputeGameFactory} from "@base-contracts/src/dispute/DisputeGameFactory.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; import {OptimismPortal2} from "@base-contracts/src/L1/OptimismPortal2.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {MockVerifier} from "@base-contracts/src/multiproof/mocks/MockVerifier.sol"; import {Proxy} from "@base-contracts/src/universal/Proxy.sol"; interface IProxy { function implementation() external view returns (address); } contract DeployMultiproofStack is Script { // Existing L1 dependencies consumed by the deploy. address internal l1ProxyAdminEnv; address internal anchorStateRegistryProxyEnv; address internal disputeGameFactoryProxyEnv; // Multiproof identity and chain-level parameters. uint32 internal gameTypeEnv; bytes32 internal teeImageHashEnv; bytes32 internal zkRangeHashEnv; bytes32 internal zkAggregateHashEnv; bytes32 internal configHashEnv; uint256 internal l2ChainIdEnv; uint256 internal blockIntervalEnv; uint256 internal intermediateBlockIntervalEnv; uint256 internal proofThresholdEnv; // Delay / timing parameters for the newly deployed implementations. uint256 internal proofMaturityDelaySecondsEnv; uint256 internal disputeGameFinalityDelaySecondsEnv; uint256 internal delayedWethDelaySecondsEnv; // Proxy initialization parameters (TEEProverRegistry + DelayedWETH). address internal systemConfigEnv; address internal teeProverRegistryOwnerEnv; address internal teeProverRegistryManagerEnv; address internal proposerEnv; address internal challengerEnv; // Predeployed RISC Zero / Nitro contracts consumed by this task. address public nitroEnclaveVerifier; // Freshly deployed contracts / implementations produced by this task. address public teeProverRegistryImpl; address public teeProverRegistryProxy; address public teeVerifier; address public delayedWethImpl; address public delayedWethProxy; address public aggregateVerifier; address public optimismPortal2Impl; address public disputeGameFactoryImpl; address public anchorStateRegistryImpl; function setUp() public { // Existing L1 dependencies consumed by the deploy. l1ProxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); // Multiproof identity and chain-level parameters. gameTypeEnv = uint32(vm.envUint("GAME_TYPE")); teeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); zkAggregateHashEnv = vm.envBytes32("ZK_AGGREGATE_HASH"); configHashEnv = vm.envBytes32("CONFIG_HASH"); l2ChainIdEnv = vm.envUint("L2_CHAIN_ID"); blockIntervalEnv = vm.envUint("BLOCK_INTERVAL"); intermediateBlockIntervalEnv = vm.envUint("INTERMEDIATE_BLOCK_INTERVAL"); proofThresholdEnv = vm.envUint("PROOF_THRESHOLD"); // Delay / timing parameters for the newly deployed implementations. proofMaturityDelaySecondsEnv = vm.envUint("PROOF_MATURITY_DELAY_SECONDS"); disputeGameFinalityDelaySecondsEnv = vm.envUint("DISPUTE_GAME_FINALITY_DELAY_SECONDS"); delayedWethDelaySecondsEnv = vm.envUint("DELAYED_WETH_DELAY_SECONDS"); // Proxy initialization parameters (TEEProverRegistry + DelayedWETH). systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); teeProverRegistryManagerEnv = vm.envAddress("TEE_PROVER_REGISTRY_MANAGER"); proposerEnv = vm.envAddress("PROPOSER"); challengerEnv = vm.envAddress("CHALLENGER"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); } function run() external { vm.startBroadcast(); // 0. Deploy the TEE prover registry implementation. teeProverRegistryImpl = address( new TEEProverRegistry({ nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier), factory: IDisputeGameFactory(disputeGameFactoryProxyEnv) }) ); // 1. Deploy the DelayedWETH implementation. delayedWethImpl = address(new DelayedWETH({_delay: delayedWethDelaySecondsEnv})); // 2. Deploy proxies with msg.sender as admin, initialize immediately, // then transfer admin to the real ProxyAdmin. { // 2a. TEEProverRegistry proxy: deploy, upgradeToAndCall to initialize // with the configured owner/manager/proposers/gameType, then hand // the proxy admin to the real ProxyAdmin. address[] memory initialProposers = new address[](2); initialProposers[0] = proposerEnv; initialProposers[1] = challengerEnv; Proxy teeProxy = new Proxy(msg.sender); teeProxy.upgradeToAndCall( teeProverRegistryImpl, abi.encodeCall( TEEProverRegistry.initialize, ( teeProverRegistryOwnerEnv, teeProverRegistryManagerEnv, initialProposers, GameType.wrap(gameTypeEnv) ) ) ); teeProxy.changeAdmin(l1ProxyAdminEnv); teeProverRegistryProxy = address(teeProxy); // 2b. DelayedWETH proxy: deploy, upgradeToAndCall to initialize with // the existing SystemConfig, then hand the proxy admin to the real // ProxyAdmin. Proxy wethProxy = new Proxy(msg.sender); wethProxy.upgradeToAndCall( delayedWethImpl, abi.encodeCall(DelayedWETH.initialize, (ISystemConfig(systemConfigEnv))) ); wethProxy.changeAdmin(l1ProxyAdminEnv); delayedWethProxy = address(wethProxy); } // 3. Deploy the stateless TEE verifier. teeVerifier = address( new TEEVerifier({ teeProverRegistry: TEEProverRegistry(teeProverRegistryProxy), anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv) }) ); // 4. Deploy the multiproof AggregateVerifier template with the ZK path disabled // (zkVerifier = address(0)). aggregateVerifier = address( new AggregateVerifier({ gameType_: GameType.wrap(gameTypeEnv), anchorStateRegistry_: IAnchorStateRegistry(anchorStateRegistryProxyEnv), delayedWETH: IDelayedWETH(payable(delayedWethProxy)), teeVerifier: TEEVerifier(teeVerifier), zkVerifier: MockVerifier(address(0)), teeImageHash: teeImageHashEnv, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}), configHash: configHashEnv, l2ChainId: l2ChainIdEnv, blockInterval: blockIntervalEnv, intermediateBlockInterval: intermediateBlockIntervalEnv, proofThreshold: proofThresholdEnv }) ); // 5. Deploy the new implementations for existing L1 proxies. optimismPortal2Impl = address(new OptimismPortal2({_proofMaturityDelaySeconds: proofMaturityDelaySecondsEnv})); disputeGameFactoryImpl = address(new DisputeGameFactory()); anchorStateRegistryImpl = address(new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: disputeGameFinalityDelaySecondsEnv})); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal { _checkTeeProverRegistryImpl(); _checkTeeProverRegistryProxy(); _checkTeeVerifier(); _checkDelayedWethImpl(); _checkDelayedWethProxy(); _checkAggregateVerifier(); _checkUpgradeTargetImpls(); } /// @dev Validates the TEEProverRegistry **implementation** contract. /// 1. Check that NITRO_VERIFIER points to the deployed NitroEnclaveVerifier. /// 2. Check that DISPUTE_GAME_FACTORY points to the existing DGF proxy. function _checkTeeProverRegistryImpl() internal view { TEEProverRegistry impl = TEEProverRegistry(teeProverRegistryImpl); require(address(impl.NITRO_VERIFIER()) == nitroEnclaveVerifier, "registry nitro verifier mismatch"); require(address(impl.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, "registry dgf mismatch"); } /// @dev Validates the TEEProverRegistry proxy after upgradeToAndCall. /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER. /// 3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER. /// 4. Check that gameType is set to the multiproof game type. /// 5. Check that PROPOSER is flagged as valid. /// 6. Check that CHALLENGER is flagged as valid. function _checkTeeProverRegistryProxy() internal { vm.prank(l1ProxyAdminEnv); require(IProxy(teeProverRegistryProxy).implementation() == teeProverRegistryImpl, "tee registry impl mismatch"); TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryProxy); require(registry.owner() == teeProverRegistryOwnerEnv, "tee registry owner mismatch"); require(registry.manager() == teeProverRegistryManagerEnv, "tee registry manager mismatch"); require(GameType.unwrap(registry.gameType()) == gameTypeEnv, "tee registry game type mismatch"); require(registry.isValidProposer(proposerEnv), "tee registry proposer mismatch"); require(registry.isValidProposer(challengerEnv), "tee registry challenger mismatch"); } /// @dev Validates the TEEVerifier contract. This is a stateless verifier whose /// immutables must reference the correct registry proxy and ASR proxy. /// 1. Check that TEE_PROVER_REGISTRY points to the deployed TEEProverRegistry proxy. /// 2. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy. function _checkTeeVerifier() internal view { require( address(TEEVerifier(teeVerifier).TEE_PROVER_REGISTRY()) == teeProverRegistryProxy, "tee verifier registry mismatch" ); require( address(TEEVerifier(teeVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv, "tee verifier asr mismatch" ); } /// @dev Validates the DelayedWETH **implementation** contract. /// 1. Check that delay matches DELAYED_WETH_DELAY_SECONDS. function _checkDelayedWethImpl() internal view { require( DelayedWETH(payable(delayedWethImpl)).delay() == delayedWethDelaySecondsEnv, "delayed weth delay mismatch" ); } /// @dev Validates the DelayedWETH proxy after upgradeToAndCall. /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that systemConfig is initialized to the existing SystemConfig. function _checkDelayedWethProxy() internal { vm.prank(l1ProxyAdminEnv); require(IProxy(delayedWethProxy).implementation() == delayedWethImpl, "delayed weth impl mismatch"); require( address(DelayedWETH(payable(delayedWethProxy)).systemConfig()) == systemConfigEnv, "delayed weth systemConfig mismatch" ); } /// @dev Validates the AggregateVerifier template that the DisputeGameFactory will clone for new games. /// 1. Check that gameType matches the .env value. /// 2. Check that anchorStateRegistry points to the existing ASR proxy. /// 3. Check that DISPUTE_GAME_FACTORY is derived from the ASR's disputeGameFactory(). /// 4. Check that DELAYED_WETH points to the deployed DelayedWETH proxy. /// 5. Check that TEE_VERIFIER points to the deployed TEEVerifier. /// 6. Check that ZK_VERIFIER is the zero address (ZK path intentionally disabled). /// 7. Check that TEE_IMAGE_HASH matches the .env value. /// 8. Check that ZK_RANGE_HASH matches the .env value. /// 9. Check that ZK_AGGREGATE_HASH matches the .env value. /// 10. Check that CONFIG_HASH matches the .env value. /// 11. Check that L2_CHAIN_ID matches the .env value. /// 12. Check that BLOCK_INTERVAL matches the .env value. /// 13. Check that INTERMEDIATE_BLOCK_INTERVAL matches the .env value. /// 14. Check that PROOF_THRESHOLD matches the .env value. function _checkAggregateVerifier() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == gameTypeEnv, "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == anchorStateRegistryProxyEnv, "aggregate asr mismatch"); require(address(av.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, "aggregate dgf mismatch"); require(address(av.DELAYED_WETH()) == delayedWethProxy, "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == teeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == address(0), "aggregate zk verifier not disabled"); require(av.TEE_IMAGE_HASH() == teeImageHashEnv, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHashEnv, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == configHashEnv, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == l2ChainIdEnv, "aggregate l2 chain mismatch"); require(av.BLOCK_INTERVAL() == blockIntervalEnv, "aggregate block interval mismatch"); require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockIntervalEnv, "aggregate intermediate mismatch"); require(av.PROOF_THRESHOLD() == proofThresholdEnv, "aggregate proof threshold mismatch"); } /// @dev Validates the new implementations for the existing L1 proxies. /// 1. Check that OptimismPortal2 proofMaturityDelaySeconds matches the .env value. /// 2. Check that AnchorStateRegistry disputeGameFinalityDelaySeconds matches the .env value. function _checkUpgradeTargetImpls() internal view { require( OptimismPortal2(payable(optimismPortal2Impl)).proofMaturityDelaySeconds() == proofMaturityDelaySecondsEnv, "portal delay mismatch" ); require( AnchorStateRegistry(anchorStateRegistryImpl).disputeGameFinalityDelaySeconds() == disputeGameFinalityDelaySecondsEnv, "asr finality delay mismatch" ); } function _writeAddresses() internal { // Emit addresses for operator visibility and persist them for the activation script. console.log("NitroEnclaveVerifier:", nitroEnclaveVerifier); console.log("TEEProverRegistry impl:", teeProverRegistryImpl); console.log("TEEProverRegistry proxy:", teeProverRegistryProxy); console.log("TEEVerifier:", teeVerifier); console.log("ZKVerifier: disabled (address(0))"); console.log("DelayedWETH impl:", delayedWethImpl); console.log("DelayedWETH proxy:", delayedWethProxy); console.log("AggregateVerifier:", aggregateVerifier); console.log("OptimismPortal2 impl:", optimismPortal2Impl); console.log("DisputeGameFactory impl (no init bump required):", disputeGameFactoryImpl); console.log("AnchorStateRegistry impl:", anchorStateRegistryImpl); _writeAddress({key: "nitroEnclaveVerifier", value: nitroEnclaveVerifier}); _writeAddress({key: "teeProverRegistryImpl", value: teeProverRegistryImpl}); _writeAddress({key: "teeProverRegistryProxy", value: teeProverRegistryProxy}); _writeAddress({key: "teeVerifier", value: teeVerifier}); _writeAddress({key: "delayedWETHImpl", value: delayedWethImpl}); _writeAddress({key: "delayedWETHProxy", value: delayedWethProxy}); _writeAddress({key: "aggregateVerifier", value: aggregateVerifier}); _writeAddress({key: "optimismPortal2Impl", value: optimismPortal2Impl}); _writeAddress({key: "disputeGameFactoryImpl", value: disputeGameFactoryImpl}); _writeAddress({key: "anchorStateRegistryImpl", value: anchorStateRegistryImpl}); } function _writeAddress(string memory key, address value) internal { vm.writeJson({json: vm.toString(value), path: "addresses.json", valueKey: string.concat(".", key)}); } } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/script/DeployNitroVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Script, console} from "forge-std/Script.sol"; import { INitroEnclaveVerifier, ZkCoProcessorConfig, ZkCoProcessorType } from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from "lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; contract DeployNitroVerifier is Script { address internal teeProverRegistryOwnerEnv; address internal nitroRevokerEnv; uint64 internal nitroInitialMaxTimeDiffSecondsEnv; bytes32 internal nitroInitialRootCertEnv; address internal riscZeroVerifierRouterEnv; address internal riscZeroSetVerifierEnv; bytes32 internal riscZeroSetBuilderImageIdEnv; bytes32 internal nitroZkVerifierIdEnv; address public riscZeroSetVerifier; address public nitroEnclaveVerifier; function setUp() public { teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); nitroRevokerEnv = vm.envAddress("NITRO_REVOKER"); nitroInitialMaxTimeDiffSecondsEnv = uint64(vm.envUint("NITRO_INITIAL_MAX_TIME_DIFF_SECONDS")); nitroInitialRootCertEnv = vm.envBytes32("NITRO_INITIAL_ROOT_CERT"); riscZeroVerifierRouterEnv = vm.envAddress("RISC0_VERIFIER_ROUTER"); riscZeroSetVerifierEnv = vm.envAddress("RISC0_SET_VERIFIER"); riscZeroSetBuilderImageIdEnv = vm.envBytes32("RISC0_SET_BUILDER_IMAGE_ID"); nitroZkVerifierIdEnv = vm.envBytes32("NITRO_ZK_VERIFIER_ID"); } function run() external { bytes32[] memory trustedCerts = new bytes32[](0); uint64[] memory trustedCertExpiries = new uint64[](0); riscZeroSetVerifier = riscZeroSetVerifierEnv; vm.startBroadcast(); nitroEnclaveVerifier = address( new NitroEnclaveVerifier({ owner: msg.sender, initialMaxTimeDiff: nitroInitialMaxTimeDiffSecondsEnv, initializeTrustedCerts: trustedCerts, initializeTrustedCertExpiries: trustedCertExpiries, initialRootCert: nitroInitialRootCertEnv, initialProofSubmitter: teeProverRegistryOwnerEnv, initialRevoker: nitroRevokerEnv, zkCoProcessor: ZkCoProcessorType.RiscZero, config: ZkCoProcessorConfig({ verifierId: nitroZkVerifierIdEnv, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouterEnv }), verifierProofId: bytes32(0) }) ); // Wire the selector-specific route that sends RISC Zero set-inclusion proofs // to the predeployed Sepolia RiscZeroSetVerifier. Ownership is retained by // msg.sender so that SetupNitroEnclaveVerifier can call setProofSubmitter // after the TEEProverRegistry proxy is deployed, then transfer ownership // to the multisig. NitroEnclaveVerifier(nitroEnclaveVerifier) .addVerifyRoute( ZkCoProcessorType.RiscZero, RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv), riscZeroSetVerifier ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { _checkRiscZeroSetVerifier(); _checkNitroEnclaveVerifier(); } /// @dev Validates the configured Sepolia RISC Zero set verifier. /// 1. Check that VERIFIER points to the configured external router. /// 2. Check that SELECTOR matches the configured set-builder image ID. function _checkRiscZeroSetVerifier() internal view { RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouterEnv, "set verifier router mismatch"); require(setVerifier.SELECTOR() == setVerifierSelector, "set verifier selector mismatch"); } /// @dev Validates the NitroEnclaveVerifier deployment after route wiring. /// Ownership remains with the deployer (msg.sender) at this stage; it will be /// transferred to TEE_PROVER_REGISTRY_OWNER in SetupNitroEnclaveVerifier after /// setProofSubmitter is called. /// 1. Check that maxTimeDiff matches NITRO_INITIAL_MAX_TIME_DIFF_SECONDS. /// 2. Check that rootCert matches NITRO_INITIAL_ROOT_CERT. /// 3. Check that proofSubmitter is the temporary owner placeholder. /// 4. Check that the default RISC Zero config points at the external router /// and configured Nitro verifier image ID. /// 5. Check that the verifier proof ID is zero for the default route. /// 6. Check that the set-verifier selector route now points to the configured /// Sepolia RiscZeroSetVerifier (wired via addVerifyRoute at deploy time). function _checkNitroEnclaveVerifier() internal view { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(nev.maxTimeDiff() == nitroInitialMaxTimeDiffSecondsEnv, "nitro max time diff mismatch"); require(nev.rootCert() == nitroInitialRootCertEnv, "nitro root cert mismatch"); require(nev.proofSubmitter() == teeProverRegistryOwnerEnv, "nitro placeholder submitter mismatch"); require(nev.revoker() == nitroRevokerEnv, "nitro revoker mismatch"); ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero); require(cfg.verifierId == nitroZkVerifierIdEnv, "nitro verifier id mismatch"); require(cfg.aggregatorId == bytes32(0), "nitro aggregator id mismatch"); require(cfg.zkVerifier == riscZeroVerifierRouterEnv, "nitro router mismatch"); require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), "nitro verifier proof id mismatch"); require( INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector) == riscZeroSetVerifier, "nitro set-verifier route mismatch" ); } function _writeAddresses() internal { console.log("NitroEnclaveVerifier:", nitroEnclaveVerifier); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "nitroEnclaveVerifier", value: nitroEnclaveVerifier}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/script/SetupNitroEnclaveVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Script} from "forge-std/Script.sol"; import {INitroEnclaveVerifier, ZkCoProcessorType} from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {RiscZeroSetVerifierLib} from "lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; /// @title SetupNitroEnclaveVerifier /// @notice Executed by the deployer EOA (via Ledger) after DeployMultiproofStack has deployed /// the TEEProverRegistry proxy. Sets the proof submitter to the TEEProverRegistry proxy /// and transfers NitroEnclaveVerifier ownership to the configured multisig owner. contract SetupNitroEnclaveVerifier is Script { address internal teeProverRegistryOwnerEnv; bytes32 internal riscZeroSetBuilderImageIdEnv; address internal riscZeroSetVerifierEnv; address internal nitroEnclaveVerifier; address internal teeProverRegistryProxy; function setUp() public { teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); riscZeroSetBuilderImageIdEnv = vm.envBytes32("RISC0_SET_BUILDER_IMAGE_ID"); riscZeroSetVerifierEnv = vm.envAddress("RISC0_SET_VERIFIER"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); teeProverRegistryProxy = vm.parseJsonAddress({json: json, key: ".teeProverRegistryProxy"}); } function run() external { vm.startBroadcast(); // 0. Set the proof submitter to the TEEProverRegistry proxy so the registry // can submit proofs to the NitroEnclaveVerifier. NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxy); // 1. Transfer ownership to the configured multisig owner now that all // deployer-only configuration is complete. NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv); vm.stopBroadcast(); _postCheck(); } function _postCheck() internal view { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(nev.owner() == teeProverRegistryOwnerEnv, "nitro owner mismatch"); require(nev.proofSubmitter() == teeProverRegistryProxy, "nitro proof submitter mismatch"); require( INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector) == riscZeroSetVerifierEnv, "nitro set-verifier route mismatch" ); } } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/validations/multiproof-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", "messageHash": "0xd8844409acac8f6b7007aab74a4a665700c84fe4feda0c7e13225f202f95d67d" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xdb4efef7ae91cd5408dc10293ce6ca932989186f58f8785fc38eb809cdd4ea76", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000020", "after": "0x0000000000000000000000000000000000000000000000000000000000000021", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x8240e4b0c8163a8556fd79c8ca3da05d3c071c2ac132d610f09e2d2db35ccfd8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the CB Coordinator Safe approval on the Proxy Admin Owner Safe.", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Sepolia", "address": "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001", "after": "0x00000000000000000000f272670eb55e895584501d564afeb048bed261940002", "description": "Runs the AnchorStateRegistry reinitializer for the multiproof cutover.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000002", "before": "0x00000000000000000000000053a1173f18669c74ea1992883a2772244dfee509", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Clears the cached anchor game address as part of the AnchorStateRegistry reinitialization.", "allowDifference": true }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a", "after": "0x6c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c77", "description": "Sets the starting anchor root for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000001da8458", "after": "0x0000000000000000000000000000000000000000000000000000000002670bcf", "description": "Sets the starting anchor L2 block number for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "before": "0x00000000000000000000000000000000000000000000000068d1a52c00000000", "after": "0x00000000000000000000000000000000000000000000000069e177e80000026d", "description": "Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.", "allowDifference": true }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "after": "0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "after": "0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000011", "after": "0x0000000000000000000000000000000000000000000000000000000000000012", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000498313fb340cd5055c5568546364008299a47517", "description": "Updates the multiproof game implementation to the new AggregateVerifier.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "after": "0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", "description": "Sets the init bond for the multiproof game type.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-04-20-activate-multiproof/validations/multiproof-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x6a25359cb62b20c5cb51001d3291af41b53b63325b650b30c3498d9ac2f16824" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0xbe43addcf61a5a2d25a6759a8af71d03ccee673b98bce5dee971d65e563d445b", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000020", "after": "0x0000000000000000000000000000000000000000000000000000000000000021", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x5b1f3c69dac098ebab8b347ee906c2e9f2188378041827080d316b72dbfc6e5e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the Mock Security Council Safe approval on the Proxy Admin Owner Safe.", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Sepolia", "address": "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000f272670eb55e895584501d564afeb048bed261940001", "after": "0x00000000000000000000f272670eb55e895584501d564afeb048bed261940002", "description": "Runs the AnchorStateRegistry reinitializer for the multiproof cutover.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000002", "before": "0x00000000000000000000000053a1173f18669c74ea1992883a2772244dfee509", "after": "0x0000000000000000000000000000000000000000000000000000000000000000", "description": "Clears the cached anchor game address as part of the AnchorStateRegistry reinitialization.", "allowDifference": true }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x10283d1a23d115b2de66adf6ae7e08f50f7c9c7808c3017d6160c853a385668a", "after": "0x6c452877ba18e43fecb2a10b5ce458c2da3097f2262f23361659979395208c77", "description": "Sets the starting anchor root for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000001da8458", "after": "0x0000000000000000000000000000000000000000000000000000000002670bcf", "description": "Sets the starting anchor L2 block number for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "before": "0x00000000000000000000000000000000000000000000000068d1a52c00000000", "after": "0x00000000000000000000000000000000000000000000000069e178900000026d", "description": "Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.", "allowDifference": true }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000036398155cd17cfe804f69b233edda800dd4d5aa5", "after": "0x000000000000000000000000b1cc9f8422042eda9eb36a408002517d7c772ac7", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Sepolia", "address": "0x49f53e41452C74589E85cA1677426Ba426459e85", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000097cebbf8959e2a5476fbe9b98a21806ec234609b", "after": "0x00000000000000000000000045fa7cffa725e238a46a35fde9f339b63fdedbdd", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001d", "after": "0x000000000000000000000000000000000000000000000000000000000000001e", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x000000000000000000000000498313fb340cd5055c5568546364008299a47517", "description": "Updates the multiproof game implementation to the new AggregateVerifier.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000c040f392e52cb6970ca8e110c280fe24e07c5e2c", "after": "0x000000000000000000000000e7f2e3c6286375c102e482c0aa2385d8baacac26", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", "description": "Sets the init bond for the multiproof game type.", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia/2026-04-23-update-zk-config/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete the EOA-authorized phase: ```bash cd contract-deployments git pull cd sepolia/2026-04-23-update-zk-config make deps make deploy-zk-verifier make deploy-aggregate-verifier ``` `make deploy-zk-verifier` runs `DeployZkVerifier`: - deploys the `ZkVerifier` used by this task - writes `zkVerifier` to `addresses.json` `make deploy-aggregate-verifier` runs `DeployAggregateVerifier`: - redeploys `AggregateVerifier` with the same immutables as the existing one, overriding `ZK_VERIFIER` and `ZK_RANGE_HASH` - writes `aggregateVerifier` to `addresses.json` Expected `addresses.json` keys: - `zkVerifier` - `aggregateVerifier` ## Generate validation files ```bash cd contract-deployments git pull cd sepolia/2026-04-23-update-zk-config make deps make gen-validation-update-zk-config-cb make gen-validation-update-zk-config-sc ``` This produces: - `validations/update-zk-config-cb-signer.json` - `validations/update-zk-config-sc-signer.json` ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd sepolia/2026-04-23-update-zk-config make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-update-zk-config-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-update-zk-config-sc ``` ### 4. Execute upgrade batch ```bash make execute-update-zk-config ``` Post-checks enforced by script: - `DisputeGameFactory.gameImpls(gameType)` equals the newly deployed `aggregateVerifier` - `zkVerifier.SP1_VERIFIER()` equals the configured `SP1_VERIFIER` - `aggregateVerifier.ZK_VERIFIER()` equals the newly deployed `zkVerifier` - `aggregateVerifier.TEE_IMAGE_HASH()` matches the live `AggregateVerifier` - `aggregateVerifier.ZK_RANGE_HASH()` equals the configured `ZK_RANGE_HASH` - `aggregateVerifier.ZK_AGGREGATE_HASH()` matches the live `AggregateVerifier` ================================================ FILE: sepolia/2026-04-23-update-zk-config/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) UPDATE_ZK_CONFIG_SCRIPT_NAME = script/UpdateZkConfig.s.sol:UpdateZkConfig UPDATE_ZK_CONFIG_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) UPDATE_ZK_CONFIG_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: deps deps: task-extra-deps .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment (EOA) ## .PHONY: deploy-zk-verifier deploy-zk-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployZkVerifier.s.sol:DeployZkVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) .PHONY: deploy-aggregate-verifier deploy-aggregate-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) ## # Update ZK config (multisig) ## .PHONY: gen-validation-update-zk-config-cb gen-validation-update-zk-config-cb: deps-signer-tool $(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(CB_MULTISIG),$(UPDATE_ZK_CONFIG_CB_SENDER),update-zk-config-cb-signer.json,) .PHONY: gen-validation-update-zk-config-sc gen-validation-update-zk-config-sc: deps-signer-tool $(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPDATE_ZK_CONFIG_SC_SENDER),update-zk-config-sc-signer.json,) .PHONY: approve-update-zk-config-cb approve-update-zk-config-cb: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) approve-update-zk-config-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-update-zk-config-sc approve-update-zk-config-sc: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) approve-update-zk-config-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-update-zk-config execute-update-zk-config: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) execute-update-zk-config: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia/2026-04-23-update-zk-config/README.md ================================================ # Update ZK Config Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8) ## Description This task updates the verifier configuration of the multiproof implementation on `sepolia`. - deploying a new `ZkVerifier` - redeploying `AggregateVerifier` with identical immutables, overriding `ZK_VERIFIER` and `ZK_RANGE_HASH` - pointing `DisputeGameFactory.gameImpls(gameType)` at the new `AggregateVerifier` ## Procedure ### Sign task #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: sepolia/2026-04-23-update-zk-config/addresses.json ================================================ { "zkVerifier": "0xF9780104117C0FaD3A9b1386FbF40a9F5857988A", "aggregateVerifier": "0xF3f0fA3124b7b0feB048A00404Fe4D5D49E60796" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/L1/=lib/contracts/src/L1/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/DeployAggregateVerifier.s.sol/11155111/run-1777030531899.json ================================================ { "transactions": [ { "hash": "0x473b5cac5984ebde2a95b2f88a57000a427ecb971af47bbd3c584aba6b305c5e", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0xf3f0fa3124b7b0feb048a00404fe4d5d49e60796", "function": null, "arguments": [ "621", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355", "0xD6e2d9D4f1f8865AC983eE848983fb1979429914", "0x92F6dD3501E51B8b20C77b959becaaebeB210e17", "0xF9780104117C0FaD3A9b1386FbF40a9F5857988A", "0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64", "(0x23081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c595464, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)", "0x12e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d1360", "84532", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3aea17", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220d3b5eb91dc16da011f56c371afbf1e187d3c2d1be76f5787e8a077c8c330b93764736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355000000000000000000000000d6e2d9d4f1f8865ac983ee848983fb197942991400000000000000000000000092f6dd3501e51b8b20c77b959becaaebeb210e17000000000000000000000000f9780104117c0fad3a9b1386fbf40a9f5857988a11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6423081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c5954640020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d712e9c45f19f9817c6d4385fad29e7a70c355502cf0883e76a9a7e478a85d13600000000000000000000000000000000000000000000000000000000000014a340000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x39", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1a24e26", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x473b5cac5984ebde2a95b2f88a57000a427ecb971af47bbd3c584aba6b305c5e", "transactionIndex": "0x62", "blockHash": "0xd6bb4525cb27cd314f04e1f8dfd23bcada6c7d665049f0d2993c51d4f4231460", "blockNumber": "0xa39d7a", "gasUsed": "0x2d519c", "effectiveGasPrice": "0x2491f86c", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xf3f0fa3124b7b0feb048a00404fe4d5d49e60796" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777030531899, "chain": 11155111, "commit": "6563fb4" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/DeployZkVerifier.s.sol/11155111/run-1777030330468.json ================================================ { "transactions": [ { "hash": "0x3b96d60835bf5b51ba2ca33169ccdf9b827ac1aa440ecc8352c112f3eafb7931", "transactionType": "CREATE", "contractName": "ZkVerifier", "contractAddress": "0xf9780104117c0fad3a9b1386fbf40a9f5857988a", "function": null, "arguments": [ "0x397A5f7f3dBd538f23DE225B51f532c34448dA9B", "0x2fF5cC82dBf333Ea30D8ee462178ab1707315355" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x6a3b8", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b506040516105de3803806105de83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161050e6100d06000396000818160db015261015e015260008181609c0152818161021f01526102ae015261050e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806354fd4d50146100675780635e02132e1461009757806378dbfee1146100d6578063ab750e75146100fd578063ece20f3614610120578063f9df65eb1461012a575b600080fd5b60408051808201825260058152640302e312e360dc1b6020820152905161008e91906103d0565b60405180910390f35b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008e565b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b61011061010b3660046103ea565b610137565b604051901515815260200161008e565b61012861020a565b005b6000546101109060ff1681565b6000805460ff161561015c57604051632f3cfa1960e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166341493c60848460405160200161019f91815260200190565b60405160208183030381529060405288886040518563ffffffff1660e01b81526004016101cf9493929190610469565b60006040518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b50600198975050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906104b6565b158061032357506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906104b6565b155b1561034157604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000815180845260005b818110156103a95760208185018101518683018201520161038d565b818111156103bb576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103e36020830184610383565b9392505050565b6000806000806060858703121561040057600080fd5b843567ffffffffffffffff8082111561041857600080fd5b818701915087601f83011261042c57600080fd5b81358181111561043b57600080fd5b88602082850101111561044d57600080fd5b6020928301999098509187013596604001359550909350505050565b8481526060602082015260006104826060830186610383565b8281036040840152838152838560208301376000602085830101526020601f19601f86011682010191505095945050505050565b6000602082840312156104c857600080fd5b815180151581146103e357600080fdfea2646970667358221220d6d9cb32e94723b42bd04390d4347617422fa76bd46d51b62e40b4deb5ffe29164736f6c634300080f0033000000000000000000000000397a5f7f3dbd538f23de225b51f532c34448da9b0000000000000000000000002ff5cc82dbf333ea30d8ee462178ab1707315355", "nonce": "0x38", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1495232", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x3b96d60835bf5b51ba2ca33169ccdf9b827ac1aa440ecc8352c112f3eafb7931", "transactionIndex": "0x4e", "blockHash": "0x0b37ebaccc8569c29efea8a3918576dc4a58bb3d3564677c114822f113f2b38a", "blockNumber": "0xa39d6c", "gasUsed": "0x51b7a", "effectiveGasPrice": "0x31c832e1", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xf9780104117c0fad3a9b1386fbf40a9f5857988a" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777030330468, "chain": 11155111, "commit": "6563fb4" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x212fb", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf70d16", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "blockTimestamp": "0x69eba5ec", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "logIndex": "0x18c", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x780338d148658b15230ecc1392481595fdd24c6cc33a56ea2fdf40a51dbacee60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "blockTimestamp": "0x69eba5ec", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "logIndex": "0x18d", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100200000000000000", "type": "0x2", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "gasUsed": "0x1806d", "effectiveGasPrice": "0x17f2563e", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777051117884, "chain": 11155111, "commit": "be35793" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051057133.json ================================================ { "transactions": [ { "hash": "0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xedd4efd56449e41d9c7a1af3c7a3c0d761cd89b132f2b6e26a422404b8884f6a69d8895989c5b0eb6951e77a93063c07ad4c408471ebd45b6e0bbaf35e57be1f1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e300", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041edd4efd56449e41d9c7a1af3c7a3c0d761cd89b132f2b6e26a422404b8884f6a69d8895989c5b0eb6951e77a93063c07ad4c408471ebd45b6e0bbaf35e57be1f1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3a", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x14c0f02", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae", "blockNumber": "0xa3a39a", "blockTimestamp": "0x69eba5b0", "transactionHash": "0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf", "transactionIndex": "0x64", "logIndex": "0x277", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xbab6324ffa0be98c572110e52638d7f53aa733966915ffb991f7c542cd475cf30000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae", "blockNumber": "0xa3a39a", "blockTimestamp": "0x69eba5b0", "transactionHash": "0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf", "transactionIndex": "0x64", "logIndex": "0x278", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000004000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014020000000000000000000000100200000008000000", "type": "0x2", "transactionHash": "0x9e1988f4572f67ba9e48518b507cfe13f2e27caf56e5691d6ed5158901d8eeaf", "transactionIndex": "0x64", "blockHash": "0x27487f0e2c783e6b779d094d7e56deadc436314a212cffb17c865b18dfa10dae", "blockNumber": "0xa3a39a", "gasUsed": "0x14a42", "effectiveGasPrice": "0x1870589c", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777051057133, "chain": 11155111, "commit": "be35793" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051117884.json ================================================ { "transactions": [ { "hash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9", "0", "0xd4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x212fb", "value": "0x0", "input": "0x6a7612020000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b4fc091ab5fe455393d1d8643c4995d71babb5e36b535121116fdc56f48101fa02c6466686a0f4fb5691a868ebbe04aa65cbe234c3a8b4fc0810f2e2454ea6c41bec62eed781beb7f81f9e0f4a16344bde0e15997412646c358dcb850bd0538382745022b4a92b62666ea36a38de66cbb43099eaafcb8f684509c0d5428110c42e1c37c9dca4d8d2c022c45caf51bdd463f410bca2685e1f88791d318b5a8a3c3dcc11804137061e03931f84110197e6822a66a0ceaf6290e2e71db89db29ae63abc1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x3b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf70d16", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de54529", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "blockTimestamp": "0x69eba5ec", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "logIndex": "0x18c", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x780338d148658b15230ecc1392481595fdd24c6cc33a56ea2fdf40a51dbacee60000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "blockTimestamp": "0x69eba5ec", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "logIndex": "0x18d", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000014000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000001004000020000000000000000000000000000000000000000200000000000000100200000000000000", "type": "0x2", "transactionHash": "0x10238d3156a3e6a29e96560c998c427dd12d891de229f5c464f8cda710ecbcf3", "transactionIndex": "0x59", "blockHash": "0x905d01451f6b878fbbd3acb0fed0b287b1267aea14aad61af4845a4373a8b944", "blockNumber": "0xa3a39f", "gasUsed": "0x1806d", "effectiveGasPrice": "0x17f2563e", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777051117884, "chain": 11155111, "commit": "be35793" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/records/UpdateZkConfig.s.sol/11155111/run-1777051382241.json ================================================ { "transactions": [ { "hash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "0", "0xb1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x1cda1", "value": "0x0", "input": "0x6a761202000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x10655fa", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000d6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e6079600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000021000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269", "blockNumber": "0xa3a3b3", "blockTimestamp": "0x69eba6f4", "transactionHash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionIndex": "0x55", "logIndex": "0x186", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269", "blockNumber": "0xa3a3b3", "blockTimestamp": "0x69eba6f4", "transactionHash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionIndex": "0x55", "logIndex": "0x187", "removed": false }, { "address": "0xd6e6dbf4f7ea0ac412fd8b65ed297e64bb7a06e1", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269", "blockNumber": "0xa3a3b3", "blockTimestamp": "0x69eba6f4", "transactionHash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionIndex": "0x55", "logIndex": "0x188", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x70fedc73f5c872b41a3cf4bf1f59440ac4437d389465851ffa77d8184de545290000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269", "blockNumber": "0xa3a3b3", "blockTimestamp": "0x69eba6f4", "transactionHash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionIndex": "0x55", "logIndex": "0x189", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000080044000000000000200000000000000000000000000000000000008000000000000048000000000000400000000000000000000004000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000008000000200000400800000000000000000000000000000000000000000000000000000000000400108000000000000004000000000000000000000000000000000000000000000000000080000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x58803e2584a615a2b2883d46152fba6364a392ef816a509057bcb795e51167c8", "transactionIndex": "0x55", "blockHash": "0x18a5fa127fb1bbf762e92d362f3ee624d3c8cc6ded10443c307570c9ec765269", "blockNumber": "0xa3a3b3", "gasUsed": "0x14e37", "effectiveGasPrice": "0x13dd2871", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1777051382241, "chain": 11155111, "commit": "be35793" } ================================================ FILE: sepolia/2026-04-23-update-zk-config/script/DeployAggregateVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {IVerifier} from "interfaces/multiproof/IVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; /// @notice Redeploys AggregateVerifier with a new verifier config. /// All other immutables are read on-chain from the existing AggregateVerifier to /// guarantee continuity. contract DeployAggregateVerifier is Script { // Task config from .env. address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; bytes32 internal zkRangeHashEnv; // Live multiproof implementation currently registered in the DGF. address internal currentAggregateVerifier; // Immutable constructor args copied from the live AggregateVerifier. GameType internal currentGameType; IAnchorStateRegistry internal currentAnchorStateRegistry; IDelayedWETH internal currentDelayedWeth; address internal currentTeeVerifier; bytes32 internal currentTeeImageHash; bytes32 internal currentZkAggregateHash; bytes32 internal currentConfigHash; uint256 internal currentL2ChainId; uint256 internal currentBlockInterval; uint256 internal currentIntermediateBlockInterval; uint256 internal currentProofThreshold; // Deployment input produced by DeployZkVerifier and read from addresses.json. address internal nextZkVerifier; // Deployment output written to addresses.json. address public aggregateVerifier; function setUp() public { disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv)); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); currentGameType = currentAggregate.gameType(); currentAnchorStateRegistry = currentAggregate.anchorStateRegistry(); currentDelayedWeth = currentAggregate.DELAYED_WETH(); currentTeeVerifier = address(currentAggregate.TEE_VERIFIER()); currentTeeImageHash = currentAggregate.TEE_IMAGE_HASH(); currentZkAggregateHash = currentAggregate.ZK_AGGREGATE_HASH(); currentConfigHash = currentAggregate.CONFIG_HASH(); currentL2ChainId = currentAggregate.L2_CHAIN_ID(); currentBlockInterval = currentAggregate.BLOCK_INTERVAL(); currentIntermediateBlockInterval = currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(); currentProofThreshold = currentAggregate.PROOF_THRESHOLD(); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nextZkVerifier = vm.parseJsonAddress({json: json, key: ".zkVerifier"}); require(nextZkVerifier != address(0), "next zk verifier not set"); require( address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAnchorStateRegistry), "next zk verifier asr mismatch" ); require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "next zk verifier sp1 mismatch"); } function run() external { vm.startBroadcast(); aggregateVerifier = address( new AggregateVerifier({ gameType_: currentGameType, anchorStateRegistry_: currentAnchorStateRegistry, delayedWETH: currentDelayedWeth, teeVerifier: TEEVerifier(currentTeeVerifier), zkVerifier: IVerifier(nextZkVerifier), teeImageHash: currentTeeImageHash, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: currentZkAggregateHash}), configHash: currentConfigHash, l2ChainId: currentL2ChainId, blockInterval: currentBlockInterval, intermediateBlockInterval: currentIntermediateBlockInterval, proofThreshold: currentProofThreshold }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == GameType.unwrap(currentGameType), "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == address(currentAnchorStateRegistry), "aggregate asr mismatch"); require( address(av.DISPUTE_GAME_FACTORY()) == address(currentAnchorStateRegistry.disputeGameFactory()), "aggregate dgf mismatch" ); require(address(av.DELAYED_WETH()) == address(currentDelayedWeth), "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == currentTeeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == nextZkVerifier, "aggregate zk verifier mismatch"); require(av.TEE_IMAGE_HASH() == currentTeeImageHash, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHashEnv, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == currentZkAggregateHash, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == currentConfigHash, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == currentL2ChainId, "aggregate l2 chain id mismatch"); require(av.BLOCK_INTERVAL() == currentBlockInterval, "aggregate block interval mismatch"); require( av.INTERMEDIATE_BLOCK_INTERVAL() == currentIntermediateBlockInterval, "aggregate intermediate interval mismatch" ); require(av.PROOF_THRESHOLD() == currentProofThreshold, "aggregate proof threshold mismatch"); } function _writeAddresses() internal { console.log("AggregateVerifier:", aggregateVerifier); vm.writeJson({json: vm.toString(aggregateVerifier), path: "addresses.json", valueKey: ".aggregateVerifier"}); } } ================================================ FILE: sepolia/2026-04-23-update-zk-config/script/DeployZkVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {ISP1Verifier} from "src/dispute/zk/ISP1Verifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; /// @notice Deploys the ZK verifier used by the multiproof AggregateVerifier. contract DeployZkVerifier is Script { // Task config from .env. address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; // Live multiproof implementation currently registered in the DGF. address internal currentAggregateVerifier; // Constructor args copied from the live AggregateVerifier. address internal currentAnchorStateRegistry; // Deployment output written to addresses.json. address public zkVerifier; function setUp() public { disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv)); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); currentAnchorStateRegistry = address(currentAggregate.anchorStateRegistry()); require(currentAnchorStateRegistry != address(0), "anchor state registry not found"); require(sp1VerifierEnv != address(0), "sp1 verifier not set"); } function run() external { vm.startBroadcast(); zkVerifier = address( new ZkVerifier({ sp1Verifier: ISP1Verifier(sp1VerifierEnv), anchorStateRegistry: IAnchorStateRegistry(currentAnchorStateRegistry) }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { require( address(ZkVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == currentAnchorStateRegistry, "zk verifier asr mismatch" ); require(address(ZkVerifier(zkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "zk verifier sp1 verifier mismatch"); } function _writeAddresses() internal { console.log("ZKVerifier:", zkVerifier); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "zkVerifier", value: zkVerifier}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: sepolia/2026-04-23-update-zk-config/script/UpdateZkConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; interface IDisputeGameFactoryAdmin { function owner() external view returns (address); function gameImpls(GameType gameType) external view returns (address); function setImplementation(GameType gameType, address impl, bytes calldata args) external; } /// @notice Updates the live multiproof implementation in the DisputeGameFactory to the newly /// deployed AggregateVerifier carrying the new verifier config. contract UpdateZkConfig is MultisigScript { // Task config from .env. address internal ownerSafeEnv; address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; bytes32 internal zkRangeHashEnv; // Live onchain state. address internal currentAggregateVerifier; address internal currentZkVerifier; // Deployment outputs produced by the EOA scripts and read from addresses.json. address internal nextAggregateVerifier; address internal nextZkVerifier; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); require(IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, "dgf owner mismatch"); currentAggregateVerifier = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); currentZkVerifier = address(currentAggregate.ZK_VERIFIER()); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nextAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); nextZkVerifier = vm.parseJsonAddress({json: json, key: ".zkVerifier"}); require(nextAggregateVerifier != address(0), "next aggregate verifier not set"); require(nextAggregateVerifier != currentAggregateVerifier, "next aggregate verifier equals current"); require(nextZkVerifier != address(0), "next zk verifier not set"); require(nextZkVerifier != currentZkVerifier, "next zk verifier equals current"); require(sp1VerifierEnv != address(0), "sp1 verifier not set"); require(zkRangeHashEnv != bytes32(0), "zk range hash not set"); _checkNextAggregate(currentAggregate, AggregateVerifier(nextAggregateVerifier)); _checkNextZkVerifier(currentAggregate); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); calls[0] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactoryAdmin.setImplementation, (gameTypeEnv, nextAggregateVerifier, "")), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require( IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv) == nextAggregateVerifier, "dgf aggregate verifier mismatch" ); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); _checkNextAggregate(currentAggregate, AggregateVerifier(nextAggregateVerifier)); _checkNextZkVerifier(currentAggregate); } function _checkNextAggregate(AggregateVerifier currentAggregate, AggregateVerifier nextAggregate) internal view { require(GameType.unwrap(nextAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "next game type mismatch"); require( address(nextAggregate.anchorStateRegistry()) == address(currentAggregate.anchorStateRegistry()), "next aggregate asr mismatch" ); require( address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()), "next aggregate dgf mismatch" ); require( address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()), "next aggregate delayed weth mismatch" ); require( address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()), "next aggregate tee verifier mismatch" ); require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, "next aggregate zk verifier mismatch"); require( nextAggregate.TEE_IMAGE_HASH() == currentAggregate.TEE_IMAGE_HASH(), "next aggregate tee image hash mismatch" ); require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, "next aggregate zk range hash mismatch"); require( nextAggregate.ZK_AGGREGATE_HASH() == currentAggregate.ZK_AGGREGATE_HASH(), "next aggregate zk aggregate hash mismatch" ); require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), "next aggregate config hash mismatch"); require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), "next aggregate l2 chain id mismatch"); require( nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(), "next aggregate block interval mismatch" ); require( nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(), "next aggregate intermediate interval mismatch" ); require( nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(), "next aggregate proof threshold mismatch" ); } function _checkNextZkVerifier(AggregateVerifier currentAggregate) internal view { require( address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAggregate.anchorStateRegistry()), "next zk verifier asr mismatch" ); require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "next zk verifier sp1 mismatch"); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: sepolia/2026-04-23-update-zk-config/validations/update-zk-config-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x1d3f2566fd7b1bf017258b03d4d4d435d326d9cb051d5b7993d7c65e7ec78d0e", "messageHash": "0x522bef0c8225ba05dbc59cbeb25f06f9eee17fa222e56defaa8116f0642dc42d" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x6d144c908c1ce7e0d41dac8dc95cbd06e45825a8ed09fb451a9a573a9da7bfbb", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000021", "after": "0x0000000000000000000000000000000000000000000000000000000000000022", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xe6e7dfef16f571b2c2678e9bad6c9a31528346fd9c37080c109ed7f42f2b0e48", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the CB Coordinator Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000012", "after": "0x0000000000000000000000000000000000000000000000000000000000000013", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000498313fb340cd5055c5568546364008299a47517", "after": "0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: sepolia/2026-04-23-update-zk-config/validations/update-zk-config-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0x176546f4227e77043480b37e004f51b3e14a95e307200fa16b26cf6e7e811575" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0x440d86aabc86e224badef6de2c5f3d7fe73b846e325b4f05ce2bedecd06e5dc0", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000021", "after": "0x0000000000000000000000000000000000000000000000000000000000000022", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x1c98fde58c60c440d6cc44476e8ea5155dc0b2e1c775a565cbd7da73a9d1883d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the Mock Security Council (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001e", "after": "0x000000000000000000000000000000000000000000000000000000000000001f", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "DisputeGameFactoryProxy - Sepolia", "address": "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000498313fb340cd5055c5568546364008299a47517", "after": "0x000000000000000000000000f3f0fa3124b7b0feb048a00404fe4d5d49e60796", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: sepolia/signatures/2026-02-19-superchain-separation/base-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEIzCCAgugAwIBAgIUTCgVLGyjHUonjuYBZsiQpGxeza4wDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcxMTE5WhcNMjYwMjI2MTcxMTE5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4gi2rDNaqFEufKNcul+orNGt/mT2x6iX5qKi7E6ZhKRYNd6snwKe+wYZUCM8DmUIRB7onLQmKZgLhr4atr41u5SzetnMAJsxCcaeWYhPBfHxswunPWXOVGnWh4SlDDTCjbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTYekftlBjE0R6Yvv4i6LG0Q8QnTjAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBbTiOzxixL54n7AhOgm8dqqVGq5+rpoORwTggzAFEMx2sJ2fxsqcoa0syLQQs2Lh9n++jfo8LaKu5Ne38pWJ2aDmbDH4wwwqMESpstK60IWUukD+ZlfTLcfHF7i4s/vesfpC7dhPUpvTgwFweI+LVVHFW2/UGAr9dadak94NUu9yt5UhF6CIu9xPk7x7vNpa1MBRRS3ToQSBu7NlZTgziM2Z5oniguxzZN2ydNPkS0S9scXTm33BSFNwOGbSmOKdosbhF8fYVyqgzSVVCt/g7qACIqbHwUxn3LFg2ZxvgskGPo3wtYJG8rNTNubjctWQDOYj0IfzSdoujEfHeVx+y2BxxZ8VXGcUVCB/5OMx/4Z1pNspN03wVfJci1Vzd7GCnkbrgq/9dGhnRyACxU4dameCQzb4OfIF04eHydFeTCWXL6wJKYoDIdJYb/SKI5QPCckyJMRqa1IEpV3xqT7RmkzGYHx7KsbIBE7ynwsmHJp9BndNX2OWYeEDMwGdIezcIP+hMRho9f+ItfkyYjk8DxCbc1oSa5fGT86l1ERiZgR6ARgNeIZHBsuyPX8a8iI9G1n5vSAQNOtY5/1Tivfj6zRAKa67hDYd9lJY/2aKo9dyMADtZujhswqpvQ9bIGnvH6ORPo8ixp1MfSj3bOD2chblmZo1boEKF6rJQOei48ng=="},{"rawBytes":"MIIGMDCCBBigAwIBAgIRALeOHLWKhDyHDYyCzTYAHeYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDE5MTRaFw0yNjA2MDUwMTE5MTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAor+siMvixv2b9eihIaq7VSAA4d7ex02MYsX5qfTgdk64jj0BTNMNFwm6XuP517mFNtENHWr0gGDKjKpWTSJh/SRWZoFXge5+GKbTjXJqJoY48sULd4dotBCEmpsxUymEVAY7MNXZ06H/VolaNXsEGanXJPFEsmsdnInUyKjVXww5eXNWM2wDDgcUBTmYMBVuRptC1jfWACN26voJIWGl7EBLPSISaKC24hzboHdt7Git05igy5w6xVQtYOG46cAkFxsxc+BXmVBOASau9dkrS1mk+vJ0C3icBb+pg8t/UJovNDdqhXbd6BtIMMyRwD2OT+cOn+ZMtw3GZyTPtCIUSC+48F3HArvtWfjhugbPoge8jLHv6w4PyUbEtRbSHr2Ok96uvmEY4zyvYAZPqrRGSvRSeCch4XFU4VnK/se+aHh5gRbFFrFnSUMH61Iij6x+R/RFCiQhlImiYBU57vB8pzNeu68mAsk166RL42uvhI4lPyleZZ+4Dml6qLEMu7Ir83tCILD7ZGu0vBeMDEPpYQj3iJ5mWmwmR0jqjmCek8Dp9Zd/ylttQWVnG5QIy/reFYPq8qzAE8cLgyw52Co0s6xNJJG147SSDLfXr9LeTTWqoaVDxFTXo3UijcvZRU4CM/eDGDs9GIpZhYtbDIg5DmtmObT+5XZG2SKWf5p2N1ECAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQU2HpH7ZQYxNEemL7+IuixtEPEJ04wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBmcCFL1Je/zTSlbReHycwSh17zsHaAZuOcXTWgYOjW/Me2u3pm1fCcKLp2eMNFWOWvy14lvqX4gqpUTFCFJdkjnILXFbcFfOipnlJYhVX7rjr8+K1Bb3ZYsm0DMa4ycA0BoU9bFqjfpkSFam+cbmjoQOwO4u/GsdpjIIA/lpyuOuGm099TERFvQgiiuZA8ntOMfCmFr7FXI95Kvc3FH0rJJd+QGAIrGNnD/jcUFw90e7EH+hPQXr8+AN3/J2FSb2QfvCAppQdtW16VSJNOSJ9Occs36EIW9n0QAOcEXTv1din/SjpDuoMLqk1ZA/Mquldsr4jXoOkoajgAwnjlUtoz+BL0jfLA638t3YE1ti1S5G1+tVKh66HX3xqwY5YITUv16Mk4jSKtfhf6NvQJCyTw2WKthalAh3HEeHrlbd8WHEcrujysQqtpc/vbWE6Hq+MyunEtczUyQdigG4/BsYTMcWBXo4tNP67cAUvEG3/NIZ9vFTb+yvWneGIDcN284L0i6LGNLUh+aLILVy4GWSHld0XcItVNK3LOSQUQWXIbfkHr/w9Zk6ZyliUXUfBfHIGVCN7JJ8wHUL0838/pGdxTXnGv5ghEK/DGd/qv74j+mfjiTf3axKBs6VXqOgI+Vppv9vkfuXAB4VEgvgqDryf0ghqtA33BQEwiz27sorMBFA=="},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgESr+pl5iRAzAWGogJidhvtBORaiQmICG+WpWRyzoVLECFECo5BwB4UBpFpjYa3tVyASrw6tdGA8yMDI2MDIyNTE3MTEyMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMjI1MTcxMTIwWjAvBgkqhkiG9w0BCQQxIgQgQNjmcBbbNAQl3+FaTvd5ZcGEtWATOP3462p+eZowQaUwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxAOpqLYt1eBs6F9aZhR6gYEEpsKM/W4k8VBH0yiSBunAQ7Oj8aekkvKzDqgl/3qHxeAIxAOy8qHAbDHOHeqAO7HuXzBTdWzzJRdagjRAC87Q8ZacrWxF5hMobG2a6Yrs5D6mTCA=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4"},"signature":"MGUCMFedBg8zZwTRiZzVoppojixiB2g3ye1WTrNjiz684MlhO1+Ncs1F3TulbTYDvbwmewIxAOpv+usCdN9bFppFkBes5rDhLFjmRjcS+pToQhpKf6SBzn5NkJwmiDR5oFVW8DysWw=="}} ================================================ FILE: sepolia/signatures/2026-02-19-superchain-separation/base-sc-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEJjCCAg6gAwIBAgIUJR8/xykGG6enO8S8ShRl8BngRFYwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcxMTMwWhcNMjYwMjI2MTcxMTMwWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARspEN1w1hma2xOn560wmOxXj4rS7EbA+vwRbjACNMo1J0qix+fk6mJQkH4xQ8lER4Uk3uHL9BC2XEtKlon4eTLxSrF1jf4Ai1IwNpKshvlGkknhvMyuIfkIPPijlzrL+ajcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRVntGc74yaxfKYJPbJo92IwjRFWDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQAdq/JC6MgIzu8To7sZg1GG+Tqei6jzMpSkkKmy2i6rfil+/QoXi1/tcB1G1JRQ9RoG5o+BlNgRMVhJx8OZm3ZcreTs85IwNw8johEIhgchleyHKF0O3PY64uvi9Hk3FgkflWbLBxWk+xLTinKx4N3L9u+Spn1MWBt7AF3lmtFxfhd4gGBT8xw0JOXeGrw5bhPpu9tePz4iVrUwhiXpCXxMd0Cwa/I8QB1OnMhYfaO1yvZTY1qEXHmfHibZ2EevC6v0XtcdMFIxZkoBtxn/N6H0KhzjP+iqQ8ABo22t3w3Wr/235OXp7tjFs9B0PJDRM9dv4tkn8oYBJDHVZ+jL96AK/IPumuAwWzVDQ0ekKtkWd5xuMi5wXMDyERhLhuZZlZfj/x+GVOAkbjWsvBe0koq9ysJHhN7/WWChnU5FsGF4YLMYvSN0TYItShBCAaS3e72rHfm2k++wz/q3nZHH0a+SlyEZiMeQI17qC9YvhDu1aRTgpJ5rkj5DXmgm2l91/to2vbHgw0s7Z6qD6ENEw2vZw7v9Es/k55rbyulhnwa2lz3bJAfVcpOSO4+w8ywOjXdCEoQlHKgUKCj0NyAwsZtTUAUwMEnP87dbHlqzCUNCOaeNouAyEd3mcPV8WfY9AAVfrXsjgW91U5wZvWK3HIZTbDykWZtDgY2IPlgJoevTuA=="},{"rawBytes":"MIIGMDCCBBigAwIBAgIRALJ491BZHI+RimaRcfgxWAYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDA5MzZaFw0yNjA2MDUwMTA5MzZaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAobgkI8VLegNbmhdD0Q51mbrKRTLnbtJXHS7sQNi+/xuEqz7cKYdoXc1BRG1G6w0kQxPireSWqvnCTIkBjZgB7COHlafABZRpZuoBqHyngqoi264v8+7eJnS/iFK5y33voSInTR/VWuXe8MlNJb5TjxCUDtOGZ6EYbhfabozUh9VylqGnC8fA6MsXUSfpRhuBkX2wejcPvuREXbkGEQuVZsvePHoKCL13kvG7YZ4lPvTfxsUuDrbBuNQ8/C0UlvIVM4e+EC3ztY+0mldiM/i1KruH7pxES3y/hCNm+nfiShM8ODEuOelHfcJwaqQNBblHjAXZXc/MkX38uoYQb0BhyrA5P/VBQ3Kg6fP+HaTxZeSm0zEMOJHYm46CfSUAQeFaljsFaqSYv9/edjEbD7sRmz2izfxD9vlnJ9YmVPbT/Js7TeZUQlp6HGcwSPuGS+o3TmVf6kcUSIsrMVVuA8cWdvKV/RTMHOyRA36hXxpwyUBzn5BgsA6AG7CFFCkSS4mw5hOgdQz+u3vSlTA4L4ZBjELDb7TmXXjUNzRx7VyqKnHOKsSwkWMBeIr0l5aqundaeCYP9zHhXdvt+kE/5f+0GUbbivvF397Rnd9axq8uTNuj/PYlOJbNc2B7/d2p8AA5aodOBOde4zQi3krmQMPy+TUe4EQDPRl4j/o0YTw//z8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUVZ7RnO+MmsXymCT2yaPdiMI0RVgwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCaydU06xIuj1yVZ8jqs0ZbDzd/mXK3xkI1CYJX7iwOOAJ+07SQDGremfLGhBoZbC3lLLBbhIDS4LjLujoB+eIvzF1dXsKXhjeRnUy8kI7EdMTeyCzH+kIUPZ639HvSO+kb3NDC7hHBT26Tw1Brgd17mVo3fofhyYWhiF9fHXr3+R6hSXn/+2o/U55mUFbFCfSf1kI1yu0Xb14CMcJuX84Q0x/mOBE1VqN9m8zVShZ/jTNui4v2kdkw75pCHBqa3VmNV9YDB3ziPts9h7tUBE2x/5O4HAJLRMA5OVe1jupBLNuL2wjHmLO2TvPFz5dwq2xc4ZsXYM1U8k5EBHuFYOzg9ZVDGJhiyEDWuvhFsKvZAES296l8rblRU6557mVDIvt9KefaEpupBq/CTJ16ZN0wTcQYCbXvJD4ctb5FLL3Q6HXKtKjw+PmJFZiEFh7NExgSU0BUg7OZu4JXGDpqiE5iBlRgnHI9m4cF20gzfOBsEwlN85TOgMd/Nbswa5xx79gSsajgL71zS4PjtrxHEaFnetfrVdbvPICxly7wwpuFMDPn5dQaEMg1W4qjQhWlvmo3eayyNQRp+Pz2EtA7lXmb4Rj2PtmS/tRMcU3wMmsnbP9lOqUk6SmqKquG6R1tip+lnhE7tyFOQgyRMHlYTzkZu1rLi+MPgKFn01llAy7q4w=="},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQguxqGMDLne2zxN0xx5W0GDBv46YE7BvNziFEOylww0O4CFQDypKwXPSULHDmx9W5oSWVpweevNRgPMjAyNjAyMjUxNzExMzFaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDIyNTE3MTEzMVowLwYJKoZIhvcNAQkEMSIEIB5NjFN4ebd+iqoQG+RZnvA7F9bX8kTNZFipfnIwWkn/MIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMDfZLbJlTUMLl0YVGRlsymKA3trXKA7QWq2Wc1P2iSuiH2ubSygxuxN5n3VUmPK17QIwZJ7cEwtsSBCV4aiwf8LQblD0out37IhSBkemzGFoMuAhDs/EvysoytKg/oAaDa5D"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4"},"signature":"MGQCMBaKe1ujwtNq57bGtZl3pk+VBNy68Z0dmn4xBuX4pDseuoP/ZzfG8/gxuk9/710XNgIwJiHrUZXMD7sZQuWSyw29m/lSRRQvzKGsMbfhnmqO1vnmXWHqUExga0ULW1YTCLh5"}} ================================================ FILE: sepolia/signatures/2026-02-19-superchain-separation/creator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2", "verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEKTCCAhGgAwIBAgIUOrCVtLDrSuHSFH6hOqELSQwOzxwwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMjI1MTcwMzI1WhcNMjYwMjI2MTcwMzI1WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASa8F4Rsl+iUjU11ycbWbmP+Xi+BlZgXN4nfLMaRLIFywKr33otM2P24+c/MWLf3S0G8sr+uvtRLutmlIKLwFRB1y1Zxf2A89rQx0P9vN3qqeOSEwjaG9lIsXuT9HBnmAajdDByMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRVntGc74yaxfKYJPbJo92IwjRFWDAqBgNVHREEIzAhhh91c2VyOi8vL2phY2suY2h1bWFAY29pbmJhc2UuY29tMA0GCSqGSIb3DQEBDQUAA4ICAQAkTqLRrtjrhn87x3SbF7XHcKUUP1N66h6p8w5DBl8Nv0bwbkce99SiXev5Re9LoB6EV5Q6oNKKARkkZ9epmDbvEdlErV9elU23xsKLAHHwPqoKfiYU5YfKFWZOgCjwUtg1vAxD5TOJRg7C4B1VWs13RmSvEbK5D1NmnMRoBPUv22h9h38kfMJMduVuzlkhDGuqCemohPWNpYb54gnfOGXsqN3jX76t9ozYeIstsH9+Z818feXsvtZEzozEQ/YT24gWCtz3cyEbCItvx0KPXcHtVulXd8mQrN/PPTX4roV6shlSe4EKlIfchD/6AThJ2Rngk6O7Qn/QS3FUxL8p/lMuLOtLoq3Wfd3JmQ64Zy/AhPkwuzzNUmXxpIeePkFbIR5f8ev3fbBclSUhWjl9px0kN/pCgNPL4c4HsjQUy3GX5Ru0hRTNKBirztn5jyZpbZbE3+ksTQ4A0BDiVzFfbLa4OXLSBddYqTgpzDgam12l2m/QXlZ/3OWTbZQNGOeF+l/4AT8/27cOCkQK5eQsfV9X5WCv5qk3kqqUh7eLgOsKq0PJjc9WXeJESMGLdWu6jQT9fEV+oQAIxUBRcLODZDIboGkmazJ4+yeZZurY0PaATKfR1Qt5dP1RDORMnsOAv345oRlM00Sf2zGjLEoWq3+hSC2Xd3c725kt0PUr/NjdBQ=="}, {"rawBytes":"MIIGMDCCBBigAwIBAgIRALJ491BZHI+RimaRcfgxWAYwDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAyMjUwMDA5MzZaFw0yNjA2MDUwMTA5MzZaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAobgkI8VLegNbmhdD0Q51mbrKRTLnbtJXHS7sQNi+/xuEqz7cKYdoXc1BRG1G6w0kQxPireSWqvnCTIkBjZgB7COHlafABZRpZuoBqHyngqoi264v8+7eJnS/iFK5y33voSInTR/VWuXe8MlNJb5TjxCUDtOGZ6EYbhfabozUh9VylqGnC8fA6MsXUSfpRhuBkX2wejcPvuREXbkGEQuVZsvePHoKCL13kvG7YZ4lPvTfxsUuDrbBuNQ8/C0UlvIVM4e+EC3ztY+0mldiM/i1KruH7pxES3y/hCNm+nfiShM8ODEuOelHfcJwaqQNBblHjAXZXc/MkX38uoYQb0BhyrA5P/VBQ3Kg6fP+HaTxZeSm0zEMOJHYm46CfSUAQeFaljsFaqSYv9/edjEbD7sRmz2izfxD9vlnJ9YmVPbT/Js7TeZUQlp6HGcwSPuGS+o3TmVf6kcUSIsrMVVuA8cWdvKV/RTMHOyRA36hXxpwyUBzn5BgsA6AG7CFFCkSS4mw5hOgdQz+u3vSlTA4L4ZBjELDb7TmXXjUNzRx7VyqKnHOKsSwkWMBeIr0l5aqundaeCYP9zHhXdvt+kE/5f+0GUbbivvF397Rnd9axq8uTNuj/PYlOJbNc2B7/d2p8AA5aodOBOde4zQi3krmQMPy+TUe4EQDPRl4j/o0YTw//z8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUVZ7RnO+MmsXymCT2yaPdiMI0RVgwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCaydU06xIuj1yVZ8jqs0ZbDzd/mXK3xkI1CYJX7iwOOAJ+07SQDGremfLGhBoZbC3lLLBbhIDS4LjLujoB+eIvzF1dXsKXhjeRnUy8kI7EdMTeyCzH+kIUPZ639HvSO+kb3NDC7hHBT26Tw1Brgd17mVo3fofhyYWhiF9fHXr3+R6hSXn/+2o/U55mUFbFCfSf1kI1yu0Xb14CMcJuX84Q0x/mOBE1VqN9m8zVShZ/jTNui4v2kdkw75pCHBqa3VmNV9YDB3ziPts9h7tUBE2x/5O4HAJLRMA5OVe1jupBLNuL2wjHmLO2TvPFz5dwq2xc4ZsXYM1U8k5EBHuFYOzg9ZVDGJhiyEDWuvhFsKvZAES296l8rblRU6557mVDIvt9KefaEpupBq/CTJ16ZN0wTcQYCbXvJD4ctb5FLL3Q6HXKtKjw+PmJFZiEFh7NExgSU0BUg7OZu4JXGDpqiE5iBlRgnHI9m4cF20gzfOBsEwlN85TOgMd/Nbswa5xx79gSsajgL71zS4PjtrxHEaFnetfrVdbvPICxly7wwpuFMDPn5dQaEMg1W4qjQhWlvmo3eayyNQRp+Pz2EtA7lXmb4Rj2PtmS/tRMcU3wMmsnbP9lOqUk6SmqKquG6R1tip+lnhE7tyFOQgyRMHlYTzkZu1rLi+MPgKFn01llAy7q4w=="}, {"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="}, {"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]}, "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgoGmmU9go92iVMGHNGiqCvG+5Qy28EmkREfPc9RUyXuQCFCxNcH58+Uy0OEHQnC6np5GJj0KbGA8yMDI2MDIyNTE3MDMyN1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMjI1MTcwMzI3WjAvBgkqhkiG9w0BCQQxIgQgE0Qlh7rb1Jd6amGJl4rewrcu92mTi91c+Gpv3t+N2cIwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwCgxt8i37xSHWUu2XFdB6+6ppnmlwdeJh3R0rmvRWkv++IKf+mGSACVw1tIJ7VvCSAjBJ1BE5dMYF9wMQsuDsbUoMepqbgLB3+MYx4hjYJhidOm1LdQCoS7fuB8kqEqD/Dpw="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_384", "digest":"j5dCgEBsl5k+HAVNVzK5P2lv5kkK9PyhOmRSjWLJ1ya5TGq/16mWrERVL3PP+9Y4"}, "signature":"MGQCMF4chXNTZn6Iq+DQkV7rQbFz5rTnj1XO7MIs0zOCxJ013oOHLjCBuRdQZQ2jUDiB3AIwUkDSED3Dvga9XdsOzgTBqMG5nO/Iye6+PxOlTLJ8RUOtb0lmXOt8PwGPe/O/UWaw"}} ================================================ FILE: sepolia/signatures/2026-03-06-transfer-system-config-ownership/base-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2", "verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEIzCCAgugAwIBAgIUZtAf+Wp+E8FST+gqOW8gA6sjUWYwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTM1OTUxWhcNMjYwMzIwMTM1OTUxWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATKaFlyLJWlPQ3JmMTOWArcDidiL0M3lhdyKQXsyA38DE1XyD7n+gupc0LmuSKWSiDZYKNwg7CQnfy1UcJH5EYppcgU0MrzQQZqTjY+knEETNJSACPw4WO+6KQ3ToaWVI+jbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBw/Rk3UKIp52CKgUjaEXztnH40h+FBPbx/7ab1ePylYJ9OV1MxIarLQifyaO2Y834qkhiR8FxEf2k/LNM6M5uu64SGtopM7d9Qnaw1/vfai9ZITlXFLaN7wD+bGFE29TeDXxRkwYuimYgvbqZ6BltjmXhaBy2UQXb0Vdb6JyOipOSCsOfS5MVy0lr/AjxRsQiFoz/eU9Itloxs+QZb6bhz/jgdQIc4XB53vR3TVAsM9+vxradoPzg/PoPbpdQ7yrh15f7DSgTFSFxe2PbBEJzXzQpl3UISB0rBaCUizs/04MvIeSm+kOLRR06lmAFw2PkoHouuNPjC4cYFhn4o9USCcp4tKHvnni9dajcFVhLniGZGrYLGmLkuGzDIRJr8y3FaY3boDZzEKoiTI4KBrwlsf1D81YgKDwjxavM06N1YaelclM/1yQLdfk2PqY3OVVpwBPKTecROf88w9L7qi7Tp669YcFSs28WzPV9tsKWze2BV1a0YoVSp4zVPVP8rMHP7L8u7lqvhq64oWlBg7Wcy+wfjSgrn6e1BUmpeZB5phMClVWvLMseggMBKOXNSnrTsGNZ0Ebq0x9+c1W6KA+ggL8koLyD7XASgH+dPM5ZLLE5gU6xmsah1EtZc2E9faVU4c9FW5jhMGusKNV06FNWKluzLaTGguIO2zAUEu1BDFQ=="}, {"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"}, {"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="}, {"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]}, "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgHkT8SOrb3rl7nxb2MC2q7Xewd8ROf/ZYRZZ1YVKjSlUCFQC5YKMQd9fcaMrQVrvHSnKmlBUGQBgPMjAyNjAzMTkxMzU5NTJaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHaMIIB1gIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMxOTEzNTk1MlowLwYJKoZIhvcNAQkEMSIEID4U9/XBHkCZAqbpn4MafkmhQDyPYXE8RMfYj+DhR7YSMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRmMGQCMAiJSZEEp1ZfkmpXJ6KmXHGOwJAyMVgoQaIt5lvpxsLLezQwRg+cHuE2/rbWvWruQwIwW7DKA4kb5ODZE3eiD7xu4lhjvVgWmHeNGkQb7uhcGexxniO1eFNYSVmyMYZ849tA"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_384", "digest":"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT"}, "signature":"MGYCMQDC6Y9o33GT+Fd0D4XeD0TRPgg+jorowm1KuPmoxnhFhi+vxUiKxAzomPU4lxaAraICMQDr7hM0aiwPS/I6czMv1uuPLyjOb6nHGQo142LtD/xnz455545BtKU3bm5Yl6sd9b0="}} ================================================ FILE: sepolia/signatures/2026-03-06-transfer-system-config-ownership/base-sc-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEJjCCAg6gAwIBAgIULMGIJJ5BZYKBClPpGmiOCVMlGKEwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTUxMTQ5WhcNMjYwMzIwMTUxMTQ5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATKPFM4S5zQvLmplgONC8g3mgbk8dmqg8r5CWhioYvYv4rG+Hi8nXcTRkgWnA+KS1Ukj7anV7sXu2Rx+2S089xggSOLgiOzediOdRHLAo/6bCLUVlIdLpvWyOWtxShUwsCjcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQC6eqhwzIQqbrTyC+MHKhmelpFJTS9uqg0LqwNwzjRiZ1HRzUWSQjqWDSZc9MM/I6EgscvDv91bLEdvLH5I8NFECg9tNURj4qgRaOyIPQLhRHQpwlD8x/bwkMkiKHz4MNsGUBbrgPvMWakYrWYDk5xGFGDJ7oHnGvsaJRRkYXiMwOaj3l8ovUPvCqFTg6V6GPC1ECbFGxytLORExgwkudLOB4FBqmpFXFYS30PvwgijeQfoLrmGBTvpUR6BD+6sLCgw5Wiur6iq04oshnaLcNbeH2Jupj4JkttIDJWII5YByKY/Hn2aJBSFJHR95XMFMetO+xUhE2VHJahamEG52Z1Lkj3XcqtzD3v1MVcwaiMNZUSPL9Qa/t/u8gsOv6oL1b6m495Ix9CbJnDudEvbv+YutpddAYh5n4Ed1PPSy/yK2QenyawhCNNt4AwZ7QgDzFufRtS/yHm58/UgdRRrHejgcD1QENSr/R2aGiQGPCbNJLJ7oOvvQeAFpOaOLHHlfpn+Wrt0+Wbry4CEkqC5WMgd/LT51+C8T3C7R4bw2fieJWMDr0lHXhLpHdZI6HhTzSDHMVkbYP/6RLGnApN1FnKXZVDQ4zETxgGuEmDoC+oJaeUKYOBlb6C6MluszimZD2VcN2JIG/6oG70tb6LIwEwB3JZy6ArgzIS7FtBxqenGeg=="},{"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg30vu9MPkkUJNzW94Ei74sBMtCeOpM6B7G1zDDVF9+84CFAl/S7FI+cUnNoZjSw5y9NiTruN2GA8yMDI2MDMxOTE1MTE1MFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzE5MTUxMTUwWjAvBgkqhkiG9w0BCQQxIgQgN9Ue9SNZaSAZVzXl3kNjB55ufXTjNOFIoMAQ8UF9my0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxALTawJZuw7e++hRj5CfGTMiKyFaLKJq9BjjltyYEzBMJ+oYTGoLXDj5tus5+Zu0aLwIxAP6ZqRdRbY5IOFnCOA4vXcE7LxMioVQE+jTnjL1kGJk554n5Gwvs/l+457zqqRG1Hg=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT"},"signature":"MGUCMQClBCCDQ/Z+bur711ovkTn2ERL3J7acC9tGnPkcgv7uaNhQ2qfcyK/66UFPJB5myQUCMEnIK28n30RKK2xoWmg0dsE3Xldz0/AkkabkIOJmZ4+nIRRsRXtswbzyGbVW4oad+w=="}} ================================================ FILE: sepolia/signatures/2026-03-06-transfer-system-config-ownership/creator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2", "verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEMTCCAhmgAwIBAgIUAmyRM2EQw3LdTvlPuTczv0j8snAwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzE5MTQwMTE4WhcNMjYwMzIwMTQwMTE4WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATaTaoRlfcNLMTlWPRPw7p+jAC7sEBpzSgDTL025IwOMHrbJupb/84lw5qS9GyFuwXVhaMfbSsFY8wI8ZI6Z7TgtDQt5Q52z7//kHpMXrFSPwJYyzFMlKgF8sjJwfzzbnejfDB6MA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAyBgNVHREEKzAphid1c2VyOi8vL2JhcHRpc3RlLm91ZXJpYWdsaUBjb2luYmFzZS5jb20wDQYJKoZIhvcNAQENBQADggIBADwomOgdSTWro7xwCGW/HWKYgsrY7v3IIJ7lvep3g/UC++y5l+ofFPfBVKnRdM7LfgIRSedz+Y+F0VoSGx/Y9M39jNiCQox+wCqW0f1BP4Q7ofAHJzK5Qrt5J6NwG3souZ4Q2GoZTtpdLTkCwp+Oeq0uogsAYmuU1ovamEo3iuM0uLa8SlKwRMJAtSU9ssJQygOKQeDn1M7Ef7iOa+Htrw7jFdbwX9QoYMaKHd1L0/C90j8UoQ58bDZw1cK5hNBG0l9+Ge2Fs7ViDheCUeJalhqtqfzRAt0p8PxzltLON2yJHI+h4t41hBP3tp9Vu1+9/1QWxjvJYq59xl/eh2Ufn7Ftllk2DJCAbMuxkxh7rYWPmSnG8zArFBOsJF7Ptr64eVWqzpM9KTtuS6O3/9HHKbBjJ3y2SZejKiY7AGCUZD22er5exNRidtHopK9pygb06zmxF9eLtbNnZ4IDIgBxepg2ky6TbYh3uSoZGLNLOobHIFi0tsluPOPfMeTsB0+k9vvCEjn8Op38h7krSghlsN4x5MQCb2NVlQ8F8wV5juMrrsohj1XniXhKPqAf+eIBThH5ARzYI2yi+RExaI6W0joVoZovjLECGnxKY5GqhJJe1U8krII5OcFpHlPw+FAr8sNZLTyLzo3AEgp57eyZIl5jjl1Z7fYSImynHd9J8MFF"}, {"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"}, {"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="}, {"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]}, "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgQLH2uAk4n7uLBaMRqE0zW6YhMBKRSHteim1s9kzEC2ACFFiIEn1OY9M46W73VwTIsS2fR6w/GA8yMDI2MDMxOTE0MDExOVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdwwggHYAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzE5MTQwMTE5WjAvBgkqhkiG9w0BCQQxIgQgg8YcFgXqI3cYnlIQHjVx9y3OMFhqEP64KEuREp+xTCswgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGgwZgIxALVxYobH2hsJbqO60mMNLguEq921ihLRNtNwcuI2Tj0/9dKt+TZkYD0xbWcESglMMwIxAPNcSr2rmSP4kT0zqgESwILlYbrOtKE3XyWJNEdhEBjy1hVLCD+6M7amHG+VGQzBrA=="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_384", "digest":"CqATAF/NwXPbZlFq9iS9HDd7ho4eGwKHSDLT/s6odFNXC5NX/NmUkTId90tVJltT"}, "signature":"MGQCMBlYfB3BKWRc3FPv+yAiL1uSxgXwbEmBPikXHrRQulp1fiR+MxN4h7TWxHqC8rZ3AwIwVxmRPLpYHT06SDFHHA2X96bDqGyL4OIG+fg5ZEMJYTTg6ce25/htrxqP0O09nLmO"}} ================================================ FILE: sepolia/signatures/2026-03-11-patch-fee-disburser/base-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEIzCCAgugAwIBAgIUSsjOxqPqZAZHpDYdstdsEfXY6IUwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMTkyNTE4WhcNMjYwMzEyMTkyNTE4WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARE9MQbybyPDHRdMkpyOOlVaBEMCHLdkrdMgNDfL3hzYq2oTKJOg5i5jkk9iyQScDYyjyR/rtdfVOisuawugQN6/i9JKtS5fMKST2yttr+o/jY3WqpoVQ4kG/SZ04TdHCujbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBTWQCFYz/J7IC7sUWbkfTagPuIWgDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQAfXwR2ZIB+x/RkQ6NCkwMPyyk+I5hr16E+mLEEtZbVXzP1XS67E6AOW7dsccav9C85mrj+LznDU4v4d9NU3Svgp4NvXDOVIpchVEvDIjAJOPI6FEhCkpcvnboDb2Iw8zI3AkzXbogfXRUGXdIuDLoz2aGT0YKHQ5IJYGBodD7XavIgqRYHI4gki15+qT9cJFb8pJdIyS4S3UzHIuT0rU4pDRpR/S1BGr3lobxKXYqNsDCmzqFgCnKaOzn5ClYKpuuUhPtRk3uve2QA++BIdiwKdc0Tk13MZzBkUe2RMd8kWd2ZCPQ+0rnLppNWHBChPboPWCmKxYCWIYHc9M8FB6FhUzekS42Uf0RsNzysvw9ZjTGhAzbVXP+QzspE2ugtxrKC+22+zWkqK9U2WMhjxZFSzFOEVuWLkwMg+Wh1hPpyA8m1hBUTtN8JVzeYt/4b1qOWxdsSAGeEV4YGXY0IOmVZZ6mMWXaFbddaXHCh8Qoy0vT/r/viZ+rP4AfjnnGjkVYpDMBwPq8qp9ZMWDyjavV3ihz3S6RB4E2SybXWjFd74sum0Y7Zx/2QsXiUL4cXs6Ktu8PqX8RPOZgngp5548637/6FLvoGB6TVypI8BFe0VOi9XDYZp6lfGYu6zrfNJsx0F59gvtu+UlR9ap4Jsuua/phToCbje3weTAoqSZDofg=="},{"rawBytes":"MIIGMDCCBBigAwIBAgIRALsFesixmDaTfAXJVf+kfY8wDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAzMTAxMzEzMzBaFw0yNjA2MTgxNDEzMzBaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAn/t2gCKm5yUKbjfWEaUyxl+bsaUWAn3o7iMJgiMLZs6/gqHxx1il0YqzETk/fhcggT7QucYNDtKKskAVAwETPEFdeFv1HFTPdLKL9lXFcT/W7CiXtd49UTn5T+9At+uLhOF3ZBVLRbGTcFbURdUe01V1qcOPe13L0Vph2FqnkSUChwVYTOuFNSGk+LYn90PZL32NsmF4R7OMcVxUllg/M/ZCBWvAzk33NuTAf1ko+sOPT+I4UcffTuHYIEtwb5syZ89y1nx6iD7TeRDu3irivedJVvar9ZX9yCZe7QPspdPq7RDl+4m9FHxKPoInMoFkRWXvqIcrO4TVYJHdSH0rncbFGG8k6+TgjIf7yXG3uiv0dy4Nvnqmkw3NBYhk/yg/1J6XCh+Km1nLkgEJ0aQF5pcv+TJX/KqiKSguY7CYQDTuWUxd8V0+DTN8UIoU0vBrlLb3NOXIusJDZKi4GJDBgj5wWumSqsY5pXm9eR0rqDVjhApmOShf3opfWorF/x19npgJicI4BG5V2/5LGZEWbCbDastf9f62xO+JvXCIS1p6ahVSXznGG8W9M2iWwfl+jQF/mY9GUKQBLpQ8FVjRFZqRprqs2g+sHjDxdS52NRkqDknKUNCkUoC2Xd3uxDomzptiaQr5b4+V3BQrRJg4g0hxsLcpXI6BXWtkORKHoxECAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQU1kAhWM/yeyAu7FFm5H02oD7iFoAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQAiHWqgPTdJq9Xfog0c24sTP8UBfRug7FBiKA96mKR9awIxL6N46+Zu53OTqLnZeB5rnKPbeegiV0WFK9hy3CcBtLKlFRuvkWar5FtPGfBDizGsB2ZifPu01nqm8aq0mRUwNiVvCbXBzWNGGnQGYUrCb1rId8fkoHevLbPj3wT4zH5VPMunZP0ntV+TT8jhKQg3mex5397si4cgJkBRHbG4QIw8r4abEJxajikfvwVQ1hdoiDm4J7Rn0wD+oJBVa0NC01S4fWnq3h18ww1YQr4GOwlGBfa/AH71tMUM7OCQTkjntry9lYztwj0OdkRb38gQ6ElGgU9RIeM0j0QxARj8KNb3Gp8+epjQjzA5FC/w9PIleUDxixFJAhrb6Vs+9KV4ZSmoC/+b5cTaU70oKkklH3LgdfAvWuIDoVQEvAbrAPbiAmdqPQMm7zphez5FMeTwmqWJeJ0XojQ/yiN0yp0WWXGVr/24klFXjhq+z0zfXwgZORoZ+g7mcOqS2LwqotgtZYqT+B+PLUF+XCkV4kMYQclc0pd5NFLFkDaUl+TiYRnlxu32gdW52CmEvdq5qtqqV2Q0QKW2kxqrlWI+L4NMexRm9hUaaf2t+fjZfuODi8TYXlDGPMcZf1jmQe2qWyoCcogWYD/qZLhTqq09zZ/rFIeldcGnkPJ19UJRfolNUg=="},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQggwH+S8chzJ7yX0bLjQsEpdhlMBlx9t6Rf2dg1ecwxFkCFQCYnbtZXKXMghg7wy2AyEXhbm6t+BgPMjAyNjAzMTExOTI1MTlaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMxMTE5MjUxOVowLwYJKoZIhvcNAQkEMSIEIFVMqe4TKWERjBqJLtLECCa3gj0iQAAhy3pbO9J27P4ZMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMCZthPEIlegyoFDOgXmdytiWlxz+/lPusfKo/Fp6jXYqkj4pUn/FLKYjTcg5YJZuFAIxALFv1MVkvKE/wSXK1RpNNT+jFdJ5JJCsY9JsSZExFa++C0xKT4F37r7aSfdVZZ+ewQ=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz"},"signature":"MGUCMQDk+aTShd7/sbZmfYO2TitHVNDVE2sz/CcLS/yCSwIH4O0N2pVJxQ7i2UdSaAF1vgICMDtsoafMVXzG2OGiyxtpQ6V0wntlRntMzlyd0jNIQK0aW5GqfGuxQ6voQmr2GYbxdg=="}} ================================================ FILE: sepolia/signatures/2026-03-11-patch-fee-disburser/base-sc-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2", "verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEJjCCAg6gAwIBAgIUaco35cjdoXPzZ0h/7gibX/ZFna4wDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMjM0MzA2WhcNMjYwMzEyMjM0MzA2WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASlYddX45hiafGG8klnqENJMjGkc/8me630AP1AFx28ofSGxVNr9cl2tKdxYCPc/v2MR4/fhJQh6DTTT90pCZqGIgajExN6vWssY4/RCHi1KMm9GPS6mkYF/PPNocE+oPejcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBR7l0/K0GP19DJHBzeirv6XbZT2EDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQCXwdPhCCk8Mz5ERS2x6P93Xs7hZAuZKSJhYxuyIR4vKXA5b6Ia1qBl2I58O0AAjhsxZVOWChl/KV+wc7ToI/+q1EFOU5PdYnjEzObzuZwqKbOSkvfuGdxTobnD31DDPs5891cFSoj7SYx7A4xDGBLYN99rcZs50O9ps/3ObvHzRjLqEYz6U5zJyoTv16jppheQAwk90PtbXGCDfhW5hFbHpbaa2XTBHDPG/Ha2QeEqy8XsRYejCkEHimdGT+8gfXqxGT0YR/hBeY0jHiezY382q8eKusJbng6HjmWukR2+L6E1ej/UnwFbzv1rRE3J5drMi101EGM1BO/L+fcTIN6kufYjMx/VX8b8bdJZSK0pf4g4GNjwYOu6EzPiJWCLm/T+T3A1MrN4biaJytz5FYuTl1Nun+s/82r3hUbNye1a+FIKy1h70t4SLQoQjyPqg4Si6w1xy3iTCcF5kM5xyXMtAd92VIVYdhftq+ejXhjLE14EQHgJDY7uXgiOMQp342o2SNNC/LhD3rYvv6M1MaPAzjiFU3gCsKNGugC1RE/hmLCDjYKR9Hhey45ui1u6qjfsUJw3z1Ks2mRkRobydRSCVEuIYbiSuRmkQLFuTqw6tXlgFL5caw5Z15Dm3SaJzP3UumRSCaKfrqlLeVjNtSM94n0vqnh0RTg3SI8Et1+9VA=="}, {"rawBytes":"MIIGMDCCBBigAwIBAgIRAIOj+L6bMHPQ8ZwSSkUjnn4wDQYJKoZIhvcNAQENBQAwfjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxDb2luYmFzZSBMTEMxDjAMBgNVBAsMBUluZnJhMSMwIQYDVQQDDBpjYi5jb3Jwb3JhdGUtdXNlMS5jYmhxLm5ldDAeFw0yNjAzMTEyMjQzMDVaFw0yNjA2MTkyMzQzMDVaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzERMA8GA1UEChMIQ29pbmJhc2UxETAPBgNVBAsTCFNlY3VyaXR5MSIwIAYDVQQDExljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnDcr/lqNbiQrDYADj26UnkQg8u2cdotvu9FdJpYrcZGWnQgEO6VeHAZ70uJywvoDl2057frfnNbSNJFxb0rs1FYpr75Z7nxN0CUn5V/3oCeVZqhBAPplcN9LJCTjbAUNmP1l5OtitSBY6M1FkBq+ejO084eVIJ69GeHtQEohXXRpvXmV1rW5wf2b1o5p5sz5Hnef2K59i27CJ+CsJWcNLd4D+Oaoco12nHEy0uaaeK54ClrTwivu4e4sn3E6TzJzvUHEU+690gnTtqc/3Zht3Y1Do0xF5HsMkU/c11mpXSF7tgEurCbLJygJPVc3BwaOCdEvtFonEQ6uLYYGn0c8S6j/6vsENguhP0rKP3wLsjdorAiyni2umVh134uN3bKT46n7i94T4Lc4djuxuMT0hnGf0qx70elHJSTmZ6r9Qs8BGgwMhOqUFM34wluhVwVQUxXEV77GUL13l18qvcuWiUiahvm//TAckJnYJYLADV16csh2N7yCffu7AQ+l9O+/jOmjiZjlipSRHca18nHWve6uLWbTgxUEoHw8KiRHZR5Auup2Qn6fegI4oD5Nw5GeMw3goqZZOaXYAnrxSCEzytSoPfpsy3exU4SC7NrRAfAiP9B0WoUOey4fMx3sFXVA545sSPItkiiyURs1d4qIDtRQMALTuivwGg29RYBuBC8CAwEAAaOBqjCBpzBBBgNVHREEOjA4ghljb3Jwb3JhdGUuZGV2aWNlLmNiaHEubmV0hhsvL2NvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBRMW1VzTy18+K/WIkO/QmyzF7j/azAdBgNVHQ4EFgQUe5dPytBj9fQyRwc3oq7+l22U9hAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQCUgR5amXk/QAygUg2a9T4h1SQq91v7Z2fi5i2d5ZZehNRYhSx+mfT3mjFJJ2KT4eOTds+WKouzGqbwI7NFmBcm4hYBRAeiYxFwZBg6/8q9upgMKj6CTSa4sOyr+Z2rt/0Wjn3oAODJOa+7+enRgjD3Y57F6+y22cFaYEFtDExc4fneAzGDZcAg/t+IZ5UYNP1QYHbyEVkCXZRHFHyATbflgqjg5VK417kqexrerD3TUFF6oky+NYSfFFj7UDNaDN76w3osxoVS0ljRsZa9MZSSQvxyNHGF49oIeay+QmOGDnVpd3u4P0uT43jLfcTtys3bUhnOkMemzrmA5a4vwYol9Ps4NnsQsrI74h3SE/Gaouu7AvLNMUMTROeCOityXDAy8Z/wSGJeiiPZu4y5ziP5sV3Lcqd2JKV1l6Je4qvjBuPSLeHLfPEHmjEssKFV49R7I0R2z+1yJ34UYvH0epwBtGM04E0uV15vtt4YrHY5njIO34UB2KsUUyAnWSnWh1eoj6Bcyvh0Q5YK2/VckM7es+laQXkayUCHEclmggT5F7TbFpxnjCB2QcsD7idRR6upZQwrGc4rvuGu3z25C2wvCFly1S2R8434FknLDOyJMDff0a9utC07AnR7fH3RPq4ukh4l0TW5oXDH7oj0KAlwzk1tyXMGrWrhJY4O8L9gjA=="}, {"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="}, {"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]}, "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgAyPELOAyQ61YM/CUJ0ea5BzdNnJzPDTyN+4YoS0sIs8CFAzkGbmN8o3+j7ZmM6T0WIkXBficGA8yMDI2MDMxMTIzNDMwN1owAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzExMjM0MzA3WjAvBgkqhkiG9w0BCQQxIgQgDFU/yvcu6x7lzjD2fO56LDVZyF/Ak/8tpD+3o6BxzScwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxAO1Xa8Qvt9jhPV8excf+EJDR1zkAQv5xzO+/aFKillgUDTx/+6gqT0S8U7vxpGPMdwIwG0ZCOSRjl8HLCISxEsnKtuBfnL2gNwyyk25yObr+smt8tRyEQybi7aAMtRlivZNA"}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_384", "digest":"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz"}, "signature":"MGQCMA5ap/S2OuVQbsIHXaUzAmtAip17eIOEpahcvsm0CBh6amJ2y6D0W7fLn4Y6cBI5EQIwcknGIkCjfiE1VdW18v8aQJfDzJKLd79/Wr0ERgLWn+twPec3X25gPiOLSyCn8VEi"}} ================================================ FILE: sepolia/signatures/2026-03-11-patch-fee-disburser/creator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2", "verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEKTCCAhGgAwIBAgIUDGExqv99GbODbTDatMdfewhJkggwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzExMTkwNDA5WhcNMjYwMzEyMTkwNDA5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATz++jkC6AhIID2UESABQsMKd5OQWKAHeRuEq5v9+V1YGufXLNprmigh+873g2mRIeHrqez4Kz2wvbfHzbVRyf4+bHx4sGU7oYGdTISi79+JkuTvJFkwbQKKPimkBjWjBejdDByMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBR493Llwd6yo9aiOHpyrhtN0DcSODAqBgNVHREEIzAhhh91c2VyOi8vL2phY2suY2h1bWFAY29pbmJhc2UuY29tMA0GCSqGSIb3DQEBDQUAA4ICAQCmyWNK5yKULAqFcI8JwuWgCuvs7TEeSJjo1gudyxp23MwO/VGtt/gRfes5qd6o8vfYWqVhoFes73RDmTOPjfxE/YhKt5tV/Y56zHFvag/LY8BuAXQS16gsUBdUyniB0ry4ZIhWK8JGMtDeu4R66rp2tFhhKi1+dfOoljJ2UR6+X9q4HoTGPOFByLBiaz1OkKPjDJrJ7NQW5i/LlmDf8mGYrf1n7rmL8RZmz4vjkEoUHsMOTZP6ZDCh6SQVTllgRvuEFT5mQn+RddFV4F8ykKYAyrKztHcrwmbkczD5tsbuiObOi+eVEoDiII9DRMC4aSWHWNbzOzehj8SQIhpib0hgYoQ4nyE7XS9MHL74YLmgEB+3Qi2GTgJQQJeidSbts0spqtDm7n7Xhd4UEDB4Puh52AsZM8jzUN5BqnrLl5v972RuMPNZlSZBil3IOMrF1+Igo1pq85K5sA+mEShnPWeTJKOQwLdPKDBV662eZwSBCSR4VZUtySCDm9DSs8IA4ObeYUkZ0sVw8FWt5f1ztJ61IcQmQhnlc5P1kX464ZF7mSdfrAeHCPx5NBVfZzNF3pdbXi9X0Wu+ReSGQF0GNmEAv7kywgQlSgsgVQtf/q9wQxV/iAV2MUNlwp3e5wGM0rUe5lCnFpXu11LVlVZ9RoWXtP/Vc70Cxc6LceNEceiqmQ=="}, {"rawBytes":"MIIGLzCCBBegAwIBAgIQSyY0ddSlFupfM3Lw+IXXZjANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxMTE3MDgwNFoXDTI2MDYxOTE4MDgwNFowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDcNgcaSzKNCy+idmWKDCMLhKDnfNccryWMK/2PVmc+O8ND0YLgyjCKI2D2f30ILb/6AFll0AqS5nJf8g/6yjMkRQZJ7Nh1MKyGOUCAYfePnCzt1PxpZINA5RSXTKDI24Ms/voRBLhTQDaO+/kiiVyCkUSi3FsTeKxbllKzyjkQIUykP2Zr/qT24Tn0NeMnPoaNUcptTc4EiA1UbwZrGq8ZjkX3OCCxwyc5s8txJXtIOb2ejdiBc8y0g+gywOZJo4wgGIrxrS2oL8+WewEGYku9Emu0l+01v8UAwZ6fKuLHKhoq0WOZNXR3+ZOlcPRQYVjylQK17VJu3EtXLanaTZKUOwv2eSiQWL6w7dP1jWwhiWTdy0UiNNOtbb2vren9B0qxiygVpLgaoriIyKrrYIyCqVE8jXzzdj8CQWpN3bXqfaXAZpM1SeBqwynxVfqjpWwc4joVfK7AHR66LBUCXQjZOIvjbBYz7ZGscU12BDQRFTsW8kw+oNRJdXXkVI2RSjV+QnFZU/QM7atxa1OBYiavAqpBp8YctJbo/mztEU7qFQiH2DhnAkSzKghjjEmSoWWHmOLdCEF0tBIejfp45GJitSw73WrzahG6KhCLRCURm3yLz5noT7jRIBVdVbiAAzbgUXytTHhGbuVMCZBdZDe0KbdC9BgnUNql/0t+B4G0dwIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBR493Llwd6yo9aiOHpyrhtN0DcSODAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBABLN4LIQBWkU+QhabXjl3sV/RylSQxjtHOkKPL25A0pFWyEShIM/JMe9CxPr1WLtktFrc6xfTCmkZqDdum90drbCZ4kR3MTiDBWvzN9lCDWkt87DwTUyTPxMhMOaF/ZLTLB2x0vbhRvraCxMGkDLPb1jozG9vv67egHaHRCduZtTddeWt2x+MHlHZRXiVcHT4cAJW+ZDFPAWVMFyUO8BwOTbhN1+s+psqPdPScKYqP80zfD6FXssL/4AgkETq33CjrXd71AuuXGodiRgGabVojAqotp5AXl/K0hlWvgAHMgjT8byN1XqBMw2pIwmW7sagkJu8rAF9ZidHofg0MpsRs0thrFS41Md1Ew9BI8W76BAtWFmBxFbcrnQzs80Tklh3MM0woL/oVsb5ILW3ijVcgzGM7ASEKJJLCCyEhfsg1xC+LUeL1M+At1iWtBDwLQAJqVCI1tPc64NtPWkxhxluCZnvMLO/3PA6eAWRj6Spl3sQoFfi3OmTSatxjcKydiItvJlGNYo3B4V5EFJfLgPGhge8sfAllk+Zpk1IwnZ3aO1DKr4DzFTP4j5JCigwT7Z6Yg6KynvGfCvB/vyd2ezKG8SsrDyZ847syoicdufLooGfK+r2gHzn+ncdB5KG54k8TY+JVxytyh2syTkzxTISUPB+AWlnPU4sj3E+/AQEXS7"}, {"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="}, {"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]}, "timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyDADAgEAMIICvwYJKoZIhvcNAQcCoIICsDCCAqwCAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgV/znjC7wFiQBlr+h0AdxVxbt0nlBP5SaElke/dJlFqYCFDRcWS1KuL1vpHU7NLmN+C6PUlqJGA8yMDI2MDMxMTE5MDQxMFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdowggHWAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzExMTkwNDEwWjAvBgkqhkiG9w0BCQQxIgQgLJbJPsFRBUJOlP85nZTVIhbFg5CQRzJwj9Ywh05gB7wwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGYwZAIwLZ/b4XCPVWTOisUpTqrQkWGcirC0G9g55eOSRUrbPsUf09PAeY0LnrwoRJ9/CimaAjBcOSJCQUfLUwDMzwxfmWPcCakSO1KzWQHcrXVITXj6+XuheriS/a4N1y03HFJn81E="}]}}, "messageSignature":{"messageDigest":{"algorithm":"SHA2_384", "digest":"cpmOMlrtbBimQRoev7Xc3dC/shnL7a7KDnpnO9KEfw8PzaoEqVcgwPXUJ5dxZIdz"}, "signature":"MGUCMCXiMoZAYoYeL1OmvjUBUnnmvOljnO0NTpxvG3REYey2Fvvf+3XiE0Z2RXXEs5bIZAIxAKCb37Z2Yd+oY+jDz1/TaKNeROhjASZr1G6OV91KBRGTONbTYo6wSmY7/ztttuPocw=="}} ================================================ FILE: sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/base-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEIzCCAgugAwIBAgIUIkiEX5hfaBQogZyjvSN1FTrfVbowDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTQyODEzWhcNMjYwMzI2MTQyODEzWjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATLilZB89MDTl4R66ePCrONMNjJxvU4lpNoXUT8kfWWG+EHJXSSMXrZXvNunQeRVde/GYSkFAs/PIF2Jaz9+Es5R7y/dsIOI1+MD40PoFHiOuXlsMSkVVLdQ1CrEhkQawyjbjBsMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAkBgNVHREEHTAbhhlsZGFwOi8vL2Jhc2UtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQBIh3gK6KLD8FFom3eaMzl43v1al7H2+Vo89Pp7gsFoCqOCZoS1gL0jn6hfMoEslei/FyciqerGH7ZAWtPBhl3lxuySNqJlHW+m2Cw+pG9GXEVpuYBslYJCnaSRkzipOh24r/kKtp3aWvCyi0JFsWQYMywpwUU/urTGhqtueyFQf9l3beO3WJZkj9+iCt445ktXwzUBp0Gx9HLAOzuJ/Ft3IfgngRVwTcvOxfHyHyJFzwzTWd+XryYDKdcSymY3eoR6ce9daxBbjXlD41LPI8HRsCOl2Wmy66+YzdwXWp8ai5mGzlmpHWfkPGV/QrUcWQ9w6iShbAA1K6bxhLC3pMSQFXdmneipcxWEgznt2/hcy2gCn247uXvMXkO3B2X5N22h8cgdQRwOxh+7Omrjo/YLlDXWFPFeQswbzJgUSC/FZdLpkdR7a/HExJu5Hf4DErAQbDrR3HeXpY8S13vGmHksenhlEM9k58i+FpoXTHrGFGU8H8SgtnOMDLC/7q4nYrOahLwFuSgJippd5XPsyzKX/SRIoeMpiLZoz6yfT4ZJTOl+FRlA+9834PjD2UcCVVDtfm7TWEv51sz9NU+MBDBHz8L0wkEKqYhpeOI5lfuUgL7Wx84FVWUJmQ0GNdUHSW1FTmAfvCuwFDHjqK//j3MFAePn1gf4jVIli4ESqPPKfQ=="},{"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQg4YAfxAcXfZp6Ex+fe9fn1n7is8/fVROXsgxzzCUJZN4CFEKGvT9oOaT7EkYG0rHkU3oJm4qSGA8yMDI2MDMyNTE0MjgxNFowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzI1MTQyODE0WjAvBgkqhkiG9w0BCQQxIgQg1qHvtz4kA2apF84vxMEmhzLVmlQX+m9PNQikQ7ReuC0wgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwbMFoZNi+A1vIKi6JguHN6n78u9fq1MAfDRusSSdMsxH78bk1OZUg9JkwoALA9CXDAjEAvnnreGdJMagAt6zvKkYX4xiDbgiqRzAu3ErnbKWYeND4JWr6ILxleEZtv4xBevhk"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1"},"signature":"MGUCMQChIKbvmA4QrSuJ77o9HkYeUQon4WEDiBuF0PBxmyI7h8N1oHerDLMdJ1Tm3faF51oCMHsK00JkeuaAwW3Qq5O0Z5fVi2akjMvEnpz/V8vVt7hlkcHWTBEpLBxlL8bP87rTdg=="}} ================================================ FILE: sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/base-sc-facilitator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEJjCCAg6gAwIBAgIUPilRrpl6Y048aL9yGvdIOEMrUHkwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTUyMTM0WhcNMjYwMzI2MTUyMTM0WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATyVT3G7vwMwyYw86gGHlu+x9XtwmEG98ArB2E8NNWZX/zr1lZzvmE6B5RW7PJ7+5iiJlliQJXd1g506KLGED0/paUELiIebQoMlI+u5TUuuf2BInKadysFAB2FFeSzfsijcTBvMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAnBgNVHREEIDAehhxsZGFwOi8vL2Jhc2Utc2MtZmFjaWxpdGF0b3JzMA0GCSqGSIb3DQEBDQUAA4ICAQB8aN6BnN9EMvGcNnSZfsMmNQIX0co+Aq5yQrHK+jcuOzvXpl02qkTEBz55Gr/f2dTZx1uGoirWfOyATpexgCNnxlYQhNe9B1fYl9siEPlHDPb9aXwekojvVmkFP8ekIrif6ECtsyGmnat8aO5hYAKoS+18bO4A/qQKmMrhNL2w3Uju+QiXBzx9a/9X7uXgqHhO8FYy1QDwvk61e2ynrFCMJjWyIIeZpNTfeEIcfJMLYcavxronlToSYlG0oOFNvZU1WeGFLjQixamBSGpYdfWGbiG1mNXlatR6TfJZF4qGXALhrGwxsyUhCi1L22PQhnkjZtkMbx1Wegr1ZcsGq5z01BWpHqsV0vg/smudPHc+nkHuLKGzqvQSWcyc0NSJKga59HFl6XW10tAUX4/n0KvMgmHMqHCBhhAvnRAvBFBzGM3LmWSDVm/OoDt2eVMTaaX35r8Fr82epgkAwllgo0Kj0U4Q0FdofbZy4qS59R6VQ0wjGuqXd86dVyj+38xJzwgzv/q+NihcxwdE7u/P0S5AbiFOWsNo2BtIJtZxxeXX1qBRzNrpYJdpKwhryAxjXuvULIoG1g32y59My/DhWV+6A5ebiujhohYl1JjKikurhXB2gVA8WUaM3SCasO441TSMFMxX/KTQGV0P0V07bD0qtbmM4xgKkWtuz/Bb39ejvg=="},{"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyTADAgEAMIICwAYJKoZIhvcNAQcCoIICsTCCAq0CAQMxDTALBglghkgBZQMEAgEwgbcGCyqGSIb3DQEJEAEEoIGnBIGkMIGhAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgYwpG3ohThaG42ZGkT0Il+KjB/EaMIUOes9rLW6D3wIACFGdTefAd2MT2k+T0TGbf2qCXe06KGA8yMDI2MDMyNTE1MjEzNVowAwIBAaAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgADGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwMzI1MTUyMTM1WjAvBgkqhkiG9w0BCQQxIgQgtndvFn5BGq4mEi/IzpzZwJTGswN6YoRWxXrHqaeToFowgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwLWxfEksTWnkP/s8r0fYxHpwMGAsY4Df9y03DZgBBVQLspQn6cvbkzGXgzag1YSFjAjEAyAElROvYKca3Dw32kdY+JpEEW04PH0zJ7XPgRaOyXfN88fspgC5KlE1J4KgOOAOm"}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1"},"signature":"MGYCMQChCCdkDsDz7ceNOH0ewsIVekppB8KheuzzXsiN/fWwjgH4m+wvXfjaODNFtxkAP+QCMQD9Pwz4HQsYwGaJaFiMC/Iwki6VmZ6ruZhEn1jvCEIA5VvEg/Ov5btdykfdIpP84Oo="}} ================================================ FILE: sepolia/signatures/2026-03-25-increase-gas-and-elasticity-limit/creator-signature.json ================================================ {"mediaType":"application/vnd.dev.sigstore.bundle+json;version=0.2","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIIEKjCCAhKgAwIBAgIUdKvkAsr1Cpb+NPgfaCm80ADq4ecwDQYJKoZIhvcNAQENBQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwHhcNMjYwMzI1MTM1MjE5WhcNMjYwMzI2MTM1MjE5WjBZMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xETAPBgNVBAoTCENvaW5iYXNlMRIwEAYDVQQLEwljb3Jwb3JhdGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASF2cLOAjN6Yhm+poGR536aCp3P3FhRZXDp5LBKcR86LXZYT5DVEo5YAE1TrqSkSuRvVjubEYgkczT0m14mcyDa8fZ34ue5nmxS+y1XOLJ8Swbi3VZjrQ35rZQRqh3PkyijdTBzMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBRSzRFwzEGi/fn9OnaHPNUjyCxBwDArBgNVHREEJDAihiB1c2VyOi8vL2xlb3BvbGQuam95QGNvaW5iYXNlLmNvbTANBgkqhkiG9w0BAQ0FAAOCAgEAhnFLU6KmSlkhBxzWpDez9RFQm470L0+o8Jfz8/1zC6SJOAEnOkAfj9R/0joW2iqnkGignhq8mgFoWBvq3BvUJJrPWTunI/c6v7iHFU9UMdnPzGfxzXhk6diWW9jamC5wqUMzF1kyPtwyum1RT/Rl1x/m4TxbFLi965Jcv8NRCuPNxReoAh7sS3emFfoeXAjgoxnYVed5lB2fzhfsZUGo1fpCyVPcfok6j2iMR1/92+QSRnJOZH7ofUuFbT8M8feI11fxWYRedXA5bCucOEpnVKSG8Q8DJs+nQvIFyWiFyvEHC9dqT+fR+gYV6QIIkb16RbE42shV0aGy+/7T6I7CxW0taNMliz9tuAsmpmSFyJeiHAUqzqiygtkaeHhVgVCtObFSXjiY/tmR0Ye3Z6/nYYqPUR9rDyVQI2xhYjzwSm8hF6ZolQ6iEaTGaeVr8u/WcAPAYz6vmC3rlt6KOYq3BFmvegdlsQGRzAr9pnbDneU4Htgcs4bWF+UFMWcDyDYVDR5CE2RijAhirNacldqjwV/PN8t7ggFDjbCrTGUpgWyR2dn28WyDII05odU9BepUfiFNDIBeKRlyHh32+QK3wGXjzDSmB+jarm9mE+l2ld5aVsqAjh4oLJkOUMfwQFypuXkoxwg6M1CTQJ34RPb3iuaHN7ZGeg7G9AYYzDG9/hA="},{"rawBytes":"MIIGLzCCBBegAwIBAgIQO+msbE+PywvrJE10RDOsnTANBgkqhkiG9w0BAQ0FADB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MB4XDTI2MDMxOTEyNTUzMVoXDTI2MDYyNzEzNTUzMVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMREwDwYDVQQKEwhDb2luYmFzZTERMA8GA1UECxMIU2VjdXJpdHkxIjAgBgNVBAMTGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9QQuMCa1rOJaw7lmbXoueKWsoFwHrBit7CKGy9/Q8j2lUncDC9Xivod/S0BGgt/5r0/+DmVOkpMpM1GYPwFfI2fmcRxogGXWnPfr/MPGWAolLWKYVcY1t9+Wt/HYwx7E5LMxg35M2WNZ0mNqhu+dfVxRY03maPNfrBCKa3oUCMsuEkfJRCgb9hzQ8WjTrqNwSlGPFEgzLLUHg0IHmG/v1cWbTeemWNeRo4J4o2CQPVNo1wbZZVOkn0Jq5ZtZgjmE6dbHKVMbsC4nzfSZGcUMs20ZjLGWfP7qM3M/YHqaEQpucVvUGNwbkoVw7ix4BNaVBMMIvH0yeCHwy8O90G5QJssWW1YI+RKBlVK+RCNH7qjvU3xXOL0SL+blMtg/ie7AJYp0QhsZlWOadLf6gwRboZehwov1xmgqWMHVnGAwFDolxeNCxVvJ3u27dQXNUCepN6X12M/yLAL9svy1Rm4ExNFHBhQQH4PSJDucBS/hZEAg3gsfLAUpZmW8K1qsarNpZpkGrh6vseQpoAOqKmr9NiziCrcAkgJdNzqqS02v2E223Zsrb+CI9FpRF1DO8DGnQIskBbxxVViQ+6o+x4ssuiyuRCgx3U1DhuRfhHk/PCuTZRU0UkhMIQUXD1IzswvXi2J3k82mvA3ng5letdAiuIQ3RWuM88NHyYs0FghzemQIDAQABo4GqMIGnMEEGA1UdEQQ6MDiCGWNvcnBvcmF0ZS5kZXZpY2UuY2JocS5uZXSGGy8vY29ycG9yYXRlLmRldmljZS5jYmhxLm5ldDASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFExbVXNPLXz4r9YiQ79CbLMXuP9rMB0GA1UdDgQWBBRSzRFwzEGi/fn9OnaHPNUjyCxBwDAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAIATeuPQVUrnx3Y+uHwIQ6wPiZBpumXx3syaO+WVJqvk9Qejge5UifHQlg9ZtSlm1kBOa/gu+NRfHMGO4MWhtf0T+v4bkfHyRUUwK30qGYuzhGNPI92YaSML/qZZAUu0FZ36P+tkIA2CT0788B1ZtacZ6eAPhLIoTWVxsBVmyjjip/IRVa5ixjLzYxH0Zedqz6DijjSrbv6L6enGq0dQqLbNzVeo3blDsGxPuTAc4TPQwxRDfMgbbUH8jlwrK757aKMhIVAc6WwUJFVKLdhUYMhY9nxMqW1+fbcM2IDjbfm76rwSZDrIACMurQ5/mfowc4JRZ9Bn6+32Uk3h28mVWxW/qPbdXMdzXw9UR+Zszfg9w8mPtj4RZemFqm/wRVnHGIDXT/1bRXgmw0f8iXvzhnlxgox2bBzpuIClpXQQVdPF6Yu/eIFLiJwyo3pJFQjcWjtorkcBtrb1ixhU5UPBr1PSqcMO+mh6I53JCVmEdHI9UbUHHVToOMYrmZPrmhPdM2kcxYTw4j0qpFtpDTFKO0Gtkl80BtT/auKhFs6MH3800j/xNfNOw3zQq9Egn/U2wSVNsjzlMF7DV7g/ki6RlUKzI/RGOWG/haCJSaJVwyNcHoun+QG40lnYprj78uH903/09lCz+q8iqGuLH2Pk6pREr3RDLbM7lPhjMuYfBQ6E"},{"rawBytes":"MIIGMTCCBBmgAwIBAgIUNtuh8wFw/jnlkGdEz7zTllqXWlEwDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wHhcNMjIwODIzMTUxNjQ2WhcNMzIwODIwMTUxNjQ2WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExIzAhBgNVBAMMGmNiLmNvcnBvcmF0ZS11c2UxLmNiaHEubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqJvth9m6qWnJ0TDdmxr8b2vKPCmFLDbMdQSbZy73rsgu4kTXd4oHig+h6IzPFS5N3m2UrFOZY2fmUZ4IEjE5c7zVPbrhmDw/cKyW68/z0awxFo98zO83mehE6wCijoNG51SzJipWnp5qZhTIQyJ7Htb4ETJEtnguOpqKq9PyzpZqxukky5AHS4TlHr+ERvQGG00HDadVV19d6NGMKjovH5Gz80dR5W5nmE32ha/0rWDzZJ2fo4eWbg3hcs5Ndxt3y/tj4BiwUgGD9Cmi6m8ufnjn+2oRzFCvZHSCIbSBH7Ci5r5H1m0H2X0rLTvipBLhNiRivjX7svWfO/QbzqC47EIR+VFb6+L6HLef8vns0CVSQyH6ONlHlIffQPHGYkgfKcS5Q6QXr4Nr9Czzbsj+n4Ax2/PUu2jiaVoQ9HyVbuWyLB0mPfhWf/FuDlyNMLNuwvoIP5rkGOq2xuQF9Bjo1YX3Y1Y9Gnf0D4pNb1JaGMTN21r4XAEMG9cpZFNGFQk7JHWZAgs7LNORY+eDOu0lzFif2DDPgPPuRvsez0lkMIm6dGo5khHWEMKyDPjYsj5oVy0n8T4lJZWppK8FAdYc3IfyWi9XrZM7IC8GzKIMo+farRB4kFEMJ9otfDDoFaZ8cWZEkGBeMxx1cI89FIf6fegAx9qEs8gKe4gfeowHi8ECAwEAAaOBkDCBjTAdBgNVHQ4EFgQUTFtVc08tfPiv1iJDv0Jssxe4/2swHwYDVR0jBBgwFoAU9fzvbQ0jyhtIll1fMnKXwKvTL1kwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAYYwJwYDVR0lBCAwHgYIKwYBBQUHAwMGCCsGAQUFBwMCBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOCAgEAVDZIKmyi2ep1+Tr37y6UriPy6JD3BIRSDOWM5m0dNvxw7BfNcewm8s35ejmXTCx90amZTLVGCYATcJZnM83aCzV+WoZYEiO+zQiZcxOrCMYNl4wVjVcxukkx1GE0/QLvgadifB18gyAahyYX4vMU3cfoPTWWL+OnMuhx/aei7KlwGY14dv/JBnZIdlQAvo8xH+XWkf1hB4y9kZhn9vzRcyb0AhHcKZFQEJcHP2QyU1JaI1jkeuN/ZzFl01o3QC82hDBRdb8c4OS0W2ObjKj3KyKAsbaiqKFJztmOzFYCIzRFWKvM3WwIphyUerjoTDdqTfSSGaF7bXB+VamJDYx1Ls+/+YZlH5AsowtYIApLucyJPflgwDh0ab0ycNSXPBSOncP4OlcQEC5QU1FTI7l2Mp0/0F/fYZpVO0LoMZx5mIknER0Htm0b0U0qf4/vlUK/9wvu4vT0Vz7VX9c5xfuUWOC6nnmncCQC6C3dlO7Xc9KqYzKVQWqjvo3HIHauhsD50aiVrvqmYjJV7vr3sVhaTFkiY+pESwSfhkzF1GmVkJ7arkKTqwxXABfcAtu3x+mbrAUal2PrY24rIk6oz1ljFNACw3X6nay221c8fGvy/Bg9UCuy1QWxrYyO01Qmra562r6JNPYx+4pgS/dWBQkAJvzhSrP9DJISJWWri9xS8jY="},{"rawBytes":"MIIGHjCCBAagAwIBAgIUOe6oERfHQQKHTQSpiAvABT6OjW0wDQYJKoZIhvcNAQENBQAwgZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMQ29pbmJhc2UgTExDMQ4wDAYDVQQLDAVJbmZyYTEVMBMGA1UEAwwMQ0ItUk9PVC1DT1JFMSEwHwYJKoZIhvcNAQkBFhJpbmZyYUBjb2luYmFzZS5jb20wIBcNMjIwODIzMTUxNjA1WhgPMjA1MjA4MTUxNTE2MDVaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDENvaW5iYXNlIExMQzEOMAwGA1UECwwFSW5mcmExFTATBgNVBAMMDENCLVJPT1QtQ09SRTEhMB8GCSqGSIb3DQEJARYSaW5mcmFAY29pbmJhc2UuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsVDJrM5nGmY4ygEKnoYmU/AjgYZrnkG7Fwo8FVblMA3WQRgTy9qZXtl2d5WWs/rdmh6AvvqtmirtqkTiI/RxzIMTRawMmeHrRBDbLqxNPBHK5liurkTqSyntMeY1Tba6xu+FxFolbL2EKeAKrbr7/0pVDvE7485mVhb8SaJubRFPkaX3DVDfjG7Jii5Jtz1qvV0SpV3+DwoE8BLaJp9ZcqnKpOdcPAaFLjXQAtEZnRNoAG0O/F0FgTWZd+G8X5rw4Ssc0bd7BvchIfErMtgewBhbCIYlFYv1ygH0HJ3qp1KmLWXEuypCUP2gQaSzJNzBq+afNQafS4WQSaovGtQtpHJbZglJjikPvTZEGSVpdcu8kUeqFbCB3sagjR723q6/gEakl3XiBfi2JHoCxRdA8X6hba2ixRNpC5zpk11G9Jqqp6p2MxFT3Onui70fzU801VGxwPmgMWFigHRFWblaMBCB5iQJr9DsIKLgYR7HNpT/Pzmxph2iYBeS3bWhSobWEnfjIG5mei0bIKRXxtsffqKRc3GVfvhvewFv4pYLGTpaAVA5B5gjpNlv0DjfCzz1SHm8Z8i4ZynPv02NA6qASsuvcC2j4XFobF1RXMsVjExVWnZSi7RvwFyzdLS/oMByPS85lzqyOv1BX+lyL56Ir586x5CcemE5p0KxLy762A0CAwEAAaNmMGQwHQYDVR0OBBYEFPX8720NI8obSJZdXzJyl8Cr0y9ZMB8GA1UdIwQYMBaAFPX8720NI8obSJZdXzJyl8Cr0y9ZMBIGA1UdEwEB/wQIMAYBAf8CAQIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDQUAA4ICAQBsvc8vzBTavudnrxt4lCMflvjs0krwzf77T08qaQLFfGBtpPt98WNJU5jOvObgxr5abpE7wtInZ6z08UsfU9l1g+nVoAlWa5AYheBp4UmM3AecRaDjJT6H/WK8ckVsyfLopDtVR4dmRdCghoIKDTzSPK4n3Fqs6VtxcTOcYbG9e8XoQD/mGH/ruR89AV7fdKaSobrfRSHwBK3kFg8Yn8PdgWFIDXeQj9gE+Ym2YQD2r7jcWpo8Umns03GrJrkiMH5VdAGJ7WqLF3EFF30RvlSQxCiaOByf+J0NW4gwKZ8+vK/AKhO2rviiHJDiafLbqmI3XSTGplfDGyz2nveW/0gZA4t2vFJHCX3TIEPwuLamZLgDMqTktv0fvu4sXrPJORawO8KDAvicSB0h6bU6+p9/djcrj3CA6bQiDA5VB3qEpGFCRLf/Ds9yOq1H0b/pQ6vKb1OCL+cUKGs8QU8jt0rsdF/fUwwVMA3JUeh7tGcnqoh9u4TjFX1835sVSN2oynuOJJ10kRmvKy5rpZKvaq0NlQzIulFHrTfpKdCO9cQUFYk0D1WS8IRWypT2m/V/qo3kU3hkDJuL2eyF0nSLuQ7/3JnhNXL1Yuj+gs2eIYSMFfi3kerWmet/aEzkTlgVoARwSZATP1t+a6DRZjTTDoqXixSZTr+PfpstDvtB8zgwWA=="}]},"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIICyjADAgEAMIICwQYJKoZIhvcNAQcCoIICsjCCAq4CAQMxDTALBglghkgBZQMEAgEwgbgGCyqGSIb3DQEJEAEEoIGoBIGlMIGiAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgPQ6czppjGoe+0rjRSqAel4WvHoE6j2z9nnmI6SgYElUCFQCdmhmrSCGswSAQ8EwBYDQqXqHiXRgPMjAyNjAzMjUxMzUyMjBaMAMCAQGgMqQwMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhoAAxggHbMIIB1wIBATBRMDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAsGCWCGSAFlAwQCAaCB/DAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTI2MDMyNTEzNTIyMFowLwYJKoZIhvcNAQkEMSIEIMLQWvZlCEY0dhFv3tt5LeHWbfzQ/rgjHx9kt+f4P/sbMIGOBgsqhkiG9w0BCRACLzF/MH0wezB5BCCF+Se8B6tiysO0Q1bBDvyBssaIP9p6uebYcNnROs0FtzBVMD2kOzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAgRnMGUCMHcXrxDUoBHJaOJfjYbucH15NdAgtnYCA0ZPul5DwijKSoYGsfMBWFoMFSAEDlJOLgIxAKLsajrRdtoQq+92lnrvtP7vxp3KQMDupc+2jvH9CsG+LUAusRy6cq79DjaEN8tk0Q=="}]}},"messageSignature":{"messageDigest":{"algorithm":"SHA2_384","digest":"TW+En7aZ4Tn7/Dd86FCgviZVqDvaECXjaA3rMzbG7234ITof6aovgorMjp54H1h1"},"signature":"MGUCMA1rT0YU/aF+VtgYXM/U5IK18qOkDNB+CFneln/AxY83n2P0iaEj8mqrtD6CWZ+IFAIxANsNDmRmhkXh3c6FEWRAfHj2Zc9q/dF+kJVTrNx3j+vW5fEp+Ud0/xVbAWhThFfwMw=="}} ================================================ FILE: sepolia-alpha/2023-09-20-deploy/Makefile ================================================ include ../../Makefile include ../.env include .env ## # Deploy command ## .PHONY: deploy deploy: cp deploy-config/deploy-config.json lib/optimism/packages/contracts-bedrock/deploy-config/ cd lib/optimism/packages/contracts-bedrock && \ forge build && \ ETH_RPC_URL=$(L1_RPC_URL) DEPLOYMENT_CONTEXT=deploy-config IMPL_SALT=base forge script --private-key $(PRIVATE_KEY) --rpc-url $(L1_RPC_URL) Deploy --broadcast cp lib/optimism/packages/contracts-bedrock/deployments/deploy-config/.deploy deployed/addresses.json ================================================ FILE: sepolia-alpha/2023-09-20-deploy/deploy-config/deploy-config.json ================================================ { "finalSystemOwner": "0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430", "portalGuardian": "0x4F43c7422a9b2AC4BC6145Bd4eE206EA73cF8266", "l1StartingBlockTag": "safe", "l1ChainID": 11155111, "l2ChainID": 11763072, "l1BlockTime": 12, "l2BlockTime": 2, "maxSequencerDrift": 600, "sequencerWindowSize": 3600, "channelTimeout": 300, "p2pSequencerAddress": "0xfd7bc3C58Fe4D4296F11F7843ebbA84D729A24B9", "batchInboxAddress": "0xFf00000000000000000000000000000011763072", "batchSenderAddress": "0x212dD524932bC43478688F91045F2682913ad8EE", "l2OutputOracleSubmissionInterval": 120, "l2OutputOracleStartingBlockNumber": 0, "l2OutputOracleStartingTimestamp": -1, "l2OutputOracleProposer": "0xBcB04FC753D36dcEeBe9Df7E18E23c46D1fcEA3c", "l2OutputOracleChallenger": "0x5a533AaAC6cd81605b301a1077BC393A94658B6D", "finalizationPeriodSeconds": 12, "proxyAdminOwner": "0x90128dbCee6178169BBc3CA90c18a93602A53721", "baseFeeVaultRecipient": "0x72dbd6eCAA183178716c676E028f715b7f906076", "l1FeeVaultRecipient": "0x7019038c0c3eBC188b42521040A4b8Eb8F9B25c3", "sequencerFeeVaultRecipient": "0x87663bB7DcFBebb9be155da59F36B4e5c5688e64", "baseFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "l1FeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "sequencerFeeVaultMinimumWithdrawalAmount": "0x1bc16d674ec80000", "baseFeeVaultWithdrawalNetwork": 0, "l1FeeVaultWithdrawalNetwork": 0, "sequencerFeeVaultWithdrawalNetwork": 0, "gasPriceOracleOverhead": 2100, "gasPriceOracleScalar": 1000000, "governanceTokenSymbol": "NA", "governanceTokenName": "NotApplicable", "governanceTokenOwner": "0x5cd5866C3822e18b02487BEc09A31e0229370a08", "l2GenesisBlockGasLimit": "0x17D7840", "l2GenesisBlockBaseFeePerGas": "0x3b9aca00", "eip1559Denominator": 50, "eip1559Elasticity": 10, "l2GenesisRegolithTimeOffset": "0x0", "systemConfigStartBlock": 0, "requiredProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000", "recommendedProtocolVersion": "0x0000000000000000000000000000000000000000000000000000000000000000" } ================================================ FILE: sepolia-alpha/2023-09-20-deploy/deployed/addresses.json ================================================ { "AddressManager": "0x882a60911d00867Fe4ea632C479cc48e583A8D69", "L1CrossDomainMessenger": "0xAf347D24F99E9f66BE6d4AD47A599d6a417cD14F", "L1CrossDomainMessengerProxy": "0x2cbD403d5BA3949D24ee4dF57805eaC612C2662f", "L1ERC721Bridge": "0x0978b4dC20a50434cBFEe73917d52F2c7C54d908", "L1ERC721BridgeProxy": "0xc3016ED03E087d092d576B585F5222fFD9cadc10", "L1StandardBridge": "0xfB74918FEbA5A73FC55b6B38023bD6B755d6A211", "L1StandardBridgeProxy": "0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c", "L2OutputOracle": "0xDb9B05A5573Cf6bFD77e0d516455Ab1b9217F6c4", "L2OutputOracleProxy": "0xB5901509329307E3f910f333Fa9C4B4A8EE7CE1A", "OptimismMintableERC20Factory": "0xeb18726dAC6f3C1a09d7ccA96fdb3f8Df1515df6", "OptimismMintableERC20FactoryProxy": "0xEAa11178375e6B1078d815d6F9F85cBbb69b09Cd", "OptimismPortal": "0xCe7b8049D23F77e7b71AD45647D1B6C136a79b55", "OptimismPortalProxy": "0x579c82A835B884336B632eeBeCC78FA08D3291Ec", "ProtocolVersions": "0x31c34D99B3E426DD84247B8716139109eD57546F", "ProtocolVersionsProxy": "0xDe8dBb1c0D2A6e22c8927cF80ddeE001d9eCd2c4", "ProxyAdmin": "0xC5aE9023bFA79124ffA50169E1423E733D0166f1", "SystemConfig": "0xE850222383d980Df54AA5245e547a1B35CD2463A", "SystemConfigProxy": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE" } ================================================ FILE: sepolia-alpha/2023-09-20-deploy/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] script = 'script' broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 remappings = [ # '@optimism/=lib/optimism/packages/contracts-bedrock', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@cwia/=lib/clones-with-immutable-args/src', 'safe-contracts/=lib/safe-contracts/contracts/', ] ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/.gitignore ================================================ /src/ ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: prepare prepare: rm -rf src cp -r lib/optimism/packages/contracts-bedrock/src/ src/ .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeployL1StandardBridgeImplementation --broadcast .PHONY: upgrade upgrade: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeL1StandardBridge --broadcast ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 via-ir = true remappings = [ '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@cwia/=lib/clones-with-immutable-args/src' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/records/DeployL1StandardBridge.s.sol/11155111/run-1696723112.json ================================================ { "transactions": [ { "hash": "0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2", "transactionType": "CREATE2", "contractName": "L1StandardBridge", "contractAddress": "0x09753d716687D68c45a6800128eE111A412E1B1C", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x24a1704636ab7083eac56294aff13e1651997638", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", "gas": "0x29b90d", "value": "0x0", "data": "0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f60a08060405234610184577342000000000000000000000000000000000000106080526000549060ff8260081c161580610177575b1561011e575061ffff1916610103811760081c60ff16156100c557600380546001600160a01b03191681559081176000556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a160405161227b908161018a8239608051818181610316015281816108be01528181610d3301528181611aec0152611d640152f35b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b62461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50600360ff831610610034565b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021610c2f565b005b60003560e01c80630166a07a1461012c57806309fc8843146101235780631532ec341461016b5780631635f5fd1461016b5780633cb747bf1461013e578063540abf731461015957806354fd4d501461016257806358a997f6146101505780637f46ddb214610111578063838b25201461015957806387087623146101505780638f601f661461014757806391c49bf814610111578063927ede2d1461013e5780639a2ac6d514610135578063a9f9e6751461012c578063b1a1a88214610123578063c4d66de81461011a578063c89701a2146101115763e11013dd0361000e5761010c610980565b61000e565b5061010c610872565b5061010c6109f8565b5061010c61037d565b5061010c61024b565b5061010c610980565b5061010c6104a7565b5061010c6108e2565b5061010c6107e5565b5061010c6104fa565b5061010c610764565b5061010c6103fa565b73ffffffffffffffffffffffffffffffffffffffff81160361019257565b600080fd5b9181601f840112156101925782359167ffffffffffffffff8311610192576020838186019501011161019257565b9060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610192576004356101fc81610174565b9160243561020981610174565b9160443561021681610174565b9160643561022381610174565b916084359160a4359067ffffffffffffffff82116101925761024791600401610197565b9091565b50346101925761002161025d366101c5565b956102ca6102a261028960039894989795975473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216331491826102cf575b5050610ec1565b6113cb565b60049250602090604051938480927f6e296e450000000000000000000000000000000000000000000000000000000082525afa918215610370575b600092610340575b50807f00000000000000000000000000000000000000000000000000000000000000001691161438806102c3565b61036291925060203d8111610369575b61035a8183610639565b810190610e9c565b9038610312565b503d610350565b610378610eb4565b61030a565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043563ffffffff81168103610192576024359067ffffffffffffffff8211610192576103f16103df610021933690600401610197565b6103ea333b15610ba4565b3691610d92565b903433336119f2565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561043181610174565b6024359061043e82610174565b6064359167ffffffffffffffff831161019257610462610021933690600401610197565b92909161049373ffffffffffffffffffffffffffffffffffffffff80600354169081331491826102cf575050610ec1565b60443591611113565b600091031261019257565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b50346101925760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561053681610174565b6024359061054382610174565b6044359161055083610174565b6084359063ffffffff821682036101925760a4359367ffffffffffffffff8511610192576105886103ea610021963690600401610197565b93606435923391611bfd565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116105d857604052565b6105e0610594565b604052565b6040810190811067ffffffffffffffff8211176105d857604052565b6020810190811067ffffffffffffffff8211176105d857604052565b6060810190811067ffffffffffffffff8211176105d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176105d857604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff81116106b6575b01160190565b6106be610594565b6106b0565b604051906020820182811067ffffffffffffffff8211176106e8575b60405260008252565b6106f0610594565b6106df565b91908251928382526000905b84821061074c5750601f84602094957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0931161073f575b0116010190565b6000858286010152610738565b90602090818082850101519082860101520190610701565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576107e16040516107a3816105e5565b600581527f312e342e3000000000000000000000000000000000000000000000000000000060208201526040519182916020835260208301906106f5565b0390f35b50346101925760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101925760043561082181610174565b60243561082d81610174565b60643563ffffffff81168103610192576084359267ffffffffffffffff8411610192576108646103df610021953690600401610197565b926044359133913391611bfd565b50346101925760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101925760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257602061097760043561092381610174565b73ffffffffffffffffffffffffffffffffffffffff6024359161094583610174565b166000526002835260406000209073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610192576004356109b781610174565b6024359063ffffffff82168203610192576044359167ffffffffffffffff8311610192576109ef6103ea610021943690600401610197565b913490336119f2565b50346101925760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019257600435610a3481610174565b60005460ff8160081c16159081610b96575b5015610b1257610ab690610a8060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006000541617600055565b610ab16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff6000541617600055565b610dc9565b610ae37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff60005416600055565b604051600381527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b6003915060ff161038610a46565b15610bab57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152fd5b610c3a333b15610ba4565b610cb7604051610c4981610601565b60008152610c5981343333611b26565b610ce3610c7e61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b916040519384917f1635f5fd0000000000000000000000000000000000000000000000000000000060208401523433336024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610639565b803b1561019257610d5c9160009160405180809581947f3dbb202b00000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048401611977565b039134905af18015610d85575b610d705750565b80610d7d610d83926105c4565b8061049c565b565b610d8d610eb4565b610d69565b929192610d9e8261067a565b91610dac6040519384610639565b829481845281830111610192578281602093846000960137010152565b60ff60005460081c1615610e185773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006003541617600355565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b908160209103126101925751610eb181610174565b90565b506040513d6000823e3d90fd5b15610ec857565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b15610f7957565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152fd5b1561100457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152fd5b1561108f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152fd5b939291909181340361119c57610d8394828461118261118894611197986103ea73ffffffffffffffffffffffffffffffffffffffff851661115630821415610f72565b61117b61028961028960035473ffffffffffffffffffffffffffffffffffffffff1690565b1415610ffd565b92611237565b5a6111916106c3565b926112c0565b611088565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152fd5b604090610eb19392815281602082015201906106f5565b927f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d91929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631604051806112a9878783611220565b0390a36112bb60405192839283611220565b0390a3565b906000939192849360208451940192f190565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81811061130e570390565b6113166112d3565b0390565b1561132157565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e000000000000000000000000000000000000000000006084820152fd5b946113d586611f47565b156114a7576113ec6113e7838861214c565b61131a565b73ffffffffffffffffffffffffffffffffffffffff861690813b15610192576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101879052610d8398611481939091906000908290604490829084905af1801561149a575b611487575b503691610d92565b94611821565b80610d7d611494926105c4565b38611479565b6114a2610eb4565b611474565b61148190610d839761150c87611506866114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b9073ffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54611303565b61153a856114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b5561155c878773ffffffffffffffffffffffffffffffffffffffff8b16611561565b6103ea565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90921660248301526044820192909252610d83916115c08260648101610cb7565b611668565b90816020910312610192575180151581036101925790565b156115e457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040519061168c826105e5565b6020928383527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656484840152803b1561170357600082819282876116de9796519301915af16116d8611761565b90611791565b805190816116eb57505050565b82610d83936116fe9383010191016115c5565b6115dd565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b3d1561178c573d906117728261067a565b916117806040519384610639565b82523d6000602084013e565b606090565b9091901561179d575090565b8151156117ad5750805190602001fd5b6117eb906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906106f5565b0390fd5b610eb1939273ffffffffffffffffffffffffffffffffffffffff606093168252602082015281604082015201906106f5565b926118ab7fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b36040518061189c878b8b846117ef565b0390a4604051938493846117ef565b0390a4565b156118b757565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152fd5b9092610eb1949360809373ffffffffffffffffffffffffffffffffffffffff8092168452166020830152604082015281606082015201906106f5565b92916119ad60409173ffffffffffffffffffffffffffffffffffffffff62030d40941686526060602087015260608601906106f5565b930152565b916119eb63ffffffff9173ffffffffffffffffffffffffffffffffffffffff6040949796971685526060602086015260608501906106f5565b9416910152565b611a9b90949194939293611a078534146118b0565b611a1383868884611b26565b611a6f611a3861028960035473ffffffffffffffffffffffffffffffffffffffff1690565b93866040519889947f1635f5fd0000000000000000000000000000000000000000000000000000000060208701526024860161193b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101865285610639565b803b1561019257611b15936000936040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b03925af18015610d8557610d705750565b927f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af591929373ffffffffffffffffffffffffffffffffffffffff80911693169384847f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23604051806112a9878783611220565b81198111611ba4570190565b611bac6112d3565b0190565b9293610eb19695929160c09573ffffffffffffffffffffffffffffffffffffffff809481809416885216602087015216604085015216606083015260808201528160a082015201906106f5565b9493909195611c0b86611f47565b15611dad57611c1d6113e7848861214c565b73ffffffffffffffffffffffffffffffffffffffff861691823b15610192576040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8916600482015260248101829052611d1295610cb7949091906000908290604490829084905af18015611da0575b611d8d575b505b611cba8383838c898d611ecc565b611cdc61028960035473ffffffffffffffffffffffffffffffffffffffff1690565b986040519889967f0166a07a00000000000000000000000000000000000000000000000000000000602089015260248801611bb0565b823b1561019257611b1592600092836040518096819582947f3dbb202b00000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016600485016119b2565b80610d7d611d9a926105c4565b38611caa565b611da8610eb4565b611ca5565b81611d1294611dd7610cb794308b73ffffffffffffffffffffffffffffffffffffffff8c16611e43565b611e0f82611e09876114e18c73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b54611b98565b611e3d866114e18b73ffffffffffffffffffffffffffffffffffffffff166000526002602052604060002090565b55611cac565b9092610d8393604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825260a0820182811067ffffffffffffffff821117611ebf575b604052611668565b611ec7610594565b611eb7565b926118ab7f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf9395929473ffffffffffffffffffffffffffffffffffffffff8080921696169616968787877f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d03966040518061189c878b8b846117ef565b611f5081612019565b908115611f5b575090565b9050611f66816120a8565b9081612007575b81611f76575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fec4fc8e300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b5191617530fa6000513d82611ffb575b5081611ff4575090565b9050151590565b60201115915038611fea565b9050612012816120ea565b1590611f6d565b612022816120a8565b9081612096575b81612032575090565b60209150600090604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527f1d1d8b6300000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b90506120a1816120ea565b1590612029565b6000602091604051838101907f01ffc9a700000000000000000000000000000000000000000000000000000000808352602482015260248152611fda8161061d565b6000602091604051838101907f01ffc9a70000000000000000000000000000000000000000000000000000000082527fffffffff00000000000000000000000000000000000000000000000000000000602482015260248152611fda8161061d565b61215581612019565b156121e657604051907fc01e1bd600000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9575b6000916121bb575b501691161490565b6121d3915060203d81116103695761035a8183610639565b386121b3565b6121e1610eb4565b6121ab565b604051907fd6c0b2c400000000000000000000000000000000000000000000000000000000825281602081600473ffffffffffffffffffffffffffffffffffffffff95868096165afa9081156121d9576000916121bb5750169116149056fea2646970667358221220f0ce1b4960361b2d5bf8aac4bc81ea4c00ee5061710e9318ddef54d10c4be7ce64736f6c634300080f0033", "nonce": "0x4f", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2", "transactionIndex": "0x1", "blockHash": "0xd2ee4b715f07e9fb065f3243109fef64ddb1c0d56eb06201f3d9867fe625a7b7", "blockNumber": "0x43d972", "from": "0x24A1704636AB7083eaC56294aFF13e1651997638", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", "cumulativeGasUsed": "0x28deb0", "gasUsed": "0x1e3726", "contractAddress": null, "logs": [ { "address": "0x09753d716687D68c45a6800128eE111A412E1B1C", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xd2ee4b715f07e9fb065f3243109fef64ddb1c0d56eb06201f3d9867fe625a7b7", "blockNumber": "0x43d972", "transactionHash": "0xc3b349fe899bf316844353befcecd49f09d05093a64a866796a990a9ac5118e2", "transactionIndex": "0x1", "logIndex": "0x1", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000080000000000020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e09" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1696723112, "chain": 11155111, "multi": false, "commit": "536e2db" } ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/records/UpgradeL1StandardBridge.s.sol/11155111/run-1696723324.json ================================================ { "transactions": [ { "hash": "0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d", "transactionType": "CALL", "contractName": "ProxyAdmin", "contractAddress": "0xC5aE9023bFA79124ffA50169E1423E733D0166f1", "function": "upgradeAndCall(address,address,bytes)", "arguments": [ "0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c", "0x09753d716687D68c45a6800128eE111A412E1B1C", "0xc4d66de80000000000000000000000002cbd403d5ba3949d24ee4df57805eac612c2662f" ], "transaction": { "type": "0x02", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "gas": "0x12955", "value": "0x0", "data": "0x9623609d0000000000000000000000005638e55db5fcf7a58df525f1098e8569c8dba80c00000000000000000000000009753d716687d68c45a6800128ee111a412e1b1c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de80000000000000000000000002cbd403d5ba3949d24ee4df57805eac612c2662f00000000000000000000000000000000000000000000000000000000", "nonce": "0x0", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d", "transactionIndex": "0x0", "blockHash": "0xa76dd0094b06896ad975f02c06abeb80fc4f9a4b9f0053be9f414eb882db42a6", "blockNumber": "0x43d981", "from": "0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430", "to": "0xC5aE9023bFA79124ffA50169E1423E733D0166f1", "cumulativeGasUsed": "0xd744", "gasUsed": "0xd744", "contractAddress": null, "logs": [ { "address": "0x5638e55db5Fcf7A58df525F1098E8569C8DbA80c", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0xa76dd0094b06896ad975f02c06abeb80fc4f9a4b9f0053be9f414eb882db42a6", "blockNumber": "0x43d981", "transactionHash": "0xa63dfa96501acae92aabb3bb113a13ae7db6bda30900642015bec7008d03fc0d", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "effectiveGasPrice": "0xb2d05e0b" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1696723324, "chain": 11155111, "multi": false, "commit": "536e2db" } ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/script/DeployL1StandardBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "src/L1/L1StandardBridge.sol"; import "src/universal/CrossDomainMessenger.sol"; import "forge-std/Script.sol"; contract DeployL1StandardBridgeImplementation is Script { address internal DEPLOYER = 0x24A1704636AB7083eaC56294aFF13e1651997638; address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress("L1_STANDARD_BRIDGE_PROXY"); function implSalt() public returns (bytes32) { return keccak256(bytes(vm.envOr("IMPL_SALT", string("base")))); } function run() public { L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY)); CrossDomainMessenger messenger = proxy.messenger(); console.log("Current L1CrossDomainMessenger value: %s", address(messenger)); string memory version = proxy.version(); console.log("Current L1StandardBridge version: %s", version); vm.broadcast(DEPLOYER); L1StandardBridge bridge = new L1StandardBridge{ salt: implSalt() }(); console.log("New L1StandardBridge deployed at %s", address(bridge)); version = bridge.version(); console.log("New L1StandardBridge version: %s", version); require(address(bridge.MESSENGER()) == address(0)); require(address(bridge.messenger()) == address(0)); require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); } } ================================================ FILE: sepolia-alpha/2023-10-06-upgrade-l1-standard-bridge/script/UpgradeL1StandardBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "src/L1/L1StandardBridge.sol"; import "src/L1/L1CrossDomainMessenger.sol"; import "src/universal/CrossDomainMessenger.sol"; import "forge-std/Script.sol"; import "src/universal/ProxyAdmin.sol"; contract UpgradeL1StandardBridge is Script { address internal L1_STANDARD_BRIDGE_PROXY = vm.envAddress("L1_STANDARD_BRIDGE_PROXY"); address internal NEW_IMPLEMENTATION = 0x09753d716687D68c45a6800128eE111A412E1B1C; address internal PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); address internal PROXY_ADMIN_OWNER = vm.envAddress("PROXY_ADMIN_OWNER"); function run() public { L1StandardBridge proxy = L1StandardBridge(payable(L1_STANDARD_BRIDGE_PROXY)); CrossDomainMessenger messenger = proxy.messenger(); console.log("Current L1CrossDomainMessenger value: %s", address(messenger)); string memory version = proxy.version(); console.log("Current L1StandardBridge version: %s", version); L1StandardBridge bridge = L1StandardBridge(payable(NEW_IMPLEMENTATION)); console.log("Upgrading L1StandardBridge implementation to: %s", address(bridge)); require(address(bridge.MESSENGER()) == address(0)); require(address(bridge.messenger()) == address(0)); require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); ProxyAdmin proxyAdmin = ProxyAdmin(PROXY_ADMIN); require(uint256(proxyAdmin.proxyType(L1_STANDARD_BRIDGE_PROXY)) == uint256(ProxyAdmin.ProxyType.CHUGSPLASH)); vm.broadcast(PROXY_ADMIN_OWNER); proxyAdmin.upgradeAndCall({ _proxy: payable(L1_STANDARD_BRIDGE_PROXY), _implementation: address(bridge), _data: abi.encodeCall(L1StandardBridge.initialize, (L1CrossDomainMessenger(address(messenger)))) }); version = proxy.version(); console.log("New L1StandardBridge version: %s", version); console.log("New L1CrossDomainMessenger value: %s", address(proxy.messenger())); require(address(proxy.MESSENGER()) == address(messenger)); require(address(proxy.messenger()) == address(messenger)); require(address(proxy.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE); require(address(proxy.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE); } } ================================================ FILE: sepolia-alpha/2024-05-15-update-scalars/Makefile ================================================ include ../../Makefile include ../.env include .env # Update Gas Config command .PHONY: update-gas-config update-gas-config: @forge script --rpc-url $(L1_RPC_URL) UpdateGasConfigSepolia --private-key $(PRIVATE_KEY) --broadcast ================================================ FILE: sepolia-alpha/2024-05-15-update-scalars/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = true remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2024-05-15-update-scalars/records/UpdateGasConfig.s.sol/11155111/run-1715900079.json ================================================ { "transactions": [ { "hash": "0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE", "function": "setGasConfig(uint256,uint256)", "arguments": [ "0", "452312848583266388373324160190187140051835877600158453279135721989878065482" ], "transaction": { "type": "0x02", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "gas": "0xc851", "value": "0x0", "data": "0x935f029e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c110000294a", "nonce": "0x1", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "transactionHash": "0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae", "transactionIndex": "0x13", "blockHash": "0x35417220b69ab9544562e6b34bddf348f16868dcdd08b8a160280856077733af", "blockNumber": "0x5a4b4f", "from": "0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430", "to": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE", "cumulativeGasUsed": "0x1e08aa", "gasUsed": "0x9107", "contractAddress": null, "logs": [ { "address": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000101c110000294a", "blockHash": "0x35417220b69ab9544562e6b34bddf348f16868dcdd08b8a160280856077733af", "blockNumber": "0x5a4b4f", "transactionHash": "0x1d0b032ada2f58cb9252143fa3ce92711f7e587f12f5bfd591c9580fb5af13ae", "transactionIndex": "0x13", "logIndex": "0x39", "removed": false } ], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000008000000000000040000000400000000000000000000000000000000000000040000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000010000000000000000000000000000000000000000000000008000000000", "type": "0x2", "effectiveGasPrice": "0x3c023e844" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1715900079, "chain": 11155111, "commit": "2092a8f" } ================================================ FILE: sepolia-alpha/2024-05-15-update-scalars/script/UpdateGasConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import "forge-std/Script.sol"; contract UpdateGasConfigSepolia is Script { address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); uint256 internal SCALAR = vm.envUint("SCALAR"); address internal OWNER = vm.envAddress("OWNER_ADDRESS"); function _postCheck() internal view { require(SystemConfig(L1_SYSTEM_CONFIG).scalar() == SCALAR); require(SystemConfig(L1_SYSTEM_CONFIG).overhead() == 0); } function run() public { vm.startBroadcast(OWNER); SystemConfig(L1_SYSTEM_CONFIG).setGasConfig(0, SCALAR); _postCheck(); vm.stopBroadcast(); } } ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 0 endif .PHONY: execute-update-batcher execute-update-batcher: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpdateBatcherHash .PHONY: execute-rollback-batcher execute-rollback-batcher: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) RollbackBatcherHash .PHONY: execute-update-proposer execute-update-proposer: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpdateProposer .PHONY: execute-rollback-proposer execute-rollback-proposer: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) RollbackProposer ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/README.md ================================================ # Update Batcher and Proposer addresses in L1 for sSepolia-alpha Status: ready to execute ## Objective We are updating batcher and proposer addresses for sepolia-alpha to keys that are managed by internal key management service. This runbook implements scripts which allow system owner to execute: 1. `UpdateBatcherHash` -- Updates the batcher hash in `SystemConfig` to be the new key. 2. `RollbackBatcherHash` -- Rollback the batcher upgrade. 3. `UpdateProposer` -- Upgrades `PermissionedDisputeGame` contract to have the new proposer. 4. `RollbackProposer` -- Rollback the proposer upgrade. The values we are sending are statically defined in the `.env`. # 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd sepolia-alpha/2024-08-21-update-batcher-proposer make deps ``` # 2. Batcher update ## 2.1. Simulate and validate the transaction ``` shell make execute-update-batcher ``` If the private-key is the owner (or via `vm.prank`), it should start the foundry simulation. The logs should be ``` == Logs == Current batcherHash: 0x000000000000000000000000212dd524932bc43478688f91045f2682913ad8ee New batcherHash: 0x0000000000000000000000007a43fd33e42054c965ee7175dd4590d2bdba79cb ``` ## 2.2. Execute the transaction Once the tx is simulated and validated, modify the `Makefile` to add the owner's private key and `--broadcast` to the `execute` command. ## 2.3. Rollback (if needed) If somehow we need to rollback, we can do the same simulation and execution step as above, but for `make execute-rollback-batcher`. # 3. Proposer update ## 3.1. Simulate and validate the transaction ``` shell make execute-update-proposer ``` If the private-key is the owner (or via `vm.prank`), it should start the foundry simulation. The logs should be ``` == Logs == Current proposer: 0xBcB04FC753D36dcEeBe9Df7E18E23c46D1fcEA3c Updated proposer to: 0xf99C2Da4822Af652fe1BF55F99713980efe5D261 ``` ## 3.2. Execute the transaction Once the tx is simulated and validated, modify the `Makefile` to add the owner's private key and `--broadcast` to the `execute` command. ## 3.3. Rollback (if needed) If somehow we need to rollback, we can do the same simulation and execution step as above, but for `make execute-rollback-proposer`. ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" # via-ir = true ignored_error_codes = ["transient-storage", "code-size", "init-code-size", 5159] remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/records/UpdateProposer.s.sol/11155111/run-1724856389.json ================================================ { "transactions": [ { "hash": "0xf2bcbc72291842ecb1c052a9373a7d75b83cc89bb90f0f41f5067446baa4dd54", "transactionType": "CREATE", "contractName": "PermissionedDisputeGame", "contractAddress": "0x80dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e", "function": null, "arguments": [ "1", "0x0385c3f8ee78491001d92b90b07d0cf387b7b52ab9b83b4d87c994e92cf823ba", "73", "30", "10800", "302400", "0xFF760A87E41144b336E29b6D4582427dEBdB6dee", "0x9dc3d8500c295e95D5C4EBDeD3222a74fF19e524", "0xfb17A817168BD4DFd48Fb6C9fd07B4409501e3E0", "11763072", "0xf99C2Da4822Af652fe1BF55F99713980efe5D261", "0x9892742025C43cdBb22034Df7486E55aE4C476d4" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "gas": "0x6a0241", "value": "0x0", "input": "0x6102006040523480156200001257600080fd5b50604051620067b4380380620067b4833981016040819052620000359162000468565b8b8b8b8b8b8b8b8b8b8b6200004d6001607e6200055b565b60ff168811156200007157604051633beff19960e11b815260040160405180910390fd5b6000198714806200008e5750876200008b88600162000581565b10155b15620000ad5760405163e62ccf3960e01b815260040160405180910390fd5b6002871015620000d05760405163e62ccf3960e01b815260040160405180910390fd5b6001600160401b038016846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000119573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013f91906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200017d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a39190620005bc565b1115620001c35760405163b4e1243360e01b815260040160405180910390fd5b6000620001e4876001600160401b03166200040860201b62000d051760201c565b620001fa906001600160401b03166002620005d6565b90506000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026391906200059c565b6001600160a01b031663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c79190620005bc565b620002e6896001600160401b03166200040860201b62000d051760201c565b6001600160401b0316620002fb919062000581565b905060006200031683836200040b60201b620026401760201c565b90506001600160401b03811115620003415760405163235dfb2b60e21b815260040160405180910390fd5b62000360886001600160401b03166200040860201b62000d051760201c565b6001600160401b0316816001600160401b03161115620003935760405163235dfb2b60e21b815260040160405180910390fd5b50505063ffffffff9099166101205260809790975260a09590955260c0939093526001600160401b039182166101a0521660e0526001600160a01b03908116610100529081166101405290811661016052610180919091529182166101c052166101e05250620005f898505050505050505050565b90565b60008183116200041c57816200041e565b825b9392505050565b80516001600160401b03811681146200043d57600080fd5b919050565b6001600160a01b03811681146200045857600080fd5b50565b80516200043d8162000442565b6000806000806000806000806000806000806101808d8f0312156200048c57600080fd5b8c5163ffffffff81168114620004a157600080fd5b809c505060208d01519a5060408d0151995060608d01519850620004c860808e0162000425565b9750620004d860a08e0162000425565b9650620004e860c08e016200045b565b9550620004f860e08e016200045b565b9450620005096101008e016200045b565b93506101208d01519250620005226101408e016200045b565b9150620005336101608e016200045b565b90509295989b509295989b509295989b565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168082101562000578576200057862000545565b90039392505050565b6000821982111562000597576200059762000545565b500190565b600060208284031215620005af57600080fd5b81516200041e8162000442565b600060208284031215620005cf57600080fd5b5051919050565b6000816000190483118215151615620005f357620005f362000545565b500290565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffd620007b76000396000818161058301528181611b1501526120b50152600081816108ce01528181611ad601528181611ba4015261207601526000818161070401528181613059015281816130c401526130f7015260008181610a9a015261255301526000818161065c01528181611806015261367901526000818161053d015281816119c801528181612a2d0152818161351e0152613a7b015260008181610909015281816125e201526136380152600081816104ca015281816121b101528181612f58015261436b015260008181610aed01528181610fdc01528181611d7a01528181611dbc01528181612ec8015281816131270152613186015260008181610b20015281816123b001528181612d1101528181612e3701528181613095015281816141be0152818161466d0152818161476e015281816148430152818161511a0152615346015260008181610bc701528181611e8a01528181611f1001528181612dda01528181612f2c015281816140b401526141df0152600081816107cf015261427d0152615ffd6000f3fe6080604052600436106103085760003560e01c806370872aa51161019a578063c6f0308c116100e1578063ec5e63081161008a578063fa24f74311610064578063fa24f74314610b94578063fa315aa914610bb8578063fe2bbeb214610beb57600080fd5b8063ec5e630814610b11578063eff0f59214610b44578063f8f43ff614610b7457600080fd5b8063d6ae3cd5116100bb578063d6ae3cd514610a8b578063d8cc1a3c14610abe578063dabd396d14610ade57600080fd5b8063c6f0308c146109b3578063cf09e0d014610a3d578063d5d44d8014610a5e57600080fd5b8063a445ece611610143578063bcef3b551161011d578063bcef3b5514610933578063bd8da95614610973578063c395e1ca1461099357600080fd5b8063a445ece6146107f3578063a8e4fb90146108bf578063bbdc02db146108f257600080fd5b80638980e0cc116101745780638980e0cc1461076b5780638b85902b146107805780638d450a95146107c057600080fd5b806370872aa51461073b5780637b0f0adc146107505780638129fc1c1461076357600080fd5b80633fc8cef31161025e5780635c0cba33116102075780636361506d116101e15780636361506d146106b55780636b6716c0146106f55780636f0344091461072857600080fd5b80635c0cba331461064d578063609d33341461068057806360e274641461069557600080fd5b806354fd4d501161023857806354fd4d50146105a757806357da950e146105fd5780635a5fa2d91461062d57600080fd5b80633fc8cef31461052e578063472777c614610561578063534db0e21461057457600080fd5b80632810e1d6116102c057806337b1b2291161029a57806337b1b2291461047b5780633a768463146104bb5780633e3ac912146104ee57600080fd5b80632810e1d6146103f45780632ad69aeb1461040957806330dbe5701461042957600080fd5b806319effeb4116102f157806319effeb41461034f578063200d2ed21461039a57806325fc2ace146103d557600080fd5b8063019351301461030d57806303c2924d1461032f575b600080fd5b34801561031957600080fd5b5061032d61032836600461575c565b610c1b565b005b34801561033b57600080fd5b5061032d61034a3660046157b7565b610f3c565b34801561035b57600080fd5b5060005461037c9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156103a657600080fd5b506000546103c890700100000000000000000000000000000000900460ff1681565b6040516103919190615808565b3480156103e157600080fd5b506008545b604051908152602001610391565b34801561040057600080fd5b506103c86115e2565b34801561041557600080fd5b506103e66104243660046157b7565b611887565b34801561043557600080fd5b506001546104569073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610391565b34801561048757600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560601c610456565b3480156104c757600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156104fa57600080fd5b5060005461051e907201000000000000000000000000000000000000900460ff1681565b6040519015158152602001610391565b34801561053a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b61032d61056f366004615849565b6118bd565b34801561058057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156105b357600080fd5b506105f06040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161039191906158e0565b34801561060957600080fd5b50600854600954610618919082565b60408051928352602083019190915201610391565b34801561063957600080fd5b506103e66106483660046158f3565b6118cf565b34801561065957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b34801561068c57600080fd5b506105f0611909565b3480156106a157600080fd5b5061032d6106b0366004615931565b611917565b3480156106c157600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003603401356103e6565b34801561070157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b61032d610736366004615963565b611abe565b34801561074757600080fd5b506009546103e6565b61032d61075e366004615849565b611b7f565b61032d611b8c565b34801561077757600080fd5b506002546103e6565b34801561078c57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401356103e6565b3480156107cc57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b3480156107ff57600080fd5b5061086b61080e3660046158f3565b6007602052600090815260409020805460019091015460ff821691610100810463ffffffff1691650100000000009091046fffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff1684565b60408051941515855263ffffffff90931660208501526fffffffffffffffffffffffffffffffff9091169183019190915273ffffffffffffffffffffffffffffffffffffffff166060820152608001610391565b3480156108cb57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610456565b3480156108fe57600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610391565b34801561093f57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356103e6565b34801561097f57600080fd5b5061037c61098e3660046158f3565b611c05565b34801561099f57600080fd5b506103e66109ae3660046159a2565b611de4565b3480156109bf57600080fd5b506109d36109ce3660046158f3565b611fc7565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610391565b348015610a4957600080fd5b5060005461037c9067ffffffffffffffff1681565b348015610a6a57600080fd5b506103e6610a79366004615931565b60036020526000908152604090205481565b348015610a9757600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610aca57600080fd5b5061032d610ad93660046159d4565b61205e565b348015610aea57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061037c565b348015610b1d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610b5057600080fd5b5061051e610b5f3660046158f3565b60046020526000908152604090205460ff1681565b348015610b8057600080fd5b5061032d610b8f366004615849565b612123565b348015610ba057600080fd5b50610ba96125e0565b60405161039193929190615a5e565b348015610bc457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103e6565b348015610bf757600080fd5b5061051e610c063660046158f3565b60066020526000908152604090205460ff1681565b60008054700100000000000000000000000000000000900460ff166002811115610c4757610c476157d9565b14610c7e576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff1615610cd1576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d08367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013590565b90565b610d1f610d1a36869003860186615ab2565b61265a565b14610d56576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82606001358282604051610d6b929190615b3f565b604051809103902014610daa576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610df3610dee84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506126b692505050565b612723565b90506000610e1a82600881518110610e0d57610e0d615b4f565b60200260200101516128d9565b9050602081511115610e58576040517fd81d583b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081810151825190910360031b1c367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003605401358103610ecd576040517fb8ed883000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050600080547fffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000001790555050565b60008054700100000000000000000000000000000000900460ff166002811115610f6857610f686157d9565b14610f9f576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110610fb457610fb4615b4f565b906000526020600020906005020190506000610fcf84611c05565b905067ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081169082161015611038576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526006602052604090205460ff1615611081576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260056020526040902080548015801561109e57508515155b15611139578354640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156110d157816110ed565b600186015473ffffffffffffffffffffffffffffffffffffffff165b90506110f9818761298d565b50505060009485525050600660205250506040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000868152600760209081526040918290208251608081018452815460ff81161515808352610100820463ffffffff16948301949094526501000000000090046fffffffffffffffffffffffffffffffff16938101939093526001015473ffffffffffffffffffffffffffffffffffffffff1660608301526111dc576fffffffffffffffffffffffffffffffff60408201526001815260008690036111dc578195505b600086826020015163ffffffff166111f49190615bad565b905060008382116112055781611207565b835b602084015190915063ffffffff165b8181101561135357600086828154811061123257611232615b4f565b6000918252602080832090910154808352600690915260409091205490915060ff1661128a576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002828154811061129f5761129f615b4f565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff161580156112fc5750600481015460408701516fffffffffffffffffffffffffffffffff9182169116115b1561133e57600181015473ffffffffffffffffffffffffffffffffffffffff16606087015260048101546fffffffffffffffffffffffffffffffff1660408701525b5050808061134b90615bc5565b915050611216565b5063ffffffff818116602085810191825260008c81526007909152604090819020865181549351928801517fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009094169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000ff161761010092909416918202939093177fffffffffffffffffffffff00000000000000000000000000000000ffffffffff16650100000000006fffffffffffffffffffffffffffffffff909316929092029190911782556060850151600190920180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909316929092179091558490036115d757606083015160008a815260066020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055891580156114d357506000547201000000000000000000000000000000000000900460ff165b156115485760015473ffffffffffffffffffffffffffffffffffffffff166114fb818a61298d565b885473ffffffffffffffffffffffffffffffffffffffff909116640100000000027fffffffffffffffff0000000000000000000000000000000000000000ffffffff9091161788556115d5565b61158f73ffffffffffffffffffffffffffffffffffffffff82161561156d5781611589565b600189015473ffffffffffffffffffffffffffffffffffffffff165b8961298d565b87547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8316021788555b505b505050505050505050565b600080600054700100000000000000000000000000000000900460ff166002811115611610576116106157d9565b14611647576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85460ff166116ab576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660026000815481106116d7576116d7615b4f565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff1614611712576001611715565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff909116177001000000000000000000000000000000008360028111156117c6576117c66157d9565b0217905560028111156117db576117db6157d9565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186c57600080fd5b505af1158015611880573d6000803e3d6000fd5b5050505090565b600560205281600052604060002081815481106118a357600080fd5b90600052602060002001600091509150505481565b905090565b6118ca8383836001611abe565b505050565b6000818152600760209081526040808320600590925282208054825461190090610100900463ffffffff1682615bfd565b95945050505050565b60606118b860546020612a8e565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604081208054908290559081900361197c576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015611a0c57600080fd5b505af1158015611a20573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a7e576040519150601f19603f3d011682016040523d82523d6000602084013e611a83565b606091505b50509050806118ca576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480611b3757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b611b6d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7984848484612ae0565b50505050565b6118ca8383836000611abe565b3273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611bfb576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611c036135b9565b565b600080600054700100000000000000000000000000000000900460ff166002811115611c3357611c336157d9565b14611c6a576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028381548110611c7f57611c7f615b4f565b600091825260208220600590910201805490925063ffffffff90811614611cee57815460028054909163ffffffff16908110611cbd57611cbd615b4f565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b6004820154600090611d2690700100000000000000000000000000000000900467ffffffffffffffff165b67ffffffffffffffff1690565b611d3a9067ffffffffffffffff1642615bfd565b611d59611d19846fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611d6d9190615bad565b905067ffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001667ffffffffffffffff168167ffffffffffffffff1611611dba5780611900565b7f000000000000000000000000000000000000000000000000000000000000000095945050505050565b600080611e83836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ee2576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a806311e1a3006000611efd8383615c43565b9050670de0b6b3a76400006000611f34827f0000000000000000000000000000000000000000000000000000000000000000615c57565b90506000611f52611f4d670de0b6b3a764000086615c57565b613b12565b90506000611f608484613d6d565b90506000611f6e8383613dbc565b90506000611f7b82613dea565b90506000611f9a82611f95670de0b6b3a76400008f615c57565b613fd2565b90506000611fa88b83613dbc565b9050611fb4818d615c57565b9f9e505050505050505050505050505050565b60028181548110611fd757600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614806120d757503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016145b61210d576040517fd386ef3e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61211b868686868686614003565b505050505050565b60008054700100000000000000000000000000000000900460ff16600281111561214f5761214f6157d9565b14612186576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008061219586614632565b935093509350935060006121ab85858585614a3b565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561221a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223e9190615c94565b9050600189036123365773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a8461229a367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036034013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123309190615cb1565b506115d7565b600289036123625773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848961229a565b6003890361238e5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a848761229a565b600489036125155760006123d46fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000614af5565b6009546123e19190615bad565b6123ec906001615bad565b9050367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135811061245557367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135612457565b805b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156124ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250e9190615cb1565b50506115d7565b600589036125ae576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a4016122ed565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003601401356060612639611909565b9050909192565b600081831161264f5781612651565b825b90505b92915050565b60008160000151826020015183604001518460600151604051602001612699949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60408051808201909152600080825260208201528151600003612705576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061273385614ba3565b91945092509050600181600181111561274e5761274e6157d9565b14612785576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516127918385615bad565b146127c8576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816127df5790505093506000835b86518110156128cd576000806128526040518060400160405280858c600001516128369190615bfd565b8152602001858c6020015161284b9190615bad565b9052614ba3565b50915091506040518060400160405280838361286e9190615bad565b8152602001848b602001516128839190615bad565b81525088858151811061289857612898615b4f565b60209081029190910101526128ae600185615bad565b93506128ba8183615bad565b6128c49084615bad565b9250505061280c565b50845250919392505050565b606060008060006128e985614ba3565b919450925090506000816001811115612904576129046157d9565b1461293b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129458284615bad565b85511461297e576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61190085602001518484615041565b600281015473ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080546fffffffffffffffffffffffffffffffff909316928392906129dc908490615bad565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015612a7157600080fd5b505af1158015612a85573d6000803e3d6000fd5b50505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b60008054700100000000000000000000000000000000900460ff166002811115612b0c57612b0c6157d9565b14612b43576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060028481548110612b5857612b58615b4f565b60009182526020918290206040805160e0810182526005909302909101805463ffffffff8116845273ffffffffffffffffffffffffffffffffffffffff64010000000090910481169484019490945260018101549093169082015260028201546fffffffffffffffffffffffffffffffff908116606083015260038301546080830181905260049093015480821660a084015270010000000000000000000000000000000090041660c082015291508514612c3f576040517f3014033200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a0810151600083156fffffffffffffffffffffffffffffffff83161760011b90506000612cff826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050861580612d3a5750612d377f00000000000000000000000000000000000000000000000000000000000000006002615bad565b81145b8015612d44575084155b15612d7b576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000547201000000000000000000000000000000000000900460ff168015612da1575086155b15612dd8576040517f0ea2e75200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115612e32576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e5d7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8103612e6f57612e6f868885886150d6565b34612e7983611de4565b14612eb0576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ebb88611c05565b905067ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811690821603612f23576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5060017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b830361308e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe59190615c94565b73ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561302f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130539190615cb1565b613087907f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615cca565b9050613121565b6130b960017f0000000000000000000000000000000000000000000000000000000000000000615bfd565b83036130f4576130877f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff166002615cf6565b507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff165b613155817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b67ffffffffffffffff166131708367ffffffffffffffff1690565b67ffffffffffffffff1611156131b7576131b4817f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff16615d26565b91505b6000604083901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526004602052604090205490915060ff1615613235576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016004600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060026040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600560008c815260200190815260200160002060016002805490506134cb9190615bfd565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561356357600080fd5b505af1158015613577573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a4505050505050505050505050565b60005471010000000000000000000000000000000000900460ff161561360b576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa1580156136bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e39190615d4f565b90925090508161371f576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091528281526020018190526008829055600981905536607a1461375257639824bdab6000526004601cfd5b80367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360540135116137ec576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036014013560048201526024015b60405180910390fd5b6040805160e08101825263ffffffff8082526000602083018181527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90038035606090811c868801908152346fffffffffffffffffffffffffffffffff81811693890193845260149094013560808901908152600160a08a0181815242871660c08c019081526002805493840181558a529a5160059092027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace81018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad0860180549186167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090921691909117905591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad185015551955182167001000000000000000000000000000000000295909116949094177f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad29091015580547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff167101000000000000000000000000000000000017815583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b158015613ac157600080fd5b505af1158015613ad5573d6000803e3d6000fd5b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000164267ffffffffffffffff161790555050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213613b7157631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613daa57637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b600081600019048311820215613dda5763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d78213613e1857919050565b680755bf798b4a1bf1e58212613e365763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000612651670de0b6b3a764000083613fea86613b12565b613ff49190615d73565b613ffe9190615e2f565b613dea565b60008054700100000000000000000000000000000000900460ff16600281111561402f5761402f6157d9565b14614066576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002878154811061407b5761407b615b4f565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b90506140da7f00000000000000000000000000000000000000000000000000000000000000006001615bad565b614176826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16146141b0576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008089156142a7576142037f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000615bfd565b6001901b614222846fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1661423e9190615e97565b1561427b5761427261426360016fffffffffffffffffffffffffffffffff8716615eab565b865463ffffffff166000615326565b6003015461429d565b7f00000000000000000000000000000000000000000000000000000000000000005b91508490506142d1565b600385015491506142ce6142636fffffffffffffffffffffffffffffffff86166001615ed4565b90505b600882901b60088a8a6040516142e8929190615b3f565b6040518091039020901b14614329576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006143348c61540a565b90506000614343836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced32906143bd908f908f908f908f908a90600401615f48565b6020604051808303816000875af11580156143dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144009190615cb1565b6004850154911491506000906002906144ab906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b614547896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6145519190615f82565b61455b9190615fa5565b60ff16159050811515810361459c576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff16156145f3576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b600080600080600085905060006002828154811061465257614652615b4f565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090614729906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611614763576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061482a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16925082111561489f57825463ffffffff166148697f00000000000000000000000000000000000000000000000000000000000000006001615bad565b8303614873578391505b6002818154811061488657614886615b4f565b9060005260206000209060050201935080945050614767565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff166149086148f3856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1614905080156149d7576000614940836fffffffffffffffffffffffffffffffff16615287565b6fffffffffffffffffffffffffffffffff1611156149ab57600061498261497a60016fffffffffffffffffffffffffffffffff8616615eab565b896001615326565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506149b19050565b6008549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff169750614a2d565b60006149f961497a6fffffffffffffffffffffffffffffffff85166001615ed4565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841615614aa85760408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a00160405160208183030381529060405280519060200120611900565b8282604051602001614ad69291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b6040516020818303038152906040528051906020012095945050505050565b600080614b82847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1690508083036001841b600180831b0386831b17039250505092915050565b60008060008360000151600003614be6576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111614c0b57600060016000945094509450505061503a565b60b78111614d21576000614c20608083615bfd565b905080876000015111614c5f576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015614cd757507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15614d0e576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001955093506000925061503a915050565b60bf8111614e7f576000614d3660b783615bfd565b905080876000015111614d75576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614dd7576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614e1f576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e298184615bad565b895111614e62576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614e6d836001615bad565b975095506000945061503a9350505050565b60f78111614ee4576000614e9460c083615bfd565b905080876000015111614ed3576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60019550935084925061503a915050565b6000614ef160f783615bfd565b905080876000015111614f30576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614f92576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614fda576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614fe48184615bad565b89511161501d576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615028836001615bad565b975095506001945061503a9350505050565b9193909250565b60608167ffffffffffffffff81111561505c5761505c615a83565b6040519080825280601f01601f191660200182016040528015615086576020820181803683370190505b50905081156150cf57600061509b8486615bad565b90506020820160005b848110156150bc5782810151828201526020016150a4565b848111156150cb576000858301525b5050505b9392505050565b60006150f56fffffffffffffffffffffffffffffffff84166001615ed4565b9050600061510582866001615326565b9050600086901a83806151f1575061513e60027f0000000000000000000000000000000000000000000000000000000000000000615e97565b60048301546002906151e2906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b6151ec9190615fa5565b60ff16145b156152495760ff81166001148061520b575060ff81166002145b615244576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b612a85565b60ff811615612a85576040517ff40239db000000000000000000000000000000000000000000000000000000008152600481018890526024016137e3565b600080615314837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600160ff919091161b90920392915050565b6000808261536f5761536a6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000615439565b61538a565b61538a856fffffffffffffffffffffffffffffffff166155c5565b90506002848154811061539f5761539f615b4f565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461540257815460028054909163ffffffff169081106153ed576153ed615b4f565b906000526020600020906005020191506153b0565b509392505050565b600080600080600061541b86614632565b935093509350935061542f84848484614a3b565b9695505050505050565b6000816154d8846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff16116154ee5763b34b5c226000526004601cfd5b6154f7836155c5565b905081615596826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff1611612654576126516155ac836001615bad565b6fffffffffffffffffffffffffffffffff83169061566a565b60008119600183011681615659827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169390931c8015179392505050565b6000806156f7847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b60ff169050808303600180821b0385821b179250505092915050565b60008083601f84011261572557600080fd5b50813567ffffffffffffffff81111561573d57600080fd5b60208301915083602082850101111561575557600080fd5b9250929050565b600080600083850360a081121561577257600080fd5b608081121561578057600080fd5b50839250608084013567ffffffffffffffff81111561579e57600080fd5b6157aa86828701615713565b9497909650939450505050565b600080604083850312156157ca57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310615843577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561585e57600080fd5b505081359360208301359350604090920135919050565b6000815180845260005b8181101561589b5760208185018101518683018201520161587f565b818111156158ad576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006126516020830184615875565b60006020828403121561590557600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461592e57600080fd5b50565b60006020828403121561594357600080fd5b81356150cf8161590c565b8035801515811461595e57600080fd5b919050565b6000806000806080858703121561597957600080fd5b8435935060208501359250604085013591506159976060860161594e565b905092959194509250565b6000602082840312156159b457600080fd5b81356fffffffffffffffffffffffffffffffff811681146150cf57600080fd5b600080600080600080608087890312156159ed57600080fd5b863595506159fd6020880161594e565b9450604087013567ffffffffffffffff80821115615a1a57600080fd5b615a268a838b01615713565b90965094506060890135915080821115615a3f57600080fd5b50615a4c89828a01615713565b979a9699509497509295939492505050565b63ffffffff841681528260208201526060604082015260006119006060830184615875565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060808284031215615ac457600080fd5b6040516080810181811067ffffffffffffffff82111715615b0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115615bc057615bc0615b7e565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615bf657615bf6615b7e565b5060010190565b600082821015615c0f57615c0f615b7e565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615c5257615c52615c14565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615c8f57615c8f615b7e565b500290565b600060208284031215615ca657600080fd5b81516150cf8161590c565b600060208284031215615cc357600080fd5b5051919050565b600067ffffffffffffffff808316818516808303821115615ced57615ced615b7e565b01949350505050565b600067ffffffffffffffff80831681851681830481118215151615615d1d57615d1d615b7e565b02949350505050565b600067ffffffffffffffff83811690831681811015615d4757615d47615b7e565b039392505050565b60008060408385031215615d6257600080fd5b505080516020909101519092909150565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615615db457615db4615b7e565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615def57615def615b7e565b60008712925087820587128484161615615e0b57615e0b615b7e565b87850587128184161615615e2157615e21615b7e565b505050929093029392505050565b600082615e3e57615e3e615c14565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615615e9257615e92615b7e565b500590565b600082615ea657615ea6615c14565b500690565b60006fffffffffffffffffffffffffffffffff83811690831681811015615d4757615d47615b7e565b60006fffffffffffffffffffffffffffffffff808316818516808303821115615ced57615ced615b7e565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b606081526000615f5c606083018789615eff565b8281036020840152615f6f818688615eff565b9150508260408301529695505050505050565b600060ff821660ff841680821015615f9c57615f9c615b7e565b90039392505050565b600060ff831680615fb857615fb8615c14565b8060ff8416069150509291505056fea2646970667358221220e8b96106d78f2f7838688804cd7a7c1b73cf9ac778dc3b912e31933126cd1a1364736f6c634300080f003300000000000000000000000000000000000000000000000000000000000000010385c3f8ee78491001d92b90b07d0cf387b7b52ab9b83b4d87c994e92cf823ba0000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000049d40000000000000000000000000ff760a87e41144b336e29b6d4582427debdb6dee0000000000000000000000009dc3d8500c295e95d5c4ebded3222a74ff19e524000000000000000000000000fb17a817168bd4dfd48fb6c9fd07b4409501e3e00000000000000000000000000000000000000000000000000000000000b37d80000000000000000000000000f99c2da4822af652fe1bf55f99713980efe5d2610000000000000000000000009892742025c43cdbb22034df7486e55ae4c476d4", "nonce": "0x13", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78", "transactionType": "CALL", "contractName": null, "contractAddress": "0xe545ede9d1fadad12984c31467f56405884b9398", "function": "setImplementation(uint32,address)", "arguments": [ "1", "0x80dBD6bba7ec3fe68fE30EC4ab59a735E03B8c5e" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xe545ede9d1fadad12984c31467f56405884b9398", "gas": "0xc0c5", "value": "0x0", "input": "0x14f6b1a3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000080dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e", "nonce": "0x14", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x15ca827", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xf2bcbc72291842ecb1c052a9373a7d75b83cc89bb90f0f41f5067446baa4dd54", "transactionIndex": "0x4a", "blockHash": "0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983", "blockNumber": "0x6486ad", "gasUsed": "0x519229", "effectiveGasPrice": "0xca4dbbb36", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": null, "contractAddress": "0x80dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e" }, { "status": "0x1", "cumulativeGasUsed": "0x15d33b7", "logs": [ { "address": "0xe545ede9d1fadad12984c31467f56405884b9398", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x00000000000000000000000080dbd6bba7ec3fe68fe30ec4ab59a735e03b8c5e", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "data": "0x", "blockHash": "0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983", "blockNumber": "0x6486ad", "transactionHash": "0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78", "transactionIndex": "0x4b", "logIndex": "0x80", "removed": false } ], "logsBloom": "0x00100000000000000000000000000000000100000000000000000080000000000000000000000000000000000000000000000000000000000000000000040000000000000400000000000080000000000000000000040000000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x01d73b7f6be09d74e6db70e47d55590799b9f635a0c37bbc1858fbce84aa5e78", "transactionIndex": "0x4b", "blockHash": "0xbdfb68fea540f2f95fbd30ae23113adf766843aedd1d28abc08fdee1db507983", "blockNumber": "0x6486ad", "gasUsed": "0x8b90", "effectiveGasPrice": "0xca4dbbb36", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xe545ede9d1fadad12984c31467f56405884b9398", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1724856389, "chain": 11155111, "commit": "2083b83" } ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/script/RollbackBatcherHash.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Vm} from "forge-std/Vm.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; contract RollbackBatcherHash is Script { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); address internal ROLLBACK_BATCH_SENDER = vm.envAddress("ROLLBACK_BATCH_SENDER"); function _convertAddressToBytes32(address _address) internal pure returns (bytes32) { return bytes32(uint256(uint160(_address))); } function run() public { console.log("Current batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); // vm.prank(SYSTEM_CONFIG_OWNER); SystemConfig(L1_SYSTEM_CONFIG).setBatcherHash(_convertAddressToBytes32(ROLLBACK_BATCH_SENDER)); console.log("New batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); require( SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(ROLLBACK_BATCH_SENDER), "Rollback Deploy: batcherHash is incorrect" ); } } ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/script/RollbackProposer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {GameTypes} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import "forge-std/Script.sol"; contract RollbackProposer is Script { address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress("PERMISSIONED_DISPUTE_GAME"); address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY_OWNER"); address internal OLD_PROPOSER = vm.envAddress("OLD_PROPOSER"); function run() public { DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY); PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME); // vm.prank(DISPUTE_GAME_FACTORY_PROXY_OWNER); dGF.setImplementation(GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(pdg))); IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON); require(address(gameImpl) == address(pdg), "Deploy: DisputeGameFactory implementation is incorrect"); require(pdg.proposer() == OLD_PROPOSER, "Deploy: proposer is incorrect"); console.log("Updated proposer to: "); console.log(pdg.proposer()); } } ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/script/UpdateBatcherHash.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {SystemConfig} from "@eth-optimism-bedrock/src/L1/SystemConfig.sol"; import {Vm} from "forge-std/Vm.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; contract UpdateBatcherHash is Script { address internal SYSTEM_CONFIG_OWNER = vm.envAddress("SYSTEM_CONFIG_OWNER"); address internal L1_SYSTEM_CONFIG = vm.envAddress("L1_SYSTEM_CONFIG_ADDRESS"); address internal NEW_BATCH_SENDER = vm.envAddress("NEW_BATCH_SENDER"); function _convertAddressToBytes32(address _address) internal pure returns (bytes32) { return bytes32(uint256(uint160(_address))); } function run() public { console.log("Current batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); // vm.prank(SYSTEM_CONFIG_OWNER); SystemConfig(L1_SYSTEM_CONFIG).setBatcherHash(_convertAddressToBytes32(NEW_BATCH_SENDER)); console.log("New batcherHash: "); console.logBytes32(SystemConfig(L1_SYSTEM_CONFIG).batcherHash()); require( SystemConfig(L1_SYSTEM_CONFIG).batcherHash() == _convertAddressToBytes32(NEW_BATCH_SENDER), "Deploy: batcherHash is incorrect" ); } } ================================================ FILE: sepolia-alpha/2024-08-21-update-batcher-proposer/script/UpdateProposer.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {PermissionedDisputeGame} from "@eth-optimism-bedrock/src/dispute/PermissionedDisputeGame.sol"; import {DisputeGameFactory, IDisputeGame} from "@eth-optimism-bedrock/src/dispute/DisputeGameFactory.sol"; import {GameTypes} from "@eth-optimism-bedrock/src/dispute/lib/Types.sol"; import "forge-std/Script.sol"; contract UpdateProposer is Script { address internal NEW_PROPOSER = vm.envAddress("NEW_PROPOSER"); address internal DISPUTE_GAME_FACTORY_PROXY = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); address internal PERMISSIONED_DISPUTE_GAME = vm.envAddress("PERMISSIONED_DISPUTE_GAME"); address internal DISPUTE_GAME_FACTORY_PROXY_OWNER = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY_OWNER"); function run() public { DisputeGameFactory dGF = DisputeGameFactory(DISPUTE_GAME_FACTORY_PROXY); PermissionedDisputeGame pdg = PermissionedDisputeGame(PERMISSIONED_DISPUTE_GAME); console.log("Current proposer: "); console.log(pdg.proposer()); vm.startBroadcast(); PermissionedDisputeGame newPdgImpl = new PermissionedDisputeGame({ _gameType: pdg.gameType(), _absolutePrestate: pdg.absolutePrestate(), _maxGameDepth: pdg.maxGameDepth(), _splitDepth: pdg.splitDepth(), _clockExtension: pdg.clockExtension(), _maxClockDuration: pdg.maxClockDuration(), _vm: pdg.vm(), _weth: pdg.weth(), _anchorStateRegistry: pdg.anchorStateRegistry(), _l2ChainId: pdg.l2ChainId(), _proposer: NEW_PROPOSER, _challenger: pdg.challenger() }); // vm.prank(DISPUTE_GAME_FACTORY_PROXY_OWNER); dGF.setImplementation(GameTypes.PERMISSIONED_CANNON, IDisputeGame(address(newPdgImpl))); IDisputeGame gameImpl = dGF.gameImpls(GameTypes.PERMISSIONED_CANNON); require(address(gameImpl) == address(newPdgImpl), "Deploy: DisputeGameFactory implementation is incorrect"); require(newPdgImpl.proposer() == NEW_PROPOSER, "Deploy: proposer is incorrect"); console.log("Updated proposer to: "); console.log(NEW_PROPOSER); vm.stopBroadcast(); } } ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/.gitignore ================================================ /src/ ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) DeploySystemConfig --broadcast .PHONY: upgrade upgrade: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) UpgradeSystemConfig --broadcast .PHONY: set-1559-params set-1559-params: forge script --rpc-url $(L1_RPC_URL) --private-key $(PRIVATE_KEY) SetEIP1559Params --broadcast ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 via-ir = true remappings = [ '@eth-optimism-bedrock/contracts/=lib/optimism/packages/contracts-bedrock/src/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@solady/=lib/solady/src', '@cwia/=lib/clones-with-immutable-args/src' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/script/DeploySystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "lib/optimism/packages/contracts-bedrock/src/L1/SystemConfig.sol"; import "forge-std/Script.sol"; contract DeploySystemConfig is Script { function run() public { vm.startBroadcast(); SystemConfig systemConfigImpl = new SystemConfig(); console.log("SystemConfig implementation deployed at: ", address(systemConfigImpl)); vm.stopBroadcast(); } } ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/script/SetEIP1559Params.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@eth-optimism-bedrock/contracts/L1/SystemConfig.sol"; contract SetEIP1559Params is Script { address systemConfigProxyAddress = vm.envAddress("SYSTEM_CONFIG_PROXY"); address proxyAdminOwner = vm.envAddress("PROXY_ADMIN_OWNER"); uint64 gasLimit = uint64(vm.envUint("GAS_LIMIT")); uint32 denominator = uint32(vm.envUint("DENOMINATOR")); uint32 elasticityMultiplier = uint32(vm.envUint("ELASTICITY_MULTIPLIER")); function run() public { vm.startBroadcast(proxyAdminOwner); SystemConfig(systemConfigProxyAddress).setEIP1559Params(denominator, elasticityMultiplier); SystemConfig(systemConfigProxyAddress).setGasLimit(gasLimit); vm.stopBroadcast(); } } ================================================ FILE: sepolia-alpha/2024-11-19-holocene-contracts/script/UpgradeSystemConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; import "@eth-optimism-bedrock/contracts/universal/ProxyAdmin.sol"; import "@eth-optimism-bedrock/contracts/L1/SystemConfig.sol"; contract UpgradeSystemConfig is Script { address systemConfigProxy = vm.envAddress("SYSTEM_CONFIG_PROXY"); address systemConfigImplementation = vm.envAddress("SYSTEM_CONFIG_IMPLEMENTATION"); address proxyAdminOwner = vm.envAddress("PROXY_ADMIN_OWNER"); function run() public { vm.broadcast(proxyAdminOwner); ProxyAdmin proxyAdmin = ProxyAdmin(payable(vm.envAddress("PROXY_ADMIN"))); proxyAdmin.upgrade( payable(systemConfigProxy), systemConfigImplementation ); } } ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: simulate simulate: forge script --rpc-url $(L1_RPC_URL) TransferOwnership --sender $(SENDER) .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) TransferOwnership --account sepolia-alpha-admin --broadcast -vvvv ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/README.md ================================================ # Transfer Proxy Admin Ownership to Gnosis Safe Status: EXECUTED (https://sepolia.etherscan.io/tx/0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122) ## Description We wish to update the owner of our [ProxyAdmin](https://sepolia.etherscan.io/address/0xC5aE9023bFA79124ffA50169E1423E733D0166f1) contract on Sepolia for Sepolia-Alpha to be a Gnosis safe owned by the Base chain engineers. The current owner is an EOA which is not compatible with the superchain-ops upgrade process, nor is it analogous to our standard task setup for this repo. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe make deps ``` ### 2. Run relevant script(s) #### Simulate the transaction ```bash make simulate ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. ##### 2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending. Once complete return to this document to complete the execution. #### Execute the transaction ```bash make execute ``` ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0xC5aE9023bFA79124ffA50169E1423E733D0166f1
  Contract:          ProxyAdmin - Sepolia Alpha
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000000
  Raw Old Value:     0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430
  Raw New Value:     0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9
  Decoded Kind:      address
  Decoded Old Value: 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430
  Decoded New Value: 0x0fe884546476dDd290eC46318785046ef68a0BA9

  Summary:           Update ProxyAdmin owner from `0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430` to `0x0fe884546476dDd290eC46318785046ef68a0BA9`

----- Additional Nonce Changes -----
  Who:               0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430

  Details:           Nonce Updates for all addresses listed above.
  Summary:
    - 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430 is the caller
================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/records/TransferOwnership.s.sol/11155111/run-1744830889.json ================================================ { "transactions": [ { "hash": null, "transactionType": "CALL", "contractName": null, "contractAddress": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "function": "transferOwnership(address)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "gas": "0xa32b", "value": "0x0", "input": "0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "nonce": "0x1b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744830889, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/records/TransferOwnership.s.sol/11155111/run-1744830912.json ================================================ { "transactions": [ { "hash": "0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "function": "transferOwnership(address)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "gas": "0xa32b", "value": "0x0", "input": "0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "nonce": "0x1b", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1578ac0", "logs": [ { "address": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0xe1c011a2d7e8b06abe59f8ae93cbd97b3551c3b3f0113defc065dd5adc64e9b3", "blockNumber": "0x7c16a2", "transactionHash": "0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122", "transactionIndex": "0x8a", "logIndex": "0xf1", "removed": false } ], "logsBloom": "0x00000000100000000000800008000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x35ea2479c054639acd2547f53c47fe166caf1c6c7b5cfebfff5178532135c122", "transactionIndex": "0x8a", "blockHash": "0xe1c011a2d7e8b06abe59f8ae93cbd97b3551c3b3f0113defc065dd5adc64e9b3", "blockNumber": "0x7c16a2", "gasUsed": "0x6f92", "effectiveGasPrice": "0xa4ea068f", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0xc5ae9023bfa79124ffa50169e1423e733d0166f1", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1744830912, "chain": 11155111, "commit": "c8c9b78" } ================================================ FILE: sepolia-alpha/2025-04-08-transfer-proxy-admin-ownership-to-safe/script/TransferOwnership.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract TransferOwnership is Script { address public immutable NEW_OWNER; address public immutable PROXY_ADMIN; constructor() { NEW_OWNER = vm.envAddress("NEW_OWNER"); PROXY_ADMIN = vm.envAddress("PROXY_ADMIN"); } function run() public { Simulation.StateOverride[] memory overrides; bytes memory data = _buildCall(); Simulation.logSimulationLink({_to: PROXY_ADMIN, _data: data, _from: msg.sender, _overrides: overrides}); vm.startBroadcast(); (bool success, ) = PROXY_ADMIN.call(data); vm.stopBroadcast(); require(success, "TransferOwnership call failed"); _postCheck(); } function _buildCall() private view returns (bytes memory) { return abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)); } function _postCheck() private view { OwnableUpgradeable proxyAdmin = OwnableUpgradeable(PROXY_ADMIN); require(proxyAdmin.owner() == NEW_OWNER, "ProxyAdmin owner did not get updated"); } } ================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/Makefile ================================================ include ../../Makefile include ../.env include .env .PHONY: simulate simulate: forge script --rpc-url $(L1_RPC_URL) TransferSystemConfigOwnership --sender $(SENDER) .PHONY: execute execute: forge script --rpc-url $(L1_RPC_URL) TransferSystemConfigOwnership --account sepolia-alpha-admin --broadcast -vvvv ================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/README.md ================================================ # Transfer SystemConfig Ownership to Gnosis Safe Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d) ## Description We wish to update the owner of our [SystemConfig](https://sepolia.etherscan.io/address/0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE) contract on Sepolia for Sepolia-Alpha to be the Gnosis safe owned by the Base chain engineers. **Important Context:** - The ProxyAdmin owner was previously transferred to the Safe in task `2025-04-08-transfer-proxy-admin-ownership-to-safe` - However, that transaction only changed the **ProxyAdmin** owner (which controls proxy upgrades) - The **SystemConfig** owner (which controls SystemConfig parameters) is a separate ownership role - This task correctly transfers the SystemConfig ownership to match the ProxyAdmin ownership The current owner is an EOA (0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430) which is not compatible with the superchain-ops upgrade process. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe make deps ``` ### 2. Run relevant script(s) #### Simulate the transaction ```bash make simulate ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. ##### 2.1 Validate integrity of the simulation. Make sure you are on the "Overview" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are sending. Once complete return to this document to complete the execution. #### Execute the transaction ```bash make execute ``` ================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/VALIDATION.md ================================================ # Validation This document can be used to validate the inputs and result of the execution of the upgrade transaction which you are signing. # State Validations For each contract listed in the state diff, please verify that no contracts or state changes shown in the Tenderly diff are missing from this document. Additionally, please verify that for each contract: - The following state changes (and none others) are made to that contract. This validates that no unexpected state changes occur. - All addresses (in section headers and storage values) match the provided name, using the Etherscan and Superchain Registry links provided. This validates the bytecode deployed at the addresses contains the correct logic. - All key values match the semantic meaning provided, which can be validated using the storage layout links provided. ## Task State Changes

----- DecodedStateDiff[0] -----
  Who:               0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE
  Contract:          SystemConfig (Proxy) - Sepolia Alpha
  Chain ID:          11155111
  Raw Slot:          0x0000000000000000000000000000000000000000000000000000000000000033
  Raw Old Value:     0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430
  Raw New Value:     0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9
  Decoded Kind:      address
  Decoded Old Value: 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430
  Decoded New Value: 0x0fe884546476dDd290eC46318785046ef68a0BA9

  Summary:           Update SystemConfig owner from `0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430` to `0x0fe884546476dDd290eC46318785046ef68a0BA9`

----- Additional Nonce Changes -----
  Who:               0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430

  Details:           Nonce Updates for all addresses listed above.
  Summary:
    - 0xAf6E0E871f38c7B653700F7CbAEDafaa2784D430 is the caller
================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', 'solady/=lib/solady/src/', ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/records/TransferSystemConfigOwnership.s.sol/11155111/run-1764627721931.json ================================================ { "transactions": [ { "hash": "0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d", "transactionType": "CALL", "contractName": null, "contractAddress": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "function": "transferOwnership(address)", "arguments": [ "0x0fe884546476dDd290eC46318785046ef68a0BA9" ], "transaction": { "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "gas": "0xc391", "value": "0x0", "input": "0xf2fde38b0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9", "nonce": "0x1c", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xff27db", "logs": [ { "address": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000af6e0e871f38c7b653700f7cbaedafaa2784d430", "0x0000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9" ], "data": "0x", "blockHash": "0x4cfdba9007c2ce490c66925031b077b443c4653954198a88e51af65a81b7acbe", "blockNumber": "0x94c0c9", "blockTimestamp": "0x692e1508", "transactionHash": "0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d", "transactionIndex": "0x2d", "logIndex": "0x6b", "removed": false } ], "logsBloom": "0x00000000100000000000000000000000000000000040000000800000000000000000000000000000000000000000000000000000000000000004000000000000000400000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020400000000000010000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x81552a616a1ed450c53845ee12cbcb3c7b608fde5e51f056218c7663877a2d6d", "transactionIndex": "0x2d", "blockHash": "0x4cfdba9007c2ce490c66925031b077b443c4653954198a88e51af65a81b7acbe", "blockNumber": "0x94c0c9", "gasUsed": "0x85b9", "effectiveGasPrice": "0xf4248", "from": "0xaf6e0e871f38c7b653700f7cbaedafaa2784d430", "to": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1764627721931, "chain": 11155111, "commit": "6d0fb84" } ================================================ FILE: sepolia-alpha/2025-11-03-transfer-systemconfig-ownership-to-safe/script/TransferSystemConfigOwnership.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; contract TransferSystemConfigOwnership is Script { address public immutable NEW_OWNER; address public immutable SYSTEM_CONFIG; constructor() { NEW_OWNER = vm.envAddress("NEW_OWNER"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); } function run() public { Simulation.StateOverride[] memory overrides; bytes memory data = _buildCall(); Simulation.logSimulationLink({to: SYSTEM_CONFIG, data: data, from: msg.sender, overrides: overrides}); vm.startBroadcast(); (bool success,) = SYSTEM_CONFIG.call(data); vm.stopBroadcast(); require(success, "TransferSystemConfigOwnership call failed"); _postCheck(); } function _buildCall() private view returns (bytes memory) { return abi.encodeCall(OwnableUpgradeable.transferOwnership, (NEW_OWNER)); } function _postCheck() private view { OwnableUpgradeable systemConfig = OwnableUpgradeable(SYSTEM_CONFIG); require(systemConfig.owner() == NEW_OWNER, "SystemConfig owner did not get updated"); } } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpdateSystemConfigParamsScript .PHONY: gen-validation-cb gen-validation-cb: checkout-signer-tool run-script-cb .PHONY: run-script-cb run-script-cb: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_NESTED_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x7f10098BD53519c739cA8A404afE127647D94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/base-signer.json; .PHONY: gen-validation-cb-sc gen-validation-cb-sc: checkout-signer-tool run-script-cb-sc .PHONY: run-script-cb-sc run-script-cb-sc: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(CB_SC_SAFE_ADDR),$(CB_SIGNER_SAFE_ADDR)]" \ --sender 0x7f10098BD53519c739cA8A404afE127647D94774' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/security-council-signer.json; .PHONY: gen-validation-op gen-validation-op: checkout-signer-tool run-script-op .PHONY: run-script-op run-script-op: cd $(SIGNER_TOOL_PATH); \ npm ci; \ bun run scripts/genValidationFile.ts --rpc-url $(RPC_URL) \ --workdir .. --forge-cmd 'NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) NEW_ELASTICITY=$(NEW_ELASTICITY) NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ forge script --rpc-url $(RPC_URL) \ $(SCRIPT_NAME) --sig "sign(address[])" "[$(OP_SIGNER_SAFE_ADDR)]" \ --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26' --ledger-id $(LEDGER_ACCOUNT) --out ../validations/optimism-signer.json; # CB .PHONY: approve-cb approve-cb: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ $(call MULTISIG_APPROVE,$(CB_NESTED_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR) $(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-coordinator approve-cb-coordinator: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),0x) .PHONY: approve-op approve-op: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: execute execute: NEW_GAS_LIMIT=$(NEW_GAS_LIMIT) \ NEW_ELASTICITY=$(NEW_ELASTICITY) \ NEW_DENOMINATOR=$(NEW_DENOMINATOR) \ $(call MULTISIG_EXECUTE,0x) ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/README.md ================================================ # Update SystemConfig Parameters on Base Sepolia Alpha Status: [EXECUTED](https://sepolia.etherscan.io/tx/0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f) ## Description This task brings Base Sepolia Alpha's SystemConfig parameters to parity with Base Mainnet by updating: | Parameter | From (Sepolia Alpha) | To (Mainnet parity) | |-----------|----------------|---------------------| | Gas Limit | 60,000,000 | 200,000,000 | | EIP-1559 Elasticity | 2 | 6 | | EIP-1559 Denominator | 250 | 125 | This runbook invokes the `UpdateSystemConfigParamsScript` defined in the [base/contracts](https://github.com/base/contracts) repository. The values we are sending are statically defined in the `.env` file. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task user from the list of available users to sign. After completion, the signer tool can be closed by using Ctrl + C. ### 4. Send signature to facilitator ## Prep (maintainers) ```bash cd contract-deployments git pull cd sepolia-alpha/2026-02-23-update-system-config-params make deps make gen-validation ``` ## Execute (facilitator) 1. Collect signatures from all signers and export: `export SIGNATURES="0x[sig1][sig2]..."`. 2. Run: `make execute` ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/base-contracts', '@solady/=lib/solady/src/' ] # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/approve-latest.json ================================================ { "transactions": [ { "hash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e9ff", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x47", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xafee79", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "blockTimestamp": "0x699cce1c", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "logIndex": "0x9f", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x6cd0ce736973997ba481646479f001f8ba7e55f8acd38d87fa0084d33bf7867c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "blockTimestamp": "0x699cce1c", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "logIndex": "0xa0", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "gasUsed": "0x162c0", "effectiveGasPrice": "0xf4c08", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771884061108, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883161260.json ================================================ { "transactions": [ { "hash": "0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x87f9e1c55743077a15d19cbc18bcdfb498e132b3ba7277b284957c87e581398502b093b6cbcb8127eb12edaef2fc3ecceabb391788490c8bab87d2d6449483981c8408aa89a06d968091f1aa1ed8c41c895922a4220ebb61504c20d52a87db85eb776b4a40d537dda4a637bac8789fc0bd6729bc1bebd8a5af12a14480cd0deca61c24efd99efdb192612ae0e74371e4aec7f860877c51d71499e876514738c5f84f184cb65a3355be7ac7791d9de44a3b334347592a81a2abeb7e420628b6b3974e1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "gas": "0x2323d", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c387f9e1c55743077a15d19cbc18bcdfb498e132b3ba7277b284957c87e581398502b093b6cbcb8127eb12edaef2fc3ecceabb391788490c8bab87d2d6449483981c8408aa89a06d968091f1aa1ed8c41c895922a4220ebb61504c20d52a87db85eb776b4a40d537dda4a637bac8789fc0bd6729bc1bebd8a5af12a14480cd0deca61c24efd99efdb192612ae0e74371e4aec7f860877c51d71499e876514738c5f84f184cb65a3355be7ac7791d9de44a3b334347592a81a2abeb7e420628b6b3974e1b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x44", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4ad9a1", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f" ], "data": "0x", "blockHash": "0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5", "blockNumber": "0x9d83de", "blockTimestamp": "0x699cca98", "transactionHash": "0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103", "transactionIndex": "0x31", "logIndex": "0x3e", "removed": false }, { "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x1ae7dd3d99b6ccd30b702109d4329ebe2b8ffb7867c8ca80d661d3c4b8de2cf2" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5", "blockNumber": "0x9d83de", "blockTimestamp": "0x699cca98", "transactionHash": "0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103", "transactionIndex": "0x31", "logIndex": "0x3f", "removed": false } ], "logsBloom": "0x00000000400000000080000000000000000000000000000000000000040000000004010000000000000000000000000000000000800020100000000000000000000000000000000000000000000000000000000000000000000800000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000020000404004000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000040000000000000000001000000100000000000000000", "type": "0x2", "transactionHash": "0x0aa3c0b8c0547c2f25fab24e6b4835f32069a6d974fff6cdd0a19d06ab141103", "transactionIndex": "0x31", "blockHash": "0x69083d06923cafd72fbf4ff42a020c5f8865ae272981d1bb02cb74dcf3ad37e5", "blockNumber": "0x9d83de", "gasUsed": "0x1970e", "effectiveGasPrice": "0xf4ff0", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771883161260, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883761465.json ================================================ { "transactions": [ { "hash": "0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x215cab9740552a67e2a7f705508049b15fcb3835602fd8e62d166ce66e14cbb80c6468a634ee80dee00680d9a6d9f1f7ef4287cdc3e078b06b50d9bd6cc3f0ca1b" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1f7d8", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041215cab9740552a67e2a7f705508049b15fcb3835602fd8e62d166ce66e14cbb80c6468a634ee80dee00680d9a6d9f1f7ef4287cdc3e078b06b50d9bd6cc3f0ca1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x45", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x81e334", "logs": [ { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a4", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8", "blockNumber": "0x9d840c", "blockTimestamp": "0x699cccf0", "transactionHash": "0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e", "transactionIndex": "0x46", "logIndex": "0x87", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb902dd2482096e7e2eb3af0af0c868d77a04ebcdfe2cd3e5f66828d4a38bf6320000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8", "blockNumber": "0x9d840c", "blockTimestamp": "0x699cccf0", "transactionHash": "0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e", "transactionIndex": "0x46", "logIndex": "0x88", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000004000000000000000000000000000000000000800020100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000010000000000000000000000000000000000000000000000000000000000000000000004000020000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x5a1011373ce577b13692855e8458b247293b9365d290e93b5c442dee4624d72e", "transactionIndex": "0x46", "blockHash": "0xd34c8c9ec9aff8fabeed0dc7a094c49d107c4306bc2f5dcaaf825c62fdfe75b8", "blockNumber": "0x9d840c", "gasUsed": "0x15883", "effectiveGasPrice": "0xf5034", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771883761465, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771883845778.json ================================================ { "transactions": [ { "hash": "0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e", "transactionType": "CALL", "contractName": null, "contractAddress": "0x646132a1667ca7ad00d36616afba1a28116c770a", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "gas": "0x1ff0a", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000820000000000000000000000005dfeb066334b67355a15dc9b67317fd2a2e1f77f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x46", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x8081c5", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a" ], "data": "0x", "blockHash": "0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746", "blockNumber": "0x9d8413", "blockTimestamp": "0x699ccd44", "transactionHash": "0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e", "transactionIndex": "0x4e", "logIndex": "0xb4", "removed": false }, { "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0xb4f43d3d02723bec9f82077a0d55da3bfe91468118546c3b5232aa4fda0962a40000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746", "blockNumber": "0x9d8413", "blockTimestamp": "0x699ccd44", "transactionHash": "0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e", "transactionIndex": "0x4e", "logIndex": "0xb5", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000010000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040010000000000000000000000000000000000000000000000000000000000000000001004000060000000000000000000000000000000000000000200000000000000100000000000000000", "type": "0x2", "transactionHash": "0x6acdec14bf993103e747f2b10bc2950e9368dea2d9f758d62cb5be0fd65e340e", "transactionIndex": "0x4e", "blockHash": "0xc108c869150d9fda526d5cd9a27995ece4b97d3087e17c9036903adb0aeee746", "blockNumber": "0x9d8413", "gasUsed": "0x171fd", "effectiveGasPrice": "0xf4ed7", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x646132a1667ca7ad00d36616afba1a28116c770a", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771883845778, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771884061108.json ================================================ { "transactions": [ { "hash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6af0674791925f767060dd52f7fb20984e8639d8", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "gas": "0x1e9ff", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000012482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000fe884546476ddd290ec46318785046ef68a0ba9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024d4d9bdcd72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041977a5ce61f7c285ca6a08bee69dd0d616ead510ec0900d3bf2a7a43d5384575b7cb365e1f5b9a351c16a7e06607056f4743a70004f25773691cf824ac4785f5a1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x47", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xafee79", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e83", "0x0000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8" ], "data": "0x", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "blockTimestamp": "0x699cce1c", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "logIndex": "0x9f", "removed": false }, { "address": "0x6af0674791925f767060dd52f7fb20984e8639d8", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x6cd0ce736973997ba481646479f001f8ba7e55f8acd38d87fa0084d33bf7867c0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "blockTimestamp": "0x699cce1c", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "logIndex": "0xa0", "removed": false } ], "logsBloom": "0x00000000400000040000000000000000000000000000000000000000040000000000000000800000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000400000000000000000000400000000000000000000000000000000000000000000000000008000000200000000800000000000000000000000000000000000000000000000000000000000000000000000000000004000000000040000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000014020000000000000000000000100000000008000000", "type": "0x2", "transactionHash": "0x527cff0e475f8dd72326a28981d048f40cfa18e827db51b49624ce512a8ac852", "transactionIndex": "0x4e", "blockHash": "0x73428973724693ebbeff3a2e5c013dfbf7877ed86eec7079ddaa79d0d9edb035", "blockNumber": "0x9d8425", "gasUsed": "0x162c0", "effectiveGasPrice": "0xf4c08", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x6af0674791925f767060dd52f7fb20984e8639d8", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771884061108, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/records/UpdateSystemConfigParams.s.sol/11155111/run-1771884193061.json ================================================ { "transactions": [ { "hash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xcA11bde05977b3631167028862bE2a173976CA11", "0", "0x174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "gas": "0x23dcc", "value": "0x0", "input": "0x6a761202000000000000000000000000ca11bde05977b3631167028862be2a173976ca110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000264174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d8000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x48", "chainId": "0xaa36a7" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xc6ace2", "logs": [ { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x66753cd2356569ee081232e3be8909b950e0a76c1f8460c3a5e3c2be32b11bed" ], "data": "0x000000000000000000000000ca11bde05977b3631167028862be2a173976ca1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004c00000000000000000000000000000000000000000000000000000000000000264174dea7100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001400000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000044c0fd4b41000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000007f67dc4959cb3e532b10a99f41bdd906c46fdfde0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000024b40a817c000000000000000000000000000000000000000000000000000000000bebc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000646132a1667ca7ad00d36616afba1a28116c770a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000006af0674791925f767060dd52f7fb20984e8639d80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc", "blockNumber": "0x9d842e", "blockTimestamp": "0x699ccea0", "transactionHash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionIndex": "0x60", "logIndex": "0xd9", "removed": false }, { "address": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000004" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000007d00000006", "blockHash": "0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc", "blockNumber": "0x9d842e", "blockTimestamp": "0x699ccea0", "transactionHash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionIndex": "0x60", "logIndex": "0xda", "removed": false }, { "address": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "topics": [ "0x1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000bebc200", "blockHash": "0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc", "blockNumber": "0x9d842e", "blockTimestamp": "0x699ccea0", "transactionHash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionIndex": "0x60", "logIndex": "0xdb", "removed": false }, { "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e" ], "data": "0x72d2bd9f155f4150cb706e158d79a983a4ae667c4500c5f36ff709448fde6e830000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc", "blockNumber": "0x9d842e", "blockTimestamp": "0x699ccea0", "transactionHash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionIndex": "0x60", "logIndex": "0xdc", "removed": false } ], "logsBloom": "0x04000000400000000000000000000000000000000040000000000000040000000000000000000000000000000000000000000000000008000000000000000000000400000000000000000000000000000000040000000000000000000000000008000000020000000000000000000800000000000000000000000000000008000000200000000800000000040000000000000000000000000000000000000000000000000400000000000100000004000000000000000000002000000000000000000000000000000000000000020000000000008000000000000000000020000000010000000000000000000000000000000000008000000000008000000000", "type": "0x2", "transactionHash": "0x9a0c01b65b217361cd4dcd2106bd97895d301c2a16f601cc63a2d3486403df2f", "transactionIndex": "0x60", "blockHash": "0xe84db3f61928ce2325764ff3a7fe06d9da4128a749f342d98dbb0268264de8bc", "blockNumber": "0x9d842e", "gasUsed": "0x19f6c", "effectiveGasPrice": "0xf4b38", "from": "0x9986ccaf9e3de0ffef82a0f7fa3a06d5afe07252", "to": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1771884193061, "chain": 11155111, "commit": "c165840" } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/script/UpdateSystemConfigParams.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {IMulticall3} from "forge-std/interfaces/IMulticall3.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; } contract UpdateSystemConfigParamsScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable NEW_ELASTICITY; uint32 internal immutable NEW_DENOMINATOR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); NEW_DENOMINATOR = uint32(vm.envUint("NEW_DENOMINATOR")); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), NEW_DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); } function _buildCalls() internal view override returns (IMulticall3.Call3Value[] memory) { IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](2); calls[0] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setEIP1559Params, (NEW_DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = IMulticall3.Call3Value({ target: SYSTEM_CONFIG, allowFailure: false, callData: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/validations/base-signer.json ================================================ { "cmd": "NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x5dfEB066334B67355A15dc9b67317fD2a2e1f77f,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098BD53519c739cA8A404afE127647D94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x0127bbb910536860a0757a9c0ffcdf9e4452220f566ed83af1f27f9e833f0e23", "messageHash": "0x81c45456c2727c38e1c3f4f70aa90e2850f006f089e9953eca411a999c744152" }, "skipTaskOriginValidation": true, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x31522f27f6ada81133dd2f69c5eed6eb22b64c31bd5bb8dd4c47b27c9f1a7684", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476ddd290ec46318785046ef68a0ba9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001e", "after": "0x000000000000000000000000000000000000000000000000000000000000001f", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x59dc6389f3a0009c95e6d2924a3e29f753f0dc7bc73875253236a562abf3f565", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Approval from signer safe", "allowDifference": false } ] }, { "name": "CB Signer Safe - Sepolia", "address": "0x5dfeb066334b67355a15dc9b67317fd2a2e1f77f", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000013", "after": "0x0000000000000000000000000000000000000000000000000000000000000014", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132a1667ca7ad00d36616afba1a28116c770a", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x584aebf80ff443ae45408fe9b9139e55ea254027a1549485781542f042c7bbd9", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Approval from sender", "allowDifference": false } ] }, { "name": "System Config Proxy", "address": "0x7f67dc4959cb3e532b10a99f41bdd906c46fdfde", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000000000000000000000000003938700", "after": "0x000000000000000000000000000000000000000000000000000000000bebc200", "description": "Increase gas limit to 200M", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000000000000000000000000000000000000002000000fa", "after": "0x000000000000000000000000000000000000000000000000000000060000007d", "description": "Elasticity -> 6 and denominator -> 125", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/validations/optimism-signer.json ================================================ { "cmd": "NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8] --sender 0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xe111c6aeb4651d4cc342f7872cf42cb551065f1b2bdd8057ede07ef2d6caa636" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0x1211bf12f55f859c06c19fdc02a8da83f9e3c4427768601b2e03837963013097", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001e", "after": "0x000000000000000000000000000000000000000000000000000000000000001f", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x9b04b3058b89b90eacf95e14e18236dc18df01caa78ecdb3c0fd3d74c973025d", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates approval of sender", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000019", "after": "0x000000000000000000000000000000000000000000000000000000000000001a", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "SystemConfig", "address": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000000000000000000000000003938700", "after": "0x000000000000000000000000000000000000000000000000000000000bebc200", "description": "Increases gas limit", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000000000000000000000000000000000000002000000fa", "after": "0x000000000000000000000000000000000000000000000000000000060000007d", "description": "Updates elasticity/denominator", "allowDifference": false } ] } ], "skipTaskOriginValidation": true, "balanceChanges": [] } ================================================ FILE: sepolia-alpha/2026-02-23-update-system-config-params/validations/security-council-signer.json ================================================ { "cmd": "NEW_GAS_LIMIT=200000000 NEW_ELASTICITY=6 NEW_DENOMINATOR=125 forge script --rpc-url https://ethereum-full-sepolia-k8s-dev.cbhq.net UpdateSystemConfigParamsScript --sig sign(address[]) [0x6AF0674791925f767060Dd52f7fB20984E8639d8,0x646132A1667ca7aD00d36616AFBA1A28116C770A] --sender 0x7f10098BD53519c739cA8A404afE127647D94774", "ledgerId": 1, "rpcUrl": "https://ethereum-full-sepolia-k8s-dev.cbhq.net", "expectedDomainAndMessageHashes": { "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "domainHash": "0x6f25427e79742a1eb82c103e2bf43c85fc59509274ec258ad6ed841c4a0048aa", "messageHash": "0xb29ceec2175a98e51698e223d107a8f9cc0fae0953c5e7f6bbe9f54bd6f8b925" }, "skipTaskOriginValidation": true, "stateOverrides": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "overrides": [ { "key": "0xd0b2424f94f13618e5e23f7ceff37755866674537b108707744898f532d4a406", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Sepolia", "address": "0x0fe884546476dDd290eC46318785046ef68a0BA9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000001e", "after": "0x000000000000000000000000000000000000000000000000000000000000001f", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x59dc6389f3a0009c95e6d2924a3e29f753f0dc7bc73875253236a562abf3f565", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulate approval of signer safe", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Sepolia", "address": "0x646132A1667ca7aD00d36616AFBA1A28116C770A", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x000000000000000000000000000000000000000000000000000000000000000d", "after": "0x000000000000000000000000000000000000000000000000000000000000000e", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x8215c84af657cc2fdf756cc3c0eb523f45b919c04e36b19c9672491e436f592e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulate approval of sender", "allowDifference": false } ] }, { "name": "Mock OP Safe / Mock Security Council - Sepolia", "address": "0x6AF0674791925f767060Dd52f7fB20984E8639d8", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000018", "after": "0x0000000000000000000000000000000000000000000000000000000000000019", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "System Config", "address": "0x7F67DC4959cb3E532B10A99F41bDD906C46FdFdE", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000068", "before": "0x0000000000000000000000000000000000000000000000000000000003938700", "after": "0x000000000000000000000000000000000000000000000000000000000bebc200", "description": "Gas limit increase", "allowDifference": false }, { "key": "0x000000000000000000000000000000000000000000000000000000000000006a", "before": "0x00000000000000000000000000000000000000000000000000000002000000fa", "after": "0x000000000000000000000000000000000000000000000000000000060000007d", "description": "Elasticity and denominator change", "allowDifference": false } ] } ], "balanceChanges": [] } ================================================ FILE: setup-templates/template-funding/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-funding/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = FundScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @echo "Configuration validated successfully" .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: setup-templates/template-funding/README.md ================================================ # Funding Status: PENDING ## Description This task contains a single script that can be used to fund addresses from a Gnosis Safe. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd /-funding make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate, Validate, and Sign #### 3.1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```bash make sign ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.1.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is ``. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. ##### 3.1.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ### 4. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following three places match: > > 1. On your Ledger screen. > 2. In the terminal output. > 3. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. #### 4.1. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` Then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` ================================================ FILE: setup-templates/template-funding/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-funding/funding.json ================================================ { "recipients": [ "0x0000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000043" ], "funds": [ 100000000000000000, 50000000000000000 ] } ================================================ FILE: setup-templates/template-funding/script/Fund.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; contract FundScript is MultisigScript { address internal immutable OWNER_SAFE; uint256 internal immutable OWNER_SAFE_BALANCE_BEFORE; uint256 internal immutable TOTAL_FUNDS; address[] internal RECIPIENTS; uint256[] internal FUNDS; uint256[] internal RECIPIENT_BALANCES_BEFORE; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); string memory funding = vm.readFile("./funding.json"); RECIPIENTS = vm.parseJsonAddressArray(funding, ".recipients"); FUNDS = vm.parseJsonUintArray(funding, ".funds"); uint256 totalFunds = 0; RECIPIENT_BALANCES_BEFORE = new uint256[](RECIPIENTS.length + 1); for (uint256 i; i < RECIPIENTS.length; i++) { RECIPIENT_BALANCES_BEFORE[i] = RECIPIENTS[i].balance; totalFunds += FUNDS[i]; } OWNER_SAFE_BALANCE_BEFORE = OWNER_SAFE.balance; TOTAL_FUNDS = totalFunds; } function setUp() public view { _precheck(); } function _precheck() internal view { require(RECIPIENTS.length == FUNDS.length, "RECIPIENTS and FUNDS not same length"); require(RECIPIENTS.length > 0, "RECIPIENTS and FUNDS empty"); require(OWNER_SAFE.balance >= TOTAL_FUNDS, "OWNER_SAFE not enough balance"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](RECIPIENTS.length); for (uint256 i; i < RECIPIENTS.length; i++) { calls[i] = Call({operation: Enum.Operation.Call, target: RECIPIENTS[i], data: "", value: FUNDS[i]}); } return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { for (uint256 i; i < RECIPIENTS.length; i++) { vm.assertEq( RECIPIENTS[i].balance, RECIPIENT_BALANCES_BEFORE[i] + FUNDS[i], "Recipient balance is not correct" ); } vm.assertEq(OWNER_SAFE.balance, OWNER_SAFE_BALANCE_BEFORE - TOTAL_FUNDS, "Owner safe balance is not correct"); } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-gas-and-elasticity-increase/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Execute upgrade ```bash SIGNATURES=AAABBBCCC make execute ``` ### 3. (**ONLY** if needed) Execute upgrade rollback > [!IMPORTANT] > > THIS SHOULD ONLY BE PERFORMED IN THE EVENT THAT WE NEED TO ROLLBACK ```bash SIGNATURES=AAABBBCCC make execute-rollback ``` ================================================ FILE: setup-templates/template-gas-and-elasticity-increase/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(INCIDENT_MULTISIG) ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = IncreaseEip1559ElasticityAndIncreaseGasLimitScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(FROM_GAS_LIMIT)" -a "$(FROM_GAS_LIMIT)" != "TODO" || (echo "FROM_GAS_LIMIT required" && exit 1) @test -n "$(TO_GAS_LIMIT)" -a "$(TO_GAS_LIMIT)" != "TODO" || (echo "TO_GAS_LIMIT required" && exit 1) @test -n "$(FROM_ELASTICITY)" -a "$(FROM_ELASTICITY)" != "TODO" || (echo "FROM_ELASTICITY required" && exit 1) @test -n "$(TO_ELASTICITY)" -a "$(TO_ELASTICITY)" != "TODO" || (echo "TO_ELASTICITY required" && exit 1) @test -n "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" -a "$(FROM_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "FROM_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @test -n "$(TO_DA_FOOTPRINT_GAS_SCALAR)" -a "$(TO_DA_FOOTPRINT_GAS_SCALAR)" != "TODO" || (echo "TO_DA_FOOTPRINT_GAS_SCALAR required" && exit 1) @echo "Configuration validated successfully" # Calculate the DA footprint gas scalar based on the formula: # da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) # Uses TO_GAS_LIMIT and TO_ELASTICITY from .env .PHONY: da-scalar da-scalar: ifndef TARGET_BLOB_COUNT $(error TARGET_BLOB_COUNT is not set. Usage: make da-scalar TARGET_BLOB_COUNT=) endif ifeq ($(TO_GAS_LIMIT),TODO) $(error TO_GAS_LIMIT is not set. Please set it in .env before running this command.) endif ifeq ($(TO_ELASTICITY),TODO) $(error TO_ELASTICITY is not set. Please set it in .env before running this command.) endif @echo "$(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) =" @echo "TO_DA_FOOTPRINT_GAS_SCALAR=$$(( $(TO_GAS_LIMIT) / ($(TO_ELASTICITY) * $(TARGET_BLOB_COUNT) * 32000) ))" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,NEW_GAS_LIMIT=$(TO_GAS_LIMIT) OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) NEW_ELASTICITY=$(TO_ELASTICITY) OLD_ELASTICITY=$(FROM_ELASTICITY) NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR)) .PHONY: execute execute: validate-config NEW_GAS_LIMIT=$(TO_GAS_LIMIT) \ OLD_GAS_LIMIT=$(FROM_GAS_LIMIT) \ NEW_ELASTICITY=$(TO_ELASTICITY) \ OLD_ELASTICITY=$(FROM_ELASTICITY) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) # Generate rollback validation file with swapped old/new values and nonce offset. # SAFE_NONCE is set to current_nonce + ROLLBACK_NONCE_OFFSET so the rollback # transaction targets the correct future nonce. .PHONY: gen-validation-rollback gen-validation-rollback: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer-rollback.json,OLD_GAS_LIMIT=$(TO_GAS_LIMIT) NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) OLD_ELASTICITY=$(TO_ELASTICITY) NEW_ELASTICITY=$(FROM_ELASTICITY) OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET))) .PHONY: execute-rollback execute-rollback: validate-config OLD_GAS_LIMIT=$(TO_GAS_LIMIT) \ NEW_GAS_LIMIT=$(FROM_GAS_LIMIT) \ OLD_ELASTICITY=$(TO_ELASTICITY) \ NEW_ELASTICITY=$(FROM_ELASTICITY) \ OLD_DA_FOOTPRINT_GAS_SCALAR=$(TO_DA_FOOTPRINT_GAS_SCALAR) \ NEW_DA_FOOTPRINT_GAS_SCALAR=$(FROM_DA_FOOTPRINT_GAS_SCALAR) \ SAFE_NONCE=$(shell expr $(call GET_NONCE,$(OWNER_SAFE)) + $(ROLLBACK_NONCE_OFFSET)) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: setup-templates/template-gas-and-elasticity-increase/README.md ================================================ # Update Gas Limit, Elasticity & DA Footprint Gas Scalar in L1 `SystemConfig` Status: TODO[READY TO SIGN|DONE] ## Description We are updating the gas limit, elasticity, and DA footprint gas scalar to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base/contracts) repository: `IncreaseEip1559ElasticityAndIncreaseGasLimitScript` -- This script will update the gas limit to our new limit of TODO gas, TODO elasticity, and TODO DA footprint gas scalar if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas, TODO elasticity, and TODO DA footprint gas scalar if invoked as part of the "rollback" process. ### DA Footprint Gas Scalar Formula We typically set the DA footprint gas scalar to cause base fees to rise if and only if the DA usage exceeds the L1 target blob throughput. (Below that level of DA usage, the normal base fee rules apply.) We use the following formula: ``` da_footprint_gas_scalar = gas_limit / (elasticity * l2_block_time * l1_target_throughput * estimation_ratio) ``` Where: - `gas_limit` = L2 gas limit per block - `elasticity` = EIP-1559 elasticity multiplier - `l2_block_time` = 2 seconds - `l1_target_throughput = (target_blob_count * 128,000 bytes/blob) / 12 sec/block` - `target_blob_count` = target number of blobs per L1 block - `estimation_ratio` = 1.5 to account for differences between compression estimates and actual usage This simplifies to: ``` da_footprint_gas_scalar = gas_limit / (elasticity * target_blob_count * 32,000) ``` Example with gas_limit = 120,000,000, elasticity = 2, and target_blob_count = 6: ``` da_footprint_gas_scalar = 120,000,000 / (2 * 6 * 32,000) = 312.5 ≈ 312 ``` The values we are sending are statically defined in the `.env` file. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving the Update transaction ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign (**not** the "Base Signer Rollback" task). Copy the resulting signature and save it. ### 4. Rollback signing Now, click on the "Base Signer" selection and switch over to the rollback task (called "Base Signer Rollback"). Copy the resulting signature and save it. ### 5. Send signature to facilitator Send the two signatures to the facilitator and make sure to clearly note which one is the primary one and which one is the rollback. You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: setup-templates/template-gas-and-elasticity-increase/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-gas-and-elasticity-increase/script/IncreaseEip1559ElasticityAndIncreaseGasLimit.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function eip1559Elasticity() external view returns (uint32); function eip1559Denominator() external view returns (uint32); function setEIP1559Params(uint32 _denominator, uint32 _elasticity) external; function gasLimit() external view returns (uint64); function setGasLimit(uint64 _gasLimit) external; function daFootprintGasScalar() external view returns (uint16); function setDAFootprintGasScalar(uint16 _daFootprintGasScalar) external; } contract IncreaseEip1559ElasticityAndIncreaseGasLimitScript is MultisigScript { address internal immutable OWNER_SAFE; address internal immutable SYSTEM_CONFIG; uint32 internal immutable ELASTICITY; uint32 internal immutable NEW_ELASTICITY; uint64 internal immutable GAS_LIMIT; uint64 internal immutable NEW_GAS_LIMIT; uint32 internal immutable DENOMINATOR; uint16 internal immutable DA_FOOTPRINT_GAS_SCALAR; uint16 internal immutable NEW_DA_FOOTPRINT_GAS_SCALAR; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); GAS_LIMIT = uint64(vm.envUint("OLD_GAS_LIMIT")); NEW_GAS_LIMIT = uint64(vm.envUint("NEW_GAS_LIMIT")); ELASTICITY = uint32(vm.envUint("OLD_ELASTICITY")); NEW_ELASTICITY = uint32(vm.envUint("NEW_ELASTICITY")); DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("OLD_DA_FOOTPRINT_GAS_SCALAR")); NEW_DA_FOOTPRINT_GAS_SCALAR = uint16(vm.envUint("NEW_DA_FOOTPRINT_GAS_SCALAR")); DENOMINATOR = ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Denominator(), DENOMINATOR, "Denominator mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity(), NEW_ELASTICITY, "Elasticity mismatch"); vm.assertEq(ISystemConfig(SYSTEM_CONFIG).gasLimit(), NEW_GAS_LIMIT, "Gas Limit mismatch"); vm.assertEq( ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar(), NEW_DA_FOOTPRINT_GAS_SCALAR, "DA Footprint Gas Scalar mismatch" ); } function _simulationOverrides() internal view override returns (Simulation.StateOverride[] memory _stateOverrides) { if ( GAS_LIMIT != ISystemConfig(SYSTEM_CONFIG).gasLimit() || ELASTICITY != ISystemConfig(SYSTEM_CONFIG).eip1559Elasticity() || DA_FOOTPRINT_GAS_SCALAR != ISystemConfig(SYSTEM_CONFIG).daFootprintGasScalar() ) { // Override SystemConfig state to the expected "from" values so simulations succeeds even // when the chain already reflects the post-change values (during rollback simulation). // Prepare two storage overrides for SystemConfig Simulation.StateOverride[] memory stateOverrides = new Simulation.StateOverride[](1); Simulation.StorageOverride[] memory storageOverrides = new Simulation.StorageOverride[](2); // Load current packed gas config (slot 0x68) and replace only the lower 64 bits with GAS_LIMIT bytes32 gasConfigSlotKey = bytes32(uint256(0x68)); uint256 gasConfigWord = uint256(vm.load(SYSTEM_CONFIG, gasConfigSlotKey)); uint256 updatedGasConfigWord = (gasConfigWord & ~uint256(0xffffffffffffffff)) | uint256(GAS_LIMIT); storageOverrides[0] = Simulation.StorageOverride({key: gasConfigSlotKey, value: bytes32(updatedGasConfigWord)}); // Update EIP-1559 params and DA Footprint Gas Scalar (slot 0x6a) // Storage layout (low to high bits): // - eip1559Denominator (uint32): bits 0-31 // - eip1559Elasticity (uint32): bits 32-63 // - operatorFeeScalar (uint32): bits 64-95 // - operatorFeeConstant (uint64): bits 96-159 // - daFootprintGasScalar (uint16): bits 160-175 // Load existing slot to preserve operatorFeeScalar and operatorFeeConstant, then update // the fields we care about. bytes32 eip1559SlotKey = bytes32(uint256(0x6a)); uint256 existingEip1559Word = uint256(vm.load(SYSTEM_CONFIG, eip1559SlotKey)); // Mask to preserve bits 64-159 (operatorFeeScalar and operatorFeeConstant) uint256 operatorFeeMask = uint256(0xFFFFFFFFFFFFFFFFFFFFFFFF) << 64; uint256 preservedOperatorFees = existingEip1559Word & operatorFeeMask; uint256 composedEip1559Word = (uint256(DA_FOOTPRINT_GAS_SCALAR) << 160) | preservedOperatorFees | (uint256(ELASTICITY) << 32) | uint256(DENOMINATOR); storageOverrides[1] = Simulation.StorageOverride({key: eip1559SlotKey, value: bytes32(composedEip1559Word)}); stateOverrides[0] = Simulation.StateOverride({contractAddress: SYSTEM_CONFIG, overrides: storageOverrides}); return stateOverrides; } } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](3); calls[0] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setEIP1559Params, (DENOMINATOR, NEW_ELASTICITY)), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setGasLimit, (NEW_GAS_LIMIT)), value: 0 }); calls[2] = Call({ operation: Enum.Operation.Call, target: SYSTEM_CONFIG, data: abi.encodeCall(ISystemConfig.setDAFootprintGasScalar, (NEW_DA_FOOTPRINT_GAS_SCALAR)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-gas-increase/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-gas-increase/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables L1_SYSTEM_CONFIG_ADDRESS ?= $(SYSTEM_CONFIG) SYSTEM_CONFIG_OWNER ?= $(INCIDENT_MULTISIG) ifndef ROLLBACK_NONCE_OFFSET override ROLLBACK_NONCE_OFFSET = 1 endif RPC_URL = $(L1_RPC_URL) # SCRIPT_NAME can be a Solidity file path (not just a class name); forge accepts both. SCRIPT_NAME = lib/base-contracts/script/deploy/l1/SetGasLimit.sol # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(L1_SYSTEM_CONFIG_ADDRESS)" || (echo "L1_SYSTEM_CONFIG_ADDRESS required" && exit 1) @test -n "$(SYSTEM_CONFIG_OWNER)" || (echo "SYSTEM_CONFIG_OWNER required" && exit 1) @test -n "$(OLD_GAS_LIMIT)" -a "$(OLD_GAS_LIMIT)" != "TODO" || (echo "OLD_GAS_LIMIT required" && exit 1) @test -n "$(NEW_GAS_LIMIT)" -a "$(NEW_GAS_LIMIT)" != "TODO" || (echo "NEW_GAS_LIMIT required" && exit 1) @echo "Configuration validated successfully" .PHONY: sign-upgrade sign-upgrade: validate-config FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-upgrade execute-upgrade: validate-config FROM_GAS_LIMIT=$(OLD_GAS_LIMIT) \ TO_GAS_LIMIT=$(NEW_GAS_LIMIT) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: sign-rollback sign-rollback: validate-config FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $(call GET_NONCE,$(SYSTEM_CONFIG_OWNER)) + $(ROLLBACK_NONCE_OFFSET)) \ $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) lib/base-contracts/script/deploy/l1/SetGasLimit.sol \ --sig "sign()" .PHONY: execute-rollback execute-rollback: validate-config FROM_GAS_LIMIT=$(NEW_GAS_LIMIT) \ TO_GAS_LIMIT=$(OLD_GAS_LIMIT) \ SAFE_NONCE=$(shell expr $(call GET_NONCE,$(SYSTEM_CONFIG_OWNER)) + $(ROLLBACK_NONCE_OFFSET)) \ $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: setup-templates/template-gas-increase/README.md ================================================ # Update Gas Limit in L1 `SystemConfig` Status: TODO[READY TO SIGN|DONE] ## Objective We are updating the gas limit to improve TPS and reduce gas fees. This runbook invokes the following script which allows our signers to sign the same call with two different sets of parameters for our Incident Multisig, defined in the [base-org/contracts](https://github.com/base-org/contracts) repository: `SetGasLimit` -- This script will update the gas limit to our new limit of TODO gas if invoked as part of the "upgrade" process, or revert to the old limit of TODO gas if invoked as part of the "rollback" process. The values we are sending are statically defined in the `.env`. > [!IMPORTANT] We have two transactions to sign. Please follow > the flow for both "Approving the Update transaction" and > "Approving the Rollback transaction". Hopefully we only need > the former, but will have the latter available if needed. ## Approving the Upgrade transaction ### 1. Update repo and move to the appropriate folder: ``` cd contract-deployments git pull cd mainnet/TODO make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-upgrade ``` Once you run the `make sign...` command successfully, you will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. #### 3.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`. We should see the nonce increment from TODO to TODO: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: TODO After: TODO ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`. We should see that the gas limit has been changed from TODO to TODO: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: TODO After: TODO ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 02 PM](https://github.com/base-org/contract-deployments/assets/84420280/1b7905f1-1350-4634-a804-7b4458d0ddc9) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-upgrade ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Approving the Rollback transaction Complete the above steps for `Approving the Update transaction` before continuing below. ### 1. Simulate and validate the transaction Make sure your ledger is still unlocked and run the following. ```shell make sign-rollback ``` Once you run the make sign command successfully, you will see a "Simulation link" from the output. Once again paste this URL in your browser and click "Simulate Transaction". We will be performing 3 validations and then we'll extract the domain hash and message hash to approve on your Ledger then verify completion: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. 4. Validate that the transaction completed successfully #### 3.1. Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Ethereum Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not, you will need to determine which “number” it is in the list of addresses on your ledger. 4. "Success" with a green check mark #### 3.2. Validate correctness of the state diff. Now click on the "State" tab. Verify that: 1. Verify that the nonce is incremented for the Incident Multisig under the "GnosisSafeProxy" at address `0x14536667Cd30e52C0b458BaACcB9faDA7046E056`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000005 Before: TODO After: TODO ``` 2. Verify that gas limit value is appropriately updated under "Proxy" at address `0x73a79fab69143498ed3712e519a88a918e1f4072`: ``` Key: 0x0000000000000000000000000000000000000000000000000000000000000068 Before: TODO After: TODO ``` #### 3.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `Safe.checkSignatures` call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. Here is an example screenshot. Note that the value will be different for each signer: ![Screenshot 2024-03-07 at 5 49 32 PM](https://github.com/base-org/contract-deployments/assets/84420280/b6b5817f-0d05-4862-b16a-4f7f5f18f036) It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. ### 4. Approve the signature on your ledger Once the validations are done, it's time to actually sign the transaction. Make sure your ledger is still unlocked and run the following: ```shell make sign-rollback ``` > [!IMPORTANT] This is the most security critical part of the > playbook: make sure the domain hash and message hash in the > following two places match: 1. on your Ledger screen. 2. in the Tenderly simulation. You should use the same Tenderly simulation as the one you used to verify the state diffs, instead of opening the new one printed in the console. There is no need to verify anything printed in the console. There is no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ``` Data: Signer:
Signature: ``` Double check the signer address is the right one. ### 5. Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ## Execute the output 1. Collect outputs from all participating signers. 2. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="0x[SIGNATURE1][SIGNATURE2]..."`. 3. Run `make execute-upgrade` > [!IMPORTANT] IN THE EVENT WE NEED TO PERFORM ROLLBACK > Repeat the above, but replace the signatures with the signed > rollback signatures collected, the call `make execute-rollback` ================================================ FILE: setup-templates/template-gas-increase/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [ {access = "read-write", path = "./"} ] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-generic/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-generic/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = ExampleMultisigScript # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" -a "$(OWNER_SAFE)" != "" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(TARGET)" -a "$(TARGET)" != "" || (echo "TARGET required" && exit 1) @echo "Configuration validated successfully" # L1_0 .PHONY: approve-l1-0 approve-l1-0: $(call MULTISIG_APPROVE,$(L1_0),$(SIGNATURES)) # L1_1 .PHONY: approve-l1-1 approve-l1-1: $(call MULTISIG_APPROVE,$(L1_1),$(SIGNATURES)) # Execute .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,0x) ================================================ FILE: setup-templates/template-generic/README.md ================================================ # Generic Multisig Script Template Status: TEMPLATE ## Description This is the base template for creating new multisig operations. It provides a starting point with the standard file structure and Makefile targets needed for signing and executing transactions via Gnosis Safe multisigs. Use this template when you need to create a new task that doesn't fit one of the specialized templates (gas increase, fault proof upgrade, etc.). ## Setup ### 1. Create a new task directory From the repository root: ```bash make setup-task network= task= ``` This copies the template to `/-/`. ### 2. Install dependencies ```bash cd /- make deps ``` ### 3. Configure environment Edit `.env` and set all required variables: | Variable | Required | Description | |----------|----------|-------------| | `BASE_CONTRACTS_COMMIT` | Yes | Git commit hash for base/contracts | | `TARGET` | Yes | Target contract address for the operation | | `OWNER_SAFE` | Yes | Top-level Gnosis Safe address | | `L1_0`, `L1_1` | Depends | Child safe addresses under OWNER_SAFE (if using nested safes) | ### 4. Validate configuration ```bash make validate-config ``` ### 5. Implement your script Edit `script/BasicScript.s.sol` or `script/CounterMultisigScript.s.sol` to implement your specific operation. The script should: 1. Read configuration from environment variables in the constructor 2. Implement `_buildCalls()` to return the multicall operations 3. Implement `_postCheck()` to validate the transaction succeeded 4. Implement `_ownerSafe()` to return the safe address ## Safe Hierarchy This template supports a single-nested safe structure for multi-party signing: ``` OWNER_SAFE/ ├── L1_0/ │ └── Signers └── L1_1/ └── Signers ``` ## Signing Flow ### For signers at L1_0: ```bash make sign-l1-0 ``` ### For signers at L1_1: ```bash make sign-l1-1 ``` ### For approving nested safes: ```bash SIGNATURES= make approve-l1-0 SIGNATURES= make approve-l1-1 ``` ### Final execution: ```bash make execute ``` ## Ledger Setup Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". To use a different Ledger account index: ```bash LEDGER_ACCOUNT=1 make sign-l1-0 ``` ================================================ FILE: setup-templates/template-generic/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-generic/script/BasicScript.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import "forge-std/Script.sol"; contract BasicScript is Script { function setUp() public {} function run() public { _preCheck(); // Do something _postCheck(); } function _preCheck() private {} function _postCheck() private {} } ================================================ FILE: setup-templates/template-generic/script/CounterMultisigScript.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ITest { function counter() external view returns (uint256); function increment() external; } contract CounterMultisigScript is MultisigScript { address internal OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address internal TARGET = vm.envAddress("TARGET"); uint256 private COUNT; function setUp() external { // TODO: Add any pre-check assertions here COUNT = ITest(TARGET).counter(); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { // TODO: Add any post-check assertions here require(ITest(TARGET).counter() == COUNT + 1, "Counter did not increment"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); calls[0] = Call({operation: Enum.Operation.Call, target: TARGET, data: abi.encodeCall(ITest.increment, ()), value: 0}); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-pause-bridge-base/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ### 3. (When ready) Execute un-pause ```bash SIGNATURES=AAABBBCCC make execute-unpause ``` ================================================ FILE: setup-templates/template-pause-bridge-base/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(INCIDENT_MULTISIG) L1_PORTAL ?= $(OPTIMISM_PORTAL) # Auto-fetch SAFE_NONCE from chain if not explicitly set (e.g., via .env) ifndef SAFE_NONCE SAFE_NONCE := $(call GET_NONCE,$(OWNER_SAFE)) endif # TODO: ensure `sender` is a signer for `OWNER_SAFE` SENDER=0x1841CB3C2ce6870D0417844C817849da64E6e937 RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = PauseBridge # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(L1_PORTAL)" || (echo "L1_PORTAL required" && exit 1) @test -n "$(L2_BRIDGE)" || (echo "L2_BRIDGE required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @test -n "$(SAFE_NONCE)" || (echo "SAFE_NONCE required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,IS_PAUSED=true) .PHONY: sign-pause sign-pause: validate-config @rm -f signatures-pause.txt @for i in $$(seq 0 19); do \ nonce=$$(($(SAFE_NONCE) + $$i)); \ echo "Signing with nonce $$nonce"; \ IS_PAUSED=true SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-pause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-pause.txt || true; \ echo "" >> signatures-pause.txt; \ rm -f sign_output.tmp; \ done .PHONY: sign-unpause sign-unpause: validate-config @rm -f signatures-unpause.txt @for i in $$(seq 0 19); do \ nonce=$$(($(SAFE_NONCE) + $$i)); \ echo "Signing with nonce $$nonce"; \ IS_PAUSED=false SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-unpause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-unpause.txt || true; \ echo "" >> signatures-unpause.txt; \ rm -f sign_output.tmp; \ done # Execute .PHONY: execute-pause execute-pause: validate-config IS_PAUSED=true $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: execute-unpause execute-unpause: validate-config IS_PAUSED=false $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: check-status check-status: cast call $(L2_BRIDGE) "paused()" --rpc-url $(L2_RPC_URL) ================================================ FILE: setup-templates/template-pause-bridge-base/README.md ================================================ # Pause Base Bridge Status: READY TO SIGN ## Description Pauses the Base side of [Base Bridge](https://github.com/base/bridge). ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Sign pause transactions ```bash make sign-pause ``` ### 3. Sign unpause transactions ```bash make sign-unpause ``` ### 4. Send all signatures to facilitator ================================================ FILE: setup-templates/template-pause-bridge-base/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-pause-bridge-base/script/PauseBridge.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IBridge { function setPaused(bool) external; } contract PauseBridge is MultisigScript { address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE = vm.envAddress("L2_BRIDGE"); bool public immutable IS_PAUSED = vm.envBool("IS_PAUSED"); function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); address to = L2_BRIDGE; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(IBridge.setPaused, (IS_PAUSED)); calls[0] = Call({ operation: Enum.Operation.Call, target: L1_PORTAL, data: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-pause-superchain-config/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Check current pause status ```bash make check-status ``` ### 3. Execute pause ```bash SIGNATURES=AAABBBCCC make execute-pause ``` ================================================ FILE: setup-templates/template-pause-superchain-config/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env export INCIDENT_MULTISIG export SYSTEM_CONFIG # Get first owner from INCIDENT_MULTISIG SENDER := $(shell cast call $(INCIDENT_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | head -1 | tr -d '[]' | cut -d',' -f1) RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = PauseSuperchainConfig .PHONY: sign-pause sign-pause: @rm -f signatures-pause.txt @start_nonce=$$(cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) | xargs printf "%d"); \ echo "Starting nonce: $$start_nonce"; \ for i in $$(seq 0 19); do \ nonce=$$(($$start_nonce + $$i)); \ echo "Signing with nonce $$nonce"; \ SAFE_NONCE=$$nonce $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ forge script --rpc-url $(L1_RPC_URL) $(SCRIPT_NAME) \ --sig "sign(address[])" "[]" --sender $(SENDER) | tee sign_output.tmp; \ signer=$$(grep "^Signer:" sign_output.tmp | awk '{print $$2}'); \ sig=$$(grep "^Signature:" sign_output.tmp | awk '{print $$2}'); \ printf "%s," "$$signer:$$nonce:$$sig" >> signatures-pause.txt; \ rm -f sign_output.tmp; \ done; \ echo "" >> signatures-pause.txt # Execute .PHONY: execute-pause execute-pause: $(call MULTISIG_EXECUTE,$(SIGNATURES)) .PHONY: check-status check-status: @superchain_config=$$(cast call $(SYSTEM_CONFIG) "superchainConfig()" --rpc-url $(L1_RPC_URL)); \ superchain_config=$$(echo $$superchain_config | sed 's/0x000000000000000000000000//'); \ echo "SuperchainConfig address: 0x$$superchain_config"; \ cast call 0x$$superchain_config "paused()" --rpc-url $(L1_RPC_URL) .PHONY: check-nonce check-nonce: @echo "Incident Safe: $(INCIDENT_MULTISIG)" @cast call $(INCIDENT_MULTISIG) "nonce()" --rpc-url $(L1_RPC_URL) ================================================ FILE: setup-templates/template-pause-superchain-config/README.md ================================================ # Pause SuperchainConfig Status: READY TO SIGN ## Description Pauses deposits/withdrawals Base. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ## Sign Pause Task ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Sign pause transactions ```bash make sign-pause ``` This will output your signature batch to a `signatures-pause.txt` file. ### 3. Send the contents of `signatures-pause.txt` to facilitator ================================================ FILE: setup-templates/template-pause-superchain-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false evm_version = "shanghai" remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-pause-superchain-config/script/PauseSuperchainConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface ISystemConfig { function superchainConfig() external view returns (address); } interface ISuperchainConfig { function pause(address _identifier) external; function paused(address) external view returns (bool); } contract PauseSuperchainConfig is MultisigScript { address public immutable INCIDENT_MULTISIG = vm.envAddress("INCIDENT_MULTISIG"); address public immutable SYSTEM_CONFIG = vm.envAddress("SYSTEM_CONFIG"); function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); calls[0] = Call({ operation: Enum.Operation.Call, target: superchainConfig, data: abi.encodeCall(ISuperchainConfig.pause, (address(0))), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { address superchainConfig = ISystemConfig(SYSTEM_CONFIG).superchainConfig(); bool paused = ISuperchainConfig(superchainConfig).paused(address(0)); require(paused == true, "PauseSuperchainConfig: chain is not paused"); } function _ownerSafe() internal view override returns (address) { return INCIDENT_MULTISIG; } } ================================================ FILE: setup-templates/template-safe-management/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-safe-management/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpdateSigners # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" -a "$(BASE_CONTRACTS_COMMIT)" != "TODO" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" -a "$(OWNER_SAFE)" != "TODO" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SENDER)" -a "$(SENDER)" != "TODO" || (echo "SENDER required" && exit 1) @echo "Configuration validated successfully" .PHONY: deps deps: new-forge-deps .PHONY: new-forge-deps new-forge-deps: forge install --no-git safe-global/safe-smart-account@186a21a74b327f17fc41217a927dea7064f74604 .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),base-signer.json,) .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: setup-templates/template-safe-management/OwnerDiff.json ================================================ { "OwnersToAdd": [ "0x0000000000000000000000000000000000000000" ], "OwnersToRemove": [ "0x0000000000000000000000000000000000000001" ] } ================================================ FILE: setup-templates/template-safe-management/README.md ================================================ # Update Sepolia Incident Multisig Signers Status: TODO[READY TO SIGN|EXECUTED] ## Description We wish to update the owners of our Incident Multisig to be consistent with the current state of our Base Chain Eng team. This involves removing signers that are no longer closely involved with the team, and adding new team members as signers. The exact signer changes are outlined in the [OwnerDiff.json](./OwnerDiff.json) file. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Approving Signers Update ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Be sure to select the correct task from the list of available tasks to sign. ### 4. Send signature to facilitator You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: setup-templates/template-safe-management/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.15" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-safe-management/script/UpdateSigners.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {GnosisSafe} from "safe-smart-account/GnosisSafe.sol"; import {OwnerManager} from "safe-smart-account/base/OwnerManager.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; contract UpdateSigners is MultisigScript { using stdJson for string; address public constant SENTINEL_OWNERS = address(0x1); address public immutable OWNER_SAFE; uint256 public immutable THRESHOLD; address[] public EXISTING_OWNERS; address[] public OWNERS_TO_ADD; address[] public OWNERS_TO_REMOVE; mapping(address => address) public ownerToPrevOwner; mapping(address => address) public ownerToNextOwner; mapping(address => bool) public expectedOwner; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); THRESHOLD = ownerSafe.getThreshold(); EXISTING_OWNERS = ownerSafe.getOwners(); string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/OwnerDiff.json"); string memory jsonData = vm.readFile(path); OWNERS_TO_ADD = abi.decode(jsonData.parseRaw(".OwnersToAdd"), (address[])); OWNERS_TO_REMOVE = abi.decode(jsonData.parseRaw(".OwnersToRemove"), (address[])); } function setUp() external { require(OWNERS_TO_ADD.length > 0, "Precheck 00"); require(OWNERS_TO_REMOVE.length > 0, "Precheck 01"); GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address prevOwner = SENTINEL_OWNERS; for (uint256 i = OWNERS_TO_ADD.length; i > 0; i--) { uint256 index = i - 1; // Make sure owners to add are not already owners require(!ownerSafe.isOwner(OWNERS_TO_ADD[index]), "Precheck 03"); // Prevent duplicates require(!expectedOwner[OWNERS_TO_ADD[index]], "Precheck 04"); ownerToPrevOwner[OWNERS_TO_ADD[index]] = prevOwner; ownerToNextOwner[prevOwner] = OWNERS_TO_ADD[index]; prevOwner = OWNERS_TO_ADD[index]; expectedOwner[OWNERS_TO_ADD[index]] = true; } for (uint256 i; i < EXISTING_OWNERS.length; i++) { ownerToPrevOwner[EXISTING_OWNERS[i]] = prevOwner; ownerToNextOwner[prevOwner] = EXISTING_OWNERS[i]; prevOwner = EXISTING_OWNERS[i]; expectedOwner[EXISTING_OWNERS[i]] = true; } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { // Make sure owners to remove are owners require(ownerSafe.isOwner(OWNERS_TO_REMOVE[i]), "Precheck 05"); // Prevent duplicates require(expectedOwner[OWNERS_TO_REMOVE[i]], "Precheck 06"); expectedOwner[OWNERS_TO_REMOVE[i]] = false; // Remove from linked list to keep ownerToPrevOwner up to date // Note: This works as long as the order of OWNERS_TO_REMOVE does not change during `_buildCalls()` address nextOwner = ownerToNextOwner[OWNERS_TO_REMOVE[i]]; address prevPtr = ownerToPrevOwner[OWNERS_TO_REMOVE[i]]; ownerToPrevOwner[nextOwner] = prevPtr; ownerToNextOwner[prevPtr] = nextOwner; } } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { GnosisSafe ownerSafe = GnosisSafe(payable(OWNER_SAFE)); address[] memory postCheckOwners = ownerSafe.getOwners(); uint256 postCheckThreshold = ownerSafe.getThreshold(); uint256 expectedLength = EXISTING_OWNERS.length + OWNERS_TO_ADD.length - OWNERS_TO_REMOVE.length; require(postCheckThreshold == THRESHOLD, "Postcheck 00"); require(postCheckOwners.length == expectedLength, "Postcheck 01"); for (uint256 i; i < postCheckOwners.length; i++) { require(expectedOwner[postCheckOwners[i]], "Postcheck 02"); } } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](OWNERS_TO_ADD.length + OWNERS_TO_REMOVE.length); for (uint256 i; i < OWNERS_TO_ADD.length; i++) { calls[i] = Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall(OwnerManager.addOwnerWithThreshold, (OWNERS_TO_ADD[i], THRESHOLD)), value: 0 }); } for (uint256 i; i < OWNERS_TO_REMOVE.length; i++) { calls[OWNERS_TO_ADD.length + i] = Call({ operation: Enum.Operation.Call, target: OWNER_SAFE, data: abi.encodeCall( OwnerManager.removeOwner, (ownerToPrevOwner[OWNERS_TO_REMOVE[i]], OWNERS_TO_REMOVE[i], THRESHOLD) ), value: 0 }); } return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-set-bridge-partner-threshold/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ## Execution ### 1. Update repo: ```bash cd contract-deployments git pull cd / make deps ``` ### 2. Execute the transaction ```bash SIGNATURES=AAABBBCCC make execute ``` ================================================ FILE: setup-templates/template-set-bridge-partner-threshold/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(INCIDENT_MULTISIG) L1_PORTAL ?= $(OPTIMISM_PORTAL) RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SetThreshold # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(L1_PORTAL)" || (echo "L1_PORTAL required" && exit 1) @test -n "$(L2_BRIDGE_VALIDATOR)" || (echo "L2_BRIDGE_VALIDATOR required" && exit 1) @test -n "$(NEW_THRESHOLD)" || (echo "NEW_THRESHOLD required" && exit 1) @echo "Configuration validated successfully" # TODO: ensure `sender` is a signer for `OWNER_SAFE` .PHONY: gen-validation gen-validation: validate-config $(GOPATH)/bin/state-diff --rpc $(L1_RPC_URL) -o validations/signer.json \ -- forge script --rpc-url $(L1_RPC_URL) SetThreshold \ --sig "sign(address[])" "[$(OWNER_SAFE)]" \ --sender 0xb2d9a52e76841279EF0372c534C539a4f68f8C0B # Execute .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: setup-templates/template-set-bridge-partner-threshold/README.md ================================================ # Pause Base Bridge Status: READY TO SIGN ## Description Updates the partner threshold on Base for [Base Bridge](https://github.com/base/bridge). This updates the required signature count for validating messages. ## Install dependencies ### 1. Install Node.js First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ### 2. Install bun First, check if you have bun installed ```bash bun --version ``` If you see a version output from the above command, you can move on. Otherwise, install bun ```bash curl -fsSL https://bun.sh/install | bash ``` ## Signing Steps ### 1. Run the signer tool ```bash make sign-task ``` ### 2. Open the UI at [http://localhost:3000](http://localhost:3000) ### 3. Send signature to facilitator ================================================ FILE: setup-templates/template-set-bridge-partner-threshold/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 999999 solc_version = "0.8.28" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak=lib/lib-keccak/contracts/lib/' ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-set-bridge-partner-threshold/script/SetThreshold.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.28; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface IOptimismPortal2 { function depositTransaction(address _to, uint256 _value, uint64 _gasLimit, bool _isCreation, bytes memory _data) external payable; } interface IBridgeValidator { function setPartnerThreshold(uint256 newThreshold) external; } contract SetThreshold is MultisigScript { address public immutable OWNER_SAFE = vm.envAddress("OWNER_SAFE"); address public immutable L1_PORTAL = vm.envAddress("L1_PORTAL"); address public immutable L2_BRIDGE_VALIDATOR = vm.envAddress("L2_BRIDGE_VALIDATOR"); uint256 public immutable NEW_THRESHOLD = vm.envUint("NEW_THRESHOLD"); function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); address to = L2_BRIDGE_VALIDATOR; uint256 value = 0; uint64 gasLimit = 100_000; bool isCreation = false; bytes memory data = abi.encodeCall(IBridgeValidator.setPartnerThreshold, (NEW_THRESHOLD)); calls[0] = Call({ operation: Enum.Operation.Call, target: L1_PORTAL, data: abi.encodeCall(IOptimismPortal2.depositTransaction, (to, value, gasLimit, isCreation, data)), value: value }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override {} function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-switch-to-permissioned-game/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-switch-to-permissioned-game/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = SwitchToPermissionedGame # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(OP_SECURITY_COUNCIL_SAFE)" || (echo "OP_SECURITY_COUNCIL_SAFE required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool $(call GEN_VALIDATION,$(SCRIPT_NAME),$(OP_SECURITY_COUNCIL_SAFE),$(SENDER),op-signer.json,) .PHONY: approve-op approve-op: validate-config $(call MULTISIG_APPROVE,$(OP_SECURITY_COUNCIL_SAFE),$(SIGNATURES)) # Execute .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,0x) ================================================ FILE: setup-templates/template-switch-to-permissioned-game/README.md ================================================ # Switch to Permissioned Games Status: READY TO SIGN ## Description Switches Base to Permissioned Fault Dispute Games and retires existing games. ## Install dependencies ### 1. Update foundry ```bash foundryup ``` ### 2. Install Node.js if needed First, check if you have node installed ```bash node --version ``` If you see a version output from the above command, you can move on. Otherwise, install node ```bash brew install node ``` ## Sign Task ### 1. Update repo: ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool (NOTE: do not enter the task directory. Run this command from the project's root). ```bash make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) ### 4. Send signature to facilitator You may now kill the Signer Tool process in your terminal window by running `Ctrl + C`. ================================================ FILE: setup-templates/template-switch-to-permissioned-game/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-switch-to-permissioned-game/script/SwitchToPermissionedGame.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {IAnchorStateRegistry} from "@base-contracts/src/dispute/FaultDisputeGame.sol"; import {SystemConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {DisputeGameFactory} from "@base-contracts/src/dispute/DisputeGameFactory.sol"; import {FaultDisputeGame} from "@base-contracts/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; /// @notice This script updates the respectedGameType and retires existing games in the AnchorStateRegistry. contract SwitchToPermissionedGame is MultisigScript { address public immutable OWNER_SAFE; SystemConfig internal immutable _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); IAnchorStateRegistry anchorStateRegistry; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); } function setUp() public { DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); anchorStateRegistry = currentFdg.anchorStateRegistry(); } // Confirm the retirementTimestamp is updated to the block time and the // respectedGameType is updated to PERMISSIONED_CANNON. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(anchorStateRegistry.retirementTimestamp() == block.timestamp, "post-110"); require( GameType.unwrap(anchorStateRegistry.respectedGameType()) == GameType.unwrap(GameTypes.PERMISSIONED_CANNON), "post-111" ); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](2); calls[0] = Call({ operation: Enum.Operation.Call, target: address(anchorStateRegistry), data: abi.encodeCall(IAnchorStateRegistry.setRespectedGameType, (GameTypes.PERMISSIONED_CANNON)), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: address(anchorStateRegistry), data: abi.encodeCall(IAnchorStateRegistry.updateRetirementTimestamp, ()), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: setup-templates/template-upgrade-fault-proofs/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Task Origin Signing After setting up the task, generate cryptographic attestations (sigstore bundles) to prove who created and facilitated the task. These signatures are stored in `/signatures//`. ### Task creator (run after task setup): ```bash make sign-as-task-creator ``` ### Base facilitator: ```bash make sign-as-base-facilitator ``` ### Security Council facilitator: ```bash make sign-as-sc-facilitator ``` ================================================ FILE: setup-templates/template-upgrade-fault-proofs/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env # Map config variables to script variables OWNER_SAFE ?= $(PROXY_ADMIN_OWNER) CB_SIGNER_SAFE_ADDR ?= $(CB_MULTISIG) CB_SC_SAFE_ADDR ?= $(BASE_SECURITY_COUNCIL) OP_SIGNER_SAFE_ADDR ?= $(OP_MULTISIG) # Validate required configuration before execution .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(ABSOLUTE_PRESTATE)" || (echo "ABSOLUTE_PRESTATE required" && exit 1) @test -n "$(SYSTEM_CONFIG)" || (echo "SYSTEM_CONFIG required" && exit 1) @test -n "$(OWNER_SAFE)" || (echo "OWNER_SAFE required" && exit 1) @test -n "$(CB_SIGNER_SAFE_ADDR)" || (echo "CB_SIGNER_SAFE_ADDR required" && exit 1) @test -n "$(CB_SC_SAFE_ADDR)" || (echo "CB_SC_SAFE_ADDR required" && exit 1) @test -n "$(OP_SIGNER_SAFE_ADDR)" || (echo "OP_SIGNER_SAFE_ADDR required" && exit 1) @echo "Configuration validated successfully" .PHONY: deploy deploy: validate-config forge script --rpc-url $(L1_RPC_URL) DeployDisputeGames \ --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" --broadcast -vvvv RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = UpgradeDGF # CB .PHONY: approve-cb approve-cb: $(call MULTISIG_APPROVE,$(CB_SIGNER_SAFE_ADDR),$(SIGNATURES)) .PHONY: approve-cb-sc approve-cb-sc: $(call MULTISIG_APPROVE,$(CB_SC_SAFE_ADDR),$(SIGNATURES)) # OP .PHONY: approve-op approve-op: $(call MULTISIG_APPROVE,$(OP_SIGNER_SAFE_ADDR),$(SIGNATURES)) # Execute .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,0x) ================================================ FILE: setup-templates/template-upgrade-fault-proofs/README.md ================================================ # Upgrade Fault Proofs Status: PENDING ## Description This task contains two scripts. One for deploying new versions of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts, and one for updating the `DisputeGameFactory` contract to reference the new dispute game contracts. ## Procedure ### 1. Update repo: ```bash cd contract-deployments git pull cd /-upgrade-fault-proofs make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The Ethereum application needs to be opened on Ledger with the message "Application is ready". ### 3. Run relevant script(s) #### 3.1 Deploy new Dispute Game Implementations ```bash make deploy ``` This will output the new addresses of the `FaultDisputeGame` and `PermissionedDisputeGame` contracts to an `addresses.json` file. You will need to commit this file to the repo before signers can sign. #### 3.2 Sign the transaction **If on testnet**: ```bash make sign ``` **If on mainnet**: Coinbase signer: ```bash make sign-cb ``` Op signer: ```bash make sign-op ``` You will see a "Simulation link" from the output. Paste this URL in your browser. A prompt may ask you to choose a project, any project will do. You can create one if necessary. Click "Simulate Transaction". We will be performing 3 validations and extract the domain hash and message hash to approve on your Ledger: 1. Validate integrity of the simulation. 2. Validate correctness of the state diff. 3. Validate and extract domain hash and message hash to approve. ##### 3.2.1 Validate integrity of the simulation. Make sure you are on the "Summary" tab of the tenderly simulation, to validate integrity of the simulation, we need to check the following: 1. "Network": Check the network is Sepolia or Mainnet. 2. "Timestamp": Check the simulation is performed on a block with a recent timestamp (i.e. close to when you run the script). 3. "Sender": Check the address shown is your signer account. If not see the derivation path Note above. ##### 3.2.2. Validate correctness of the state diff. Now click on the "State" tab, and refer to the [State Validations](./VALIDATION.md) instructions for the transaction you are signing. Once complete return to this document to complete the signing. ##### 3.2.3. Extract the domain hash and the message hash to approve. Now that we have verified the transaction performs the right operation, we need to extract the domain hash and the message hash to approve. Go back to the "Summary" tab, and find the `GnosisSafe.checkSignatures` (for OP signers) or `Safe.checkSignatures` (for Coinbase signers) call. This call's `data` parameter contains both the domain hash and the message hash that will show up in your Ledger. It will be a concatenation of `0x1901`, the domain hash, and the message hash: `0x1901[domain hash][message hash]`. Note down this value. You will need to compare it with the ones displayed on the Ledger screen at signing. Once the validations are done, it's time to actually sign the transaction. > [!WARNING] > This is the most security critical part of the playbook: make sure the > domain hash and message hash in the following two places match: > > 1. On your Ledger screen. > 2. In the Tenderly simulation. You should use the same Tenderly > simulation as the one you used to verify the state diffs, instead > of opening the new one printed in the console. > > There is no need to verify anything printed in the console. There is > no need to open the new Tenderly simulation link either. After verification, sign the transaction. You will see the `Data`, `Signer` and `Signature` printed in the console. Format should be something like this: ```shell Data: Signer:
Signature: ``` Double check the signer address is the right one. ##### 3.2.4 Send the output to Facilitator(s) Nothing has occurred onchain - these are offchain signatures which will be collected by Facilitators for execution. Execution can occur by anyone once a threshold of signatures are collected, so a Facilitator will do the final execution for convenience. Share the `Data`, `Signer` and `Signature` with the Facilitator, and congrats, you are done! ### [For Facilitator ONLY] How to execute #### Execute the transaction 1. IMPORTANT: Ensure op-challenger has been updated before executing. 1. Collect outputs from all participating signers. 1. Concatenate all signatures and export it as the `SIGNATURES` environment variable, i.e. `export SIGNATURES="[SIGNATURE1][SIGNATURE2]..."`. 1. Run the `make execute` or `make approve` command as described below to execute the transaction. For example, if the quorum is 2 and you get the following outputs: ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE01 Signature: AAAA ``` ```shell Data: 0xDEADBEEF Signer: 0xC0FFEE02 Signature: BBBB ``` If on testnet, then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make execute ``` If on mainnet, then you should run: Coinbase facilitator: ```bash SIGNATURES=AAAABBBB make approve-cb ``` Optimism facilitator: ```bash SIGNATURES=AAAABBBB make approve-op ``` #### If on mainnet, execute the transaction Once the signatures have been submitted approving the transaction for all child Safes run: ```bash make execute ``` ================================================ FILE: setup-templates/template-upgrade-fault-proofs/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts', '@solady/=lib/solady/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', ] [lint] lint_on_build = false # See more config options https://github.com/foundry-rs/foundry/tree/master/config ================================================ FILE: setup-templates/template-upgrade-fault-proofs/script/DeployDisputeGames.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script} from "forge-std/Script.sol"; import {IAnchorStateRegistry, IDelayedWETH, IBigStepper} from "@base-contracts/src/dispute/FaultDisputeGame.sol"; import {PermissionedDisputeGame, FaultDisputeGame} from "@base-contracts/src/dispute/PermissionedDisputeGame.sol"; import {GameTypes, GameType, Duration, Claim} from "@base-contracts/src/dispute/lib/Types.sol"; import {LibGameType, LibDuration} from "@base-contracts/src/dispute/lib/LibUDT.sol"; import {DisputeGameFactory} from "@base-contracts/src/dispute/DisputeGameFactory.sol"; import {SystemConfig} from "@base-contracts/src/L1/SystemConfig.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; /// @notice This script deploys new versions of FaultDisputeGame and PermissionedDisputeGame with all the same /// parameters as the existing implementations excluding the absolute prestate. contract DeployDisputeGames is Script { using Strings for address; using LibDuration for Duration; using LibGameType for GameType; // TODO: Confirm expected version string public constant EXPECTED_VERSION = "1.4.1"; SystemConfig internal _SYSTEM_CONFIG = SystemConfig(vm.envAddress("SYSTEM_CONFIG")); Claim immutable absolutePrestate; FaultDisputeGame.GameConstructorParams fdgParams; FaultDisputeGame.GameConstructorParams pdgParams; address proposer; address challenger; constructor() { absolutePrestate = Claim.wrap(vm.envBytes32("ABSOLUTE_PRESTATE")); } function setUp() public { DisputeGameFactory dgfProxy = DisputeGameFactory(_SYSTEM_CONFIG.disputeGameFactory()); FaultDisputeGame currentFdg = FaultDisputeGame(address(dgfProxy.gameImpls(GameTypes.CANNON))); PermissionedDisputeGame currentPdg = PermissionedDisputeGame(address(dgfProxy.gameImpls(GameTypes.PERMISSIONED_CANNON))); uint256 maxGameDepth = currentFdg.maxGameDepth(); uint256 splitDepth = currentFdg.splitDepth(); Duration clockExtension = currentFdg.clockExtension(); Duration maxClockDuration = currentFdg.maxClockDuration(); IBigStepper bigStepper = currentFdg.vm(); IAnchorStateRegistry anchorStateRegistry = currentFdg.anchorStateRegistry(); uint256 l2ChainId = currentFdg.l2ChainId(); proposer = currentPdg.proposer(); challenger = currentPdg.challenger(); fdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentFdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); pdgParams = FaultDisputeGame.GameConstructorParams({ gameType: GameTypes.PERMISSIONED_CANNON, absolutePrestate: absolutePrestate, maxGameDepth: maxGameDepth, splitDepth: splitDepth, clockExtension: clockExtension, maxClockDuration: maxClockDuration, vm: bigStepper, weth: currentPdg.weth(), anchorStateRegistry: anchorStateRegistry, l2ChainId: l2ChainId }); } function _postCheck(address fdgImpl, address pdgImpl) private view { FaultDisputeGame fdg = FaultDisputeGame(fdgImpl); PermissionedDisputeGame pdg = PermissionedDisputeGame(pdgImpl); require(Strings.equal(fdg.version(), EXPECTED_VERSION), "Postcheck version 1"); require(Strings.equal(pdg.version(), EXPECTED_VERSION), "Postcheck version 2"); require(fdg.gameType().raw() == GameTypes.CANNON.raw(), "Postcheck 1"); require(fdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 2"); require(fdg.maxGameDepth() == fdgParams.maxGameDepth, "Postcheck 3"); require(fdg.splitDepth() == fdgParams.splitDepth, "Postcheck 4"); require(fdg.clockExtension().raw() == fdgParams.clockExtension.raw(), "Postcheck 5"); require(fdg.maxClockDuration().raw() == fdgParams.maxClockDuration.raw(), "Postcheck 6"); require(fdg.vm() == fdgParams.vm, "Postcheck 7"); require(fdg.weth() == fdgParams.weth, "Postcheck 8"); require(fdg.anchorStateRegistry() == fdgParams.anchorStateRegistry, "Postcheck 9"); require(fdg.l2ChainId() == fdgParams.l2ChainId, "Postcheck 10"); require(pdg.gameType().raw() == GameTypes.PERMISSIONED_CANNON.raw(), "Postcheck 11"); require(pdg.absolutePrestate().raw() == absolutePrestate.raw(), "Postcheck 12"); require(pdg.maxGameDepth() == pdgParams.maxGameDepth, "Postcheck 13"); require(pdg.splitDepth() == pdgParams.splitDepth, "Postcheck 14"); require(pdg.clockExtension().raw() == pdgParams.clockExtension.raw(), "Postcheck 15"); require(pdg.maxClockDuration().raw() == pdgParams.maxClockDuration.raw(), "Postcheck 16"); require(pdg.vm() == pdgParams.vm, "Postcheck 17"); require(pdg.weth() == pdgParams.weth, "Postcheck 18"); require(pdg.anchorStateRegistry() == pdgParams.anchorStateRegistry, "Postcheck 19"); require(pdg.l2ChainId() == pdgParams.l2ChainId, "Postcheck 20"); require(pdg.proposer() == proposer, "Postcheck 21"); require(pdg.challenger() == challenger, "Postcheck 22"); } function run() public { (address fdg, address pdg) = _deployContracts(); _postCheck(fdg, pdg); vm.writeFile( "addresses.json", string.concat( "{", "\"faultDisputeGame\": \"", fdg.toHexString(), "\",", "\"permissionedDisputeGame\": \"", pdg.toHexString(), "\"" "}" ) ); } function _deployContracts() private returns (address, address) { console.log("FaultDisputeGame params:"); console.logBytes(abi.encode(fdgParams)); console.log("PermissionedDisputeGame params:"); console.logBytes(abi.encode(pdgParams, proposer, challenger)); vm.startBroadcast(); address fdg = address(new FaultDisputeGame(fdgParams)); address pdg = address(new PermissionedDisputeGame(pdgParams, proposer, challenger)); vm.stopBroadcast(); return (fdg, pdg); } } ================================================ FILE: setup-templates/template-upgrade-fault-proofs/script/UpgradeDGF.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Vm} from "forge-std/Vm.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {console} from "forge-std/console.sol"; import {LibString} from "@solady/utils/LibString.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; interface IDisputeGameFactory { function gameImpls(uint32) external view returns (address); function setImplementation(uint32, address) external; } interface IPermissionedDisputeGame { function challenger() external view returns (address); function proposer() external view returns (address); } interface ISystemConfig { function disputeGameFactory() external view returns (address); } interface IFaultDisputeGame { function version() external view returns (string memory); function vm() external view returns (address); function weth() external view returns (address); function anchorStateRegistry() external view returns (address); function l2ChainId() external view returns (uint64); function splitDepth() external view returns (uint64); function maxGameDepth() external view returns (uint64); function maxClockDuration() external view returns (uint64); function clockExtension() external view returns (uint64); } interface IAnchorStateRegistry { function anchors(uint32) external view returns (bytes32, uint256); } /// @notice This script updates the FaultDisputeGame and PermissionedDisputeGame implementations in the /// DisputeGameFactory contract. contract UpgradeDGF is MultisigScript { using stdJson for string; // TODO: Confirm expected version string public constant EXPECTED_VERSION = "1.4.1"; uint32 public constant CANNON = 0; uint32 public constant PERMISSIONED_CANNON = 1; address public immutable OWNER_SAFE; IDisputeGameFactory public dgfProxy; address public fdgImpl; address public pdgImpl; constructor() { OWNER_SAFE = vm.envAddress("OWNER_SAFE"); } function setUp() public { string memory rootPath = vm.projectRoot(); string memory path = string.concat(rootPath, "/addresses.json"); string memory addresses = vm.readFile(path); dgfProxy = IDisputeGameFactory(ISystemConfig(vm.envAddress("SYSTEM_CONFIG")).disputeGameFactory()); fdgImpl = addresses.readAddress(".faultDisputeGame"); pdgImpl = addresses.readAddress(".permissionedDisputeGame"); _precheckDisputeGameImplementation(CANNON, fdgImpl); _precheckDisputeGameImplementation(PERMISSIONED_CANNON, pdgImpl); } // Checks that the new game being set has the same configuration as the existing implementation with the exception // of the absolutePrestate. This is the most common scenario where the game implementation is upgraded to provide an // updated fault proof program that supports an upcoming hard fork. function _precheckDisputeGameImplementation(uint32 targetGameType, address newImpl) internal view { console.log("pre-check new game implementations", targetGameType); IFaultDisputeGame currentImpl = IFaultDisputeGame(address(dgfProxy.gameImpls(targetGameType))); // No checks are performed if there is no prior implementation. // When deploying the first implementation, it is recommended to implement custom checks. if (address(currentImpl) == address(0)) { return; } IFaultDisputeGame faultDisputeGame = IFaultDisputeGame(newImpl); require(LibString.eq(currentImpl.version(), EXPECTED_VERSION), "00"); require(currentImpl.vm() == faultDisputeGame.vm(), "10"); require(currentImpl.weth() == faultDisputeGame.weth(), "20"); require(currentImpl.anchorStateRegistry() == faultDisputeGame.anchorStateRegistry(), "30"); require(currentImpl.l2ChainId() == faultDisputeGame.l2ChainId(), "40"); require(currentImpl.splitDepth() == faultDisputeGame.splitDepth(), "50"); require(currentImpl.maxGameDepth() == faultDisputeGame.maxGameDepth(), "60"); require(currentImpl.maxClockDuration() == faultDisputeGame.maxClockDuration(), "70"); require(currentImpl.clockExtension() == faultDisputeGame.clockExtension(), "80"); if (targetGameType == PERMISSIONED_CANNON) { IPermissionedDisputeGame currentPDG = IPermissionedDisputeGame(address(currentImpl)); IPermissionedDisputeGame permissionedDisputeGame = IPermissionedDisputeGame(address(faultDisputeGame)); require(currentPDG.proposer() == permissionedDisputeGame.proposer(), "90"); require(currentPDG.challenger() == permissionedDisputeGame.challenger(), "100"); } } // Confirm the stored implementations are updated and the anchor states still exist. function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { require(dgfProxy.gameImpls(CANNON) == fdgImpl, "post-110"); require(dgfProxy.gameImpls(PERMISSIONED_CANNON) == pdgImpl, "post-120"); _postcheckHasAnchorState(CANNON); _postcheckHasAnchorState(PERMISSIONED_CANNON); } // Checks the anchor state for the source game type still exists after re-initialization. The actual anchor state // may have been updated since the task was defined so just assert it exists, not that it has a specific value. function _postcheckHasAnchorState(uint32 gameType) internal view { console.log("check anchor state exists", gameType); IFaultDisputeGame impl = IFaultDisputeGame(dgfProxy.gameImpls(gameType)); (bytes32 root, uint256 rootBlockNumber) = IAnchorStateRegistry(impl.anchorStateRegistry()).anchors(gameType); require(root != bytes32(0), "check-300"); require(rootBlockNumber != 0, "check-310"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](2); calls[0] = Call({ operation: Enum.Operation.Call, target: address(dgfProxy), data: abi.encodeCall(IDisputeGameFactory.setImplementation, (CANNON, fdgImpl)), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: address(dgfProxy), data: abi.encodeCall(IDisputeGameFactory.setImplementation, (PERMISSIONED_CANNON, pdgImpl)), value: 0 }); return calls; } function _ownerSafe() internal view override returns (address) { return OWNER_SAFE; } } ================================================ FILE: solana/MCM.mk ================================================ ## # MCM Commands # This file contains all Multi-Chain Management (MCM) related commands ## ifndef MCM_IXS_OUTPUT override MCM_IXS_OUTPUT = ixs.json endif ifndef MCM_PROPOSAL_OUTPUT override MCM_PROPOSAL_OUTPUT = proposal.json endif ## # Read-only commands (no transaction wrapping needed) ## .PHONY: mcm-multisig-print-authority mcm-multisig-print-authority: mcmctl multisig print-authority \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) .PHONY: mcm-multisig-print-status mcm-multisig-print-status: mcmctl multisig print-status \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) .PHONY: mcm-signers-print-config mcm-signers-print-config: mcmctl signers print-config \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --pretty .PHONY: mcm-proposal-create mcm-proposal-create: mcmctl proposal create \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ --instructions $(MCM_IXS_OUTPUT) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) .PHONY: mcm-proposal-hash mcm-proposal-hash: mcmctl proposal hash --proposal $(MCM_PROPOSAL_OUTPUT) --mcm-program-id $(MCM_PROGRAM_ID) .PHONY: mcm-sign mcm-sign: $(GOPATH)/bin/eip712sign --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" -- \ make mcm-proposal-hash ## # Atomic commands with transaction confirmation ## .PHONY: mcm-multisig-init mcm-multisig-init: make sol-confirm-cmd \ cmd="mcmctl multisig init \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID) \ --chain-id $(MCM_CHAIN_ID)" \ output=$(or $(MCM_MULTISIG_INIT_ARTIFACT),artifacts/mcm-multisig-init.json) .PHONY: mcm-signers-init mcm-signers-init: make sol-confirm-cmd \ cmd="mcmctl signers init \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID) \ --total $(MCM_SIGNER_COUNT)" \ output=$(or $(MCM_SIGNERS_INIT_ARTIFACT),artifacts/mcm-signers-init.json) .PHONY: mcm-signers-append mcm-signers-append: make sol-confirm-cmd \ cmd="mcmctl signers append \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID) \ --signers $(MCM_SIGNERS)" \ output=$(or $(MCM_SIGNERS_APPEND_ARTIFACT),artifacts/mcm-signers-append.json) .PHONY: mcm-signers-finalize mcm-signers-finalize: make sol-confirm-cmd \ cmd="mcmctl signers finalize \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID)" \ output=$(or $(MCM_SIGNERS_FINALIZE_ARTIFACT),artifacts/mcm-signers-finalize.json) .PHONY: mcm-signers-clear mcm-signers-clear: make sol-confirm-cmd \ cmd="mcmctl signers clear \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID)" \ output=$(or $(MCM_SIGNERS_CLEAR_ARTIFACT),artifacts/mcm-signers-clear.json) .PHONY: mcm-signers-set-config mcm-signers-set-config: make sol-confirm-cmd \ cmd="mcmctl signers set-config \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID) \ --signer-groups $(MCM_SIGNER_GROUPS) \ --group-quorums $(MCM_GROUP_QUORUMS) \ --group-parents $(MCM_GROUP_PARENTS) \ $(if $(filter true,$(MCM_CLEAR_ROOT)),--clear-root)" \ output=$(or $(MCM_SIGNERS_SET_CONFIG_ARTIFACT),artifacts/mcm-signers-set-config.json) .PHONY: mcm-signatures-init mcm-signatures-init: make sol-confirm-cmd \ cmd="mcmctl signatures init \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT) \ --total $(MCM_SIGNATURES_COUNT)" \ output=$(or $(MCM_SIGNATURES_INIT_ARTIFACT),artifacts/mcm-signatures-init.json) .PHONY: mcm-signatures-append mcm-signatures-append: make sol-confirm-cmd \ cmd="mcmctl signatures append \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT) \ --signatures $(MCM_SIGNATURES)" \ output=$(or $(MCM_SIGNATURES_APPEND_ARTIFACT),artifacts/mcm-signatures-append.json) .PHONY: mcm-signatures-finalize mcm-signatures-finalize: make sol-confirm-cmd \ cmd="mcmctl signatures finalize \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT)" \ output=$(or $(MCM_SIGNATURES_FINALIZE_ARTIFACT),artifacts/mcm-signatures-finalize.json) .PHONY: mcm-signatures-clear mcm-signatures-clear: make sol-confirm-cmd \ cmd="mcmctl signatures clear \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT)" \ output=$(or $(MCM_SIGNATURES_CLEAR_ARTIFACT),artifacts/mcm-signatures-clear.json) .PHONY: mcm-ownership-transfer mcm-ownership-transfer: make sol-confirm-cmd \ cmd="mcmctl ownership transfer \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID) \ --proposed-owner $(MCM_PROPOSED_OWNER)" \ output=$(or $(MCM_OWNERSHIP_TRANSFER_ARTIFACT),artifacts/mcm-ownership-transfer.json) .PHONY: mcm-ownership-accept mcm-ownership-accept: make sol-confirm-cmd \ cmd="mcmctl ownership accept \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --multisig-id $(MCM_MULTISIG_ID)" \ output=$(or $(MCM_OWNERSHIP_ACCEPT_ARTIFACT),artifacts/mcm-ownership-accept.json) .PHONY: mcm-proposal-set-root mcm-proposal-set-root: make sol-confirm-cmd \ cmd="mcmctl proposal set-root \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT)" \ output=$(or $(MCM_PROPOSAL_SET_ROOT_ARTIFACT),artifacts/mcm-proposal-set-root.json) .PHONY: mcm-proposal-execute mcm-proposal-execute: make sol-confirm-cmd \ cmd="mcmctl proposal execute \ --rpc-url $(SOL_RPC_URL) \ --ws-url $(SOL_WS_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --authority $(AUTHORITY) \ --proposal $(MCM_PROPOSAL_OUTPUT) \ $(if $(MCM_START_INDEX),--start-index $(MCM_START_INDEX)) \ $(if $(MCM_OPERATION_COUNT),--operation-count $(MCM_OPERATION_COUNT))" \ output=$(or $(MCM_PROPOSAL_EXECUTE_ARTIFACT),artifacts/mcm-proposal-execute.json) ## # Proposal creation commands (read-only, create proposal files) ## .PHONY: mcm-proposal-accept-ownership mcm-proposal-accept-ownership: mcmctl proposal mcm accept-ownership \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) .PHONY: mcm-proposal-update-signers mcm-proposal-update-signers: mcmctl proposal mcm update-signers \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) \ --new-signers $(MCM_NEW_SIGNERS) \ --signer-groups $(MCM_SIGNER_GROUPS) \ --group-quorums $(MCM_GROUP_QUORUMS) \ --group-parents $(MCM_GROUP_PARENTS) \ $(if $(filter true,$(MCM_CLEAR_ROOT)),--clear-root) \ $(if $(filter true,$(MCM_CLEAR_SIGNERS)),--clear-signers) .PHONY: mcm-proposal-bridge-pause mcm-proposal-bridge-pause: mcmctl proposal bridge pause \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) \ --bridge-program-id $(BRIDGE_PROGRAM_ID) \ $(if $(filter true,$(PAUSED)),--pause,--unpause) .PHONY: mcm-proposal-bridge-set-partner-oracle-config mcm-proposal-bridge-set-partner-oracle-config: mcmctl proposal bridge set-partner-oracle-config \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) \ --bridge-program-id $(BRIDGE_PROGRAM_ID) \ --required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD) .PHONY: mcm-proposal-loader-v3-upgrade mcm-proposal-loader-v3-upgrade: mcmctl proposal loader-v3 upgrade \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) \ --program $(PROGRAM) \ --buffer $(BUFFER) \ --spill $(SPILL) .PHONY: mcm-proposal-loader-v3-set-authority mcm-proposal-loader-v3-set-authority: mcmctl proposal loader-v3 set-authority \ --rpc-url $(SOL_RPC_URL) \ --mcm-program-id $(MCM_PROGRAM_ID) \ --multisig-id $(MCM_MULTISIG_ID) \ --valid-until $(MCM_VALID_UNTIL) \ $(if $(filter true,$(MCM_OVERRIDE_PREVIOUS_ROOT)),--override-previous-root) \ --output $(MCM_PROPOSAL_OUTPUT) \ --account $(LOADER_ACCOUNT) \ --new-authority $(LOADER_NEW_AUTHORITY) ## # Orchestrated commands ## .PHONY: mcm-signers-all mcm-signers-all: make mcm-signers-init make mcm-signers-append make mcm-signers-finalize make mcm-signers-set-config make mcm-signers-print-config .PHONY: mcm-signatures-all mcm-signatures-all: make mcm-signatures-init make mcm-signatures-append make mcm-signatures-finalize .PHONY: mcm-proposal-all mcm-proposal-all: make mcm-proposal-set-root make mcm-proposal-execute .PHONY: mcm-all mcm-all: make mcm-signatures-all make mcm-proposal-all ================================================ FILE: solana/Makefile ================================================ UPDATE_SIGNERS_MCM_DIR = $(network)/$(shell date +'%Y-%m-%d')-update-signers-mcm UPGRADE_BRIDGE_DIR = $(network)/$(shell date +'%Y-%m-%d')-upgrade-bridge SET_PAUSE_BRIDGE_DIR = $(network)/$(shell date +'%Y-%m-%d')-set-pause-bridge TEMPLATE_UPDATE_SIGNERS_MCM = setup-templates/template-update-signers-mcm TEMPLATE_UPGRADE_BRIDGE = setup-templates/template-upgrade-bridge TEMPLATE_SET_PAUSE_BRIDGE = setup-templates/template-set-pause-bridge ## # Project Setup ## # Run `make setup-update-signers-mcm network=` setup-update-signers-mcm: rm -rf $(TEMPLATE_UPDATE_SIGNERS_MCM)/cache $(TEMPLATE_UPDATE_SIGNERS_MCM)/lib $(TEMPLATE_UPDATE_SIGNERS_MCM)/out cp -r $(TEMPLATE_UPDATE_SIGNERS_MCM) $(UPDATE_SIGNERS_MCM_DIR) mkdir -p $(network)/signatures/$(notdir $(UPDATE_SIGNERS_MCM_DIR)) # Run `make setup-upgrade-bridge network=` setup-upgrade-bridge: rm -rf $(TEMPLATE_UPGRADE_BRIDGE)/cache $(TEMPLATE_UPGRADE_BRIDGE)/lib $(TEMPLATE_UPGRADE_BRIDGE)/out cp -r $(TEMPLATE_UPGRADE_BRIDGE) $(UPGRADE_BRIDGE_DIR) mkdir -p $(network)/signatures/$(notdir $(UPGRADE_BRIDGE_DIR)) # Run `make setup-set-pause-bridge network=` setup-set-pause-bridge: rm -rf $(TEMPLATE_SET_PAUSE_BRIDGE)/cache $(TEMPLATE_SET_PAUSE_BRIDGE)/lib $(TEMPLATE_SET_PAUSE_BRIDGE)/out cp -r $(TEMPLATE_SET_PAUSE_BRIDGE) $(SET_PAUSE_BRIDGE_DIR) mkdir -p $(network)/signatures/$(notdir $(SET_PAUSE_BRIDGE_DIR)) ## # Dependencies ## .PHONY: install-eip712sign install-eip712sign: go install github.com/base/eip712sign@v0.0.15 .PHONY: install-mcmctl install-mcmctl: go install github.com/base/mcm-go/cmd/mcmctl@0271c20f2509304e00781e80d5018410eefd8794 .PHONY: deps deps: install-mcmctl install-eip712sign ## # MCM commands - imported from MCM.mk ## include $(dir $(lastword $(MAKEFILE_LIST)))MCM.mk ## # Solana Utils ## # Run `make sol-confirm-cmd cmd= output=` # Captures signature from command output and confirms it .PHONY: sol-confirm-cmd sol-confirm-cmd: @OUTPUT=$$($(cmd) 2>&1 | tee /dev/tty); \ SIG=$$(echo "$$OUTPUT" | grep -oE '[1-9A-HJ-NP-Za-km-z]{87,88}' | tail -1); \ if [ -n "$$SIG" ]; then \ echo ""; \ $(MAKE) sol-confirm SIG=$$SIG output=$(output); \ echo "Transaction artifacts written to $(output)"; \ else \ echo "ERROR: No signature found"; \ exit 1; \ fi # Run `make sol-confirm SIG= output=` # Confirms a signature and saves the result to a JSON file .PHONY: sol-confirm sol-confirm: @echo "==> Confirming signature: $$SIG"; \ mkdir -p $(dir $(output)); \ solana confirm $$SIG -v --output json --url $(SOL_RPC_URL) > $(output) ## # Solana Native Commands ## .PHONY: sol-program-show sol-program-show: solana program show $(SOL_PROGRAM_ID) --url $(SOL_RPC_URL) .PHONY: sol-transfer sol-transfer: output ?= artifacts/sol-transfer.json sol-transfer: make sol-confirm-cmd \ cmd="solana transfer $(SOL_RECIPIENT) $(SOL_AMOUNT) \ --url $(SOL_RPC_URL) \ --fee-payer $(AUTHORITY) \ --allow-unfunded-recipient \ $(if $(AUTHORITY),--keypair $(AUTHORITY))" \ output=$(output) # This command does not output the signature, so we cannot use make sol-confirm-cmd .PHONY: sol-program-set-upgrade-authority sol-program-set-upgrade-authority: solana program set-upgrade-authority $(SOL_PROGRAM_ID) \ --url $(SOL_RPC_URL) \ --new-upgrade-authority $(NEW_UPGRADE_AUTHORITY) \ --skip-new-upgrade-authority-signer-check \ $(if $(AUTHORITY),--keypair $(AUTHORITY)) # This command does not output the signature, so we cannot use make sol-confirm-cmd .PHONY: sol-write-buffer sol-write-buffer: solana program write-buffer $(PROGRAM_BINARY) \ --url $(SOL_RPC_URL) \ $(if $(AUTHORITY),--keypair $(AUTHORITY)) # This command does not output the signature, so we cannot use make sol-confirm-cmd .PHONY: sol-set-buffer-authority sol-set-buffer-authority: solana program set-buffer-authority $(BUFFER) \ --new-buffer-authority $(NEW_BUFFER_AUTHORITY) \ --url $(SOL_RPC_URL) \ $(if $(AUTHORITY),--keypair $(AUTHORITY)) ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/.gitignore ================================================ chainlink-ccip/ ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/Makefile ================================================ include ../.env include .env include ../../Makefile ## # Project Setup ## .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # Deployment Workflow ## # Step 1: Clone and patch the MCM program .PHONY: step1-clone-and-patch step1-clone-and-patch: @echo "==> Step 1: Cloning and patching the MCM program..." rm -rf chainlink-ccip git clone --filter=blob:none $(MCM_REPO) chainlink-ccip cd chainlink-ccip && \ git checkout $(MCM_AUDITED_COMMIT) && \ git apply ../$(INVOKE_SIGNED_PATCH) && \ git apply ../$(EIP712_PATCH) # Step 2: Build and deploy the MCM program .PHONY: step2-build-and-deploy step2-build-and-deploy: @echo "==> Step 2: Building and deploying the MCM program..." cd chainlink-ccip/chains/solana/contracts && \ anchor keys sync && \ anchor build -p mcm && \ anchor deploy --provider.cluster $(CLUSTER) --provider.wallet $(AUTHORITY) -p mcm # Step 2.5: Generate deploy artifacts (use solana explorer to get the signature of the deployWithMaxDataLen tx) .PHONY: step2.5-generate-deploy-artifacts step2.5-generate-deploy-artifacts: @echo "==> Step 2.5: Generating MCM deploy artifacts..." make sol-confirm SIG=$(MCM_DEPLOY_SIGNATURE) output=artifacts/mcm-deploy-artifacts.json # Step 3: Initialize the multisig (inherited from parent) .PHONY: step3-init-multisig step3-init-multisig: @echo "==> Step 3: Initializing MCM multisig..." make mcm-multisig-init make mcm-multisig-print-authority # Step 4: Initialize the signers (inherited from parent) .PHONY: step4-init-signers step4-init-signers: @echo "==> Step 4: Initializing MCM signers..." make mcm-signers-all # Step 5: Create accept-ownership proposal (inherited from parent) .PHONY: step5-create-accept-ownership-proposal step5-create-accept-ownership-proposal: @echo "==> Step 5: Creating MCM accept-ownership proposal..." make mcm-proposal-accept-ownership # Step 5.5: Sign the proposal (inherited from parent) .PHONY: step5.5-sign-proposal step5.5-sign-proposal: @echo "==> Step 5.5: Signing MCM proposal..." make mcm-sign # Step 6: Execute ownership transfer (inherited from parent) .PHONY: step6-execute-ownership-transfer step6-execute-ownership-transfer: @echo "==> Step 6: Executing MCM ownership transfer..." make mcm-ownership-transfer make mcm-all # Step 7: Transfer upgrade authority (inherited from parent) .PHONY: step7-transfer-upgrade-authority step7-transfer-upgrade-authority: @echo "==> Step 7: Transferring MCM upgrade authority..." make sol-program-set-upgrade-authority make sol-program-show # Step 7.5: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx) .PHONY: step7.5-generate-set-upgrade-authority-artifacts step7.5-generate-set-upgrade-authority-artifacts: @echo "==> Step 7.5: Generating MCM set-upgrade-authority artifacts..." make sol-confirm SIG=$(SET_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-upgrade-authority-artifacts.json ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/accept_ownership_proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761144659, "instructions": [ { "programId": "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "data": "rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "accounts": [ { "pubkey": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 0, "postOpCount": 1, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-deploy-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5bK6JGE7kXXEGup5Ei7cJ9EEXe7HdEXQqwDKECy8BoXfuXFkPRHuctbjmcWHtA2d9qqw5XJU6Z3nRT9wnMBNbN46", "63Z9zuz6r7B9rbYKXMJDBMmBhAdKBw9MAf5VehXdr4LQRViohKkJmBFccZVzeaP34r7BvqLg8hqwe3pxS16HKHs4" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "4QvsiNUZTgsGPJ8qzoaZejReMcSBMFXpZGuQ3g3C5oSr", "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "2zgqNpRAaEfssF4WWp8ZziQgeHnm1HiKSkX85mAYoze6", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 3, 1, 2, 7, 6, 4, 0 ], "data": "3Bxs48zM8X3cMBTd", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 213268109760, 0, 6670665840, 0, 1, 1, 1169280, 1009200 ], "postBalances": [ 213266958320, 1141440, 0, 6670665840, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 3, 2 ], "data": "111157tnXiJjEbgRnn44jeNdMoMHYx1u44vb4AwqsXQUngzcpZ5pqpAGVoSQypDBS4X9Dh", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1761065093, "slot": 416140521 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-multisig-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3Uw9BMM21vWikcCzj4AYQsYf3KPb3ZoiaCNpMzXkeP3tELfGqXf2AfevbB6Zb8gWBGuHqEgQPtxvGh2KaAFK79BS" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF" ], "recentBlockhash": "E6wT6vpUWjyZ1HsoRaD2EKj9KZdFkY4xSsCGmBqdNNt9", "instructions": [ { "programIdIndex": 5, "accounts": [ 1, 0, 4, 5, 6, 2, 3 ], "data": "7SnYRRYHodD3NpaduvxGCKdBMMPosiGzj7XLAapAsktJqzhDg8hnNYMdYvMYBSuDMR", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213266958320, 0, 0, 0, 1, 1141440, 6670665840 ], "postBalances": [ 213262213560, 2143680, 1343280, 1252800, 1, 1141440, 6670665840 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111185163Bhx14N7QLXuATQTkd5i7T1nP5wXnAz4FQbJ46JPKsnyXJjS7GvwbLdXqP4poK", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 2 ], "data": "11112nBT7uc6uCuDYWZxzrh7tx52q1tVrcjACh7cRdxVwRe9azr1jc48bp2Ytz3WAGkpBB", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 3 ], "data": "111183jo2z36whaRMSxqHScMibvxLsPmf26Pg7ekVkaDvJ7NvRFmsBD5nzAk5b5kzYas9b", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 26962 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 26962 }, "blockTime": 1761065121, "slot": 416140593 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-ownership-transfer.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "RAhHn8YnNXojtTw2FBGvkcCTZ7PRBsiztvwonQTQ9M4uFQ1VVDMmx9ccJXmRXb9ZPMk8dM2xCYkUZpycWwHtgY7" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "5BKuAfJYB3XTicrHSnqNRGhj3R7voNXdHJjv9VeNV9Wm", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7GDc4NCNaaTnRCKk9hCqRADy3yQ2AnismGBQ2od59vbqeg", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213260183000, 4134240, 1141440 ], "postBalances": [ 213260178000, 4134240, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: TransferOwnership", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6913 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6913 }, "blockTime": 1761068983, "slot": 416150667 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5vCNXXwJA7iEScuVVdEy1n8ahiaPygrNZjq3peUktvyemyPAmXnVSZrxyqn5A6Dij1uXn29RxaYQdAdvX4P5eF7i" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "Ed3DUWepoANUKnxSzQchvNwFd93izxrih8ytLyRqeyux", "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 3, 2, 4, 5, 0, 1, 5 ], "data": "AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiRHyANyX6Y2xekrKrcNMVBdarpWpe4j8BAhm6GbXcrtLViQWKFHm2BFUAg4CiQf3MMz21wnS8kE9RrKLdb2csk34DytbcUPnG4LW34Kqikjsysyon8wQVEnAEbvwaKEZSYotc", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213259164480, 4134240, 1252800, 1343280, 1141440, 0 ], "postBalances": [ 213259159480, 4134240, 1252800, 1343280, 1141440, 0 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 5 ], "data": "9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf91", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [2]", "Program log: Instruction: AcceptOwnership", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6774 of 179161 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success", "Program data: 3Q/UHSP8/04AAAAAAAAAAMmhkoE6wk7I/Qcq8Mtz+oLcnxxrSMH1eOh8OfDT7LxyKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 33297 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 33297 }, "blockTime": 1761071128, "slot": 416156235 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5cgAY7o5G31KJWwd76QLWk6wQzNfPoXnjMAP5W8jELE45Qhjt9ZPxkA38udzpWANNYGjMQV2WBTdivGuFXBfpDNa" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "2URDwxAAjPRzcTULjodnCxvg2HraDv3oh5mEgD9kYwXP", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "2x6CBathDiwFZkMdC8WQamhJ48nfwPTtDBu4mTsPfS2w", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neDiLdiksrzWkBpheYjxzKHqNwL1BLUmhVji4MH4ijegsMEUPsavYywuYpEqKCtLRppno1mdqH5gLuhp8CY39N4ACkPvogHbCU2m7aUdUw76kTcoViagyUE1V4uJvPT9V1P4FLc8u5X7HJ9BNk1GqZdSLRsS3ykxdaa3xo6J84k44c8Gs2", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213257777480, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 213259164480, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRoot", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXeKD8CWdwQZp6btd8eVMtyt4jU7Sm8OzgJYKkOID9IZhlPv+GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 108241 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 108241 }, "blockTime": 1761071111, "slot": 416156190 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "WNJBim7rRgZVXGhxwtmzHWdCw6DnM72S1LEgpETvVchg5is3v3xix8f4WLq3ChxcmSGU89zWnj2DgJ9Zch8f2fo" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "HELgu8kSoHs3UnT6KnymBSLNULZRt6EsCGRdg7BS4rWp", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAkKbJHKR6x1jhra1hB8STog2qtFhZ7oWRWLM8w8hBqQ9TFRtT5Fn42zs5VBKVuTqc2MeW9Ujd4pDVHkUfUGqPhwd2WT3mgNfW7xyfBUxTwFCZLbNJu9tmZBsCroDPjyyYuvbAXRST38mD77v7s75D3USPAAGCzrCujhRGP8qVfXr13hysuxMvYQgKkKNSWqmU61y6un6nqhMkJvGwoj7pQ8zgLmXZySeF1ovFMbkbw91xd3bbqCWkfLWLEi2jEKCcTAaoEyA9fpFzkQ83mwHX9fnsbYXmLtB6WwF82yaPrNVpCS24J5qY8Tr4VBxmbY6r", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213257807480, 2345520, 1141440 ], "postBalances": [ 213257802480, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1761069507, "slot": 416152030 } { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5P4pNke2Eh8XBbHPQKpj6B5XGUYYDvx8S8CexWB4K3pz87szm8VbD2X18k8D8Agu5XqGYG5hQzRg42nX5S4uDCFG" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "GG6VTj7aDqhN1zmKehh2Bn2NiVa5biHTPsugyPUDCCt7", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAkKbJHKR6x1jhra1hB8STog2qtFhZ7oWRWLM8w8hBqQ9TFRtT5Fn42zs5VBKVuTqc2MeW9Ujd4pDVHkUfUGqPhwd2WT3mgNfW7xyfBUxTwFCZLbNJu9tmZBsCroDPjyyYuvbAXRST38mD77v97GBLzfpP584ZU49L1CsSksCXotnLp3CX2ic4EMCDwYTrTLE4yb28Tnf1W23cKfqS98qGe6YyKkEni7BCjhhKbuusawUQJKRsVJKKMTHTUwTMKCcx22kz7wF28hRNgNq4bWSZu2GSTW8dEBvBMNUSAY6zBFvJ5Mes9yjxkVSdPNhJtjR9", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213257787480, 2345520, 1141440 ], "postBalances": [ 213257782480, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1761071079, "slot": 416156109 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "51CZQFnLdM8CdHncuUX4cMYxCfagVvEk6W2TdxuqqX1CA5V7QD1AFU2swtBFdRwekqxpESGV4FurBnYDZRCy2Mp3" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "7ByPsk474ot7DPBzvR2KAYvq1Y3efudb8R1s5PM8n1Tv", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDmF6npK5ZBtRNWL1JYRnb16YYQozX6At63mW11eXX5K5PeHhFD", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213257802480, 2345520, 1141440 ], "postBalances": [ 213257797480, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4570 }, "blockTime": 1761069523, "slot": 416152072 } { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5YBfmUTSb9mMSQW7yMyWd37uuTKnPw9YsWnmk4oDMt4ijrYwB35C31mdsVQTFYWQjUcgQ59oyoamx1T31KNUdoWC" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "7CYKqUTPk7arJvtQXGhp6K7RDMhr5SLnd41E3Yu3fJoA", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDmF6npK5ZBtRNWL1JYRnb16YYQozX6At63mW11eXX5K5PeHhFD", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213257782480, 2345520, 1141440 ], "postBalances": [ 213257777480, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4570 }, "blockTime": 1761071094, "slot": 416156148 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2b9c5KPWY6RtNQHGNTGUc3ysGG7kDqRPhWCd7r8CBg8eRnT6GEELVUxnQNtQeScaiYnYFexqXHW7ZJrrFYytzFKe" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "B84CPxEMPSy61XbNVH9tDtYxh1ZGwwURM5uvSSTZMK8S", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaozoRS1nNcnizvmPyti1ijFKAZ5FpVREJ6QH6aonySvS1WBDhv1G", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213260158000, 0, 1, 1141440 ], "postBalances": [ 213257807480, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7983 }, "blockTime": 1761069491, "slot": 416151988 } { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4zaYAALeFDedTBiu4qPhKwZ2RyGEu5HsDLuH9PemU6q6PV5uuTvGsWeqAnwVGL6S6ynA7opNY7HsTBAzfvqkzdma" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFNh3XUdrTmZ21jrd3RR9K3f89wFgvyWWpyndbnGngT4", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8WzkQ4RFyqKYxK1fDhNB7LXTW6pL56fcY6LZGzbm81dC", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaozoRS1nNcnizvmPyti1ijFKAZ5FpVREJ6QH6aonySvS1WBDhv1G", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213260138000, 0, 1, 1141440 ], "postBalances": [ 213257787480, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7983 }, "blockTime": 1761071047, "slot": 416156027 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4PKytW5KdhEUrRCitkK676RH8pYZoxZfDSM4PMxgzbW19hJzvia3CFSZHr5MnaRuG6VcbnN3ULXV1bAxAKft8Vcg" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "CkAbbUJfyVra9rf9icfTtMseN9LUjrfD4FSwJcrzco9o", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "2nf1F9kmbuTdp5Vczs1R1Fq4atVAVZ4tQGZ2Cjmt6iBMcyXoAR5WFnbQNQBJgQtBujGH3mrsncheGs1Dhqsqkes9uk7tRPK4Th8R2TYZjNzN9rfEKWWLhmT9p6wxwFrCKwokEMR6DLapCu1VbWVDDVPsGTACU2SJJJ6pAQi2VXZBcAxDE4jrFHNhNRJCYkBbmkSqhEpBV4ii8jZ9sLEE2J82kfECng48U6QRm531iUwY45k1w1mtprBNEv9c4eaiyr54gSL35v7CKdBaAwS7eQZfhaiHeUxfATVV5UWxK6p5xXqhezit9hbXxF47rANWMZxHf3soxprRMJrgVA7vKUCsmYUny4GvyXFhrM1ppzD6DGE3wungioQqbxZ77iY8wDcm9UYwuUWA7wdihPUp2ZudiihPXz6p", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213259390640, 2797920, 2143680, 1141440 ], "postBalances": [ 213259385640, 2797920, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSigners", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8742 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 8742 }, "blockTime": 1761065400, "slot": 416141319 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "52Po3VtjNzxRYLFRqcMBL8CbF64AvXrDk5Cru4rgxka1hNqYBAMGM9fFU4FGDMvZJUwhWSZZoeXfFumhqU9DEoqm" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "2bnNJwHARL21H4RNS76MejApRUEbtAmarGPXC5LCXx4K", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ19", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213259385640, 2797920, 2143680, 1141440 ], "postBalances": [ 213259380640, 2797920, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSigners", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7243 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7243 }, "blockTime": 1761065415, "slot": 416141359 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "127scRFUVMDXZ27DWppN9o4m8VadRf9KCR44261PxYqYpCdvS5TDA9dctt1GeNoFjKukXv4NiCQdr4nyhJEaSTY3" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "DAjuukF3x86JPvvLYJuqQrXkVZdKWfzP4YdtxGvfrUt1", "instructions": [ { "programIdIndex": 4, "accounts": [ 2, 1, 0, 3 ], "data": "PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyCG", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213262193560, 0, 2143680, 1, 1141440 ], "postBalances": [ 213259390640, 2797920, 2143680, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 1 ], "data": "11114Yini18cyWdoT2b5xcdaJ18Qzshjktbm1L4pFf1RqWPBLeEVAMMCB2WuZ7ipPSo1Mj", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSigners", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10272 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 10272 }, "blockTime": 1761065384, "slot": 416141279 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/mcm-signers-set-config.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5qwtkrFtYb53YxwJjV7vo6VgtYYP4aV16AFNQzFeaVbsK7WWMYeUt5e3LfFJgCJFBRi7yZ3WCKoHsTe142xHK4ay" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "8e9iEAej6ZsWQeJyfwEha1o67HGirYqXVaMKSW8Gqx3T", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "EkMYdyxhFNAMyM6oKZFRiNDLMevqDqFSvXfyxtbNCLWr", "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 2, 3, 4, 0, 5 ], "data": "64JuGGLk9NDtcuqYHbYdvLn9JcaqmyombUTYwgoe9NEY5ybzeFgrm9Frsmgh9cUzByyK48wwJVR4k22A9i5XXBz2ZtLMHo83pAR9WAViwHMTRneM3bby5qo5mSWPS5PBzVoDPhW7gZQeC3VSeduGa1xof3dzNbS7dscEAnK", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213259380640, 2143680, 2797920, 1343280, 1252800, 1, 1141440 ], "postBalances": [ 213260183000, 4134240, 0, 1343280, 1252800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 0, 1 ], "data": "3Bxs4TgTwHsPxW47", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetConfig", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAM8vhsMziZPOEPdNb0sJVxLH7+JgAAQgyP4d2wWTxxSHRFV2yHwX8XcXkBAE/9mLXuqQXsJao9rxgFUvZ4c+14AgBfGVVynj1hKftzgT6JF0LUc/x09wMAZE0PXCxVpGebS/4Fe4e6IDr5rA0EAG5CfDISwLY74MOC+XcV1JsBG/8zBQB/EAmL1TUZxznKikBK/hJ2R9lHdAYAkx4ksDJRHY3QKa7etEg3+sJR89gHAJmGzK+ePeD/74Kg9/o6BtWv4HJSCACy2aUudoQSee8DcsU0xTmk9o+MCwkA5FrIHqf1PepfC9bKoHM91cAtO2AKAO3s8sREVZIQqGWiKs/GoqJVkKsbCwDuMW2w7a7kU0ffxJh5WgExHwhSJQwA", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 25834 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 25834 }, "blockTime": 1761065431, "slot": 416141400 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/artifacts/set-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "24wtuhsQKiyAuh2GZj2QUCeT954RrdXpH32UUreafMruUte8aQa19KYMTmbkDwy8KTBtSvKN32tjBjxMwEJh5YWP" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "8a9dbFCLnsQ6VyQXmXX15BnFwFsGHtEot3Cmiovdze8B", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 213259159480, 6670665840, 1, 0 ], "postBalances": [ 213259154480, 6670665840, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761071444, "slot": 416157054 } ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/patches/eip712.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs new file mode 100644 index 00000000..87b20002 --- /dev/null +++ b/chains/solana/contracts/programs/mcm/src/eip712.rs @@ -0,0 +1,268 @@ +//! # EIP-712 Typed Structured Data Hashing +//! +//! This module implements EIP-712 typed structured data hashing for Ethereum-compatible +//! signature verification. +//! +//! ## Domain Separator +//! +//! The domain separator uniquely identifies this contract instance and prevents +//! signature replay attacks across different chains or contracts: +//! +//! - **name**: "ManyChainMultiSig" - The contract name +//! - **version**: "1" - The contract version +//! - **chainId**: Solana chain identifier (e.g., hash of "solana:localnet") +//! - **verifyingContract**: `address(0)` - Not applicable for Solana +//! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance +//! +//! ## Message Structure +//! +//! Users sign a `RootValidation` message containing: +//! - **root**: The 32-byte Merkle root of operations +//! - **validUntil**: Timestamp (uint32) until which the root is valid + +use anchor_lang::prelude::*; +use anchor_lang::solana_program::keccak::{hashv, Hash, HASH_BYTES}; + +/// EIP-712 domain name for the ManyChainMultiSig contract +pub const EIP712_DOMAIN_NAME: &str = "ManyChainMultiSig"; + +/// EIP-712 domain version +pub const EIP712_DOMAIN_VERSION: &str = "1"; + +/// Type hash for EIP712Domain +/// keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)") +pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[ + 0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5, + 0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72, +]; + +/// Type hash for RootValidation message +/// keccak256("RootValidation(bytes32 root,uint32 validUntil)") +pub const ROOT_VALIDATION_TYPE_HASH: &[u8; HASH_BYTES] = &[ + 0x07, 0x02, 0x19, 0xd6, 0x56, 0xf4, 0x72, 0x71, 0xfe, 0x6e, 0x2e, 0x8c, 0xff, 0x49, 0x55, 0xfe, + 0xcb, 0xca, 0xb4, 0xc9, 0x42, 0x22, 0x83, 0x09, 0xe9, 0x0a, 0xae, 0x20, 0xbd, 0x1f, 0xa8, 0x95, +]; + +/// Hash of the domain name "ManyChainMultiSig" +/// keccak256("ManyChainMultiSig") +pub const EIP712_DOMAIN_NAME_HASH: &[u8; HASH_BYTES] = &[ + 0x62, 0x7b, 0x9a, 0x5c, 0xae, 0x29, 0x68, 0x84, 0x2a, 0x54, 0x1a, 0x6b, 0xa8, 0x61, 0xa7, 0x15, + 0x0a, 0xb5, 0xec, 0x3c, 0x42, 0x02, 0xa6, 0x24, 0xbc, 0xa4, 0x6b, 0xff, 0x04, 0x11, 0xce, 0x9a, +]; + +/// Hash of the domain version "1" +/// keccak256("1") +pub const EIP712_DOMAIN_VERSION_HASH: &[u8; HASH_BYTES] = &[ + 0xc8, 0x9e, 0xfd, 0xaa, 0x54, 0xc0, 0xf2, 0x0c, 0x7a, 0xdf, 0x61, 0x28, 0x82, 0xdf, 0x09, 0x50, + 0xf5, 0xa9, 0x51, 0x63, 0x7e, 0x03, 0x07, 0xcd, 0xcb, 0x4c, 0x67, 0x2f, 0x29, 0x8b, 0x8b, 0xc6, +]; + +/// Computes the EIP-712 message hash for root validation. +/// +/// This is the final hash that gets signed by the user. It follows the EIP-712 +/// format: `keccak256("\x19\x01" || domainSeparator || structHash)` +/// +/// # Parameters +/// +/// - `root`: The 32-byte Merkle root +/// - `valid_until`: Timestamp until which the root is valid +/// - `chain_id`: The chain identifier +/// - `program_id`: The Solana Program ID +/// +/// # Returns +/// +/// - The 32-byte message hash ready for ECDSA verification +pub fn compute_message_hash( + root: &[u8; HASH_BYTES], + valid_until: u32, + chain_id: u64, + program_id: &Pubkey, +) -> Hash { + let domain_separator = compute_domain_hash(chain_id, program_id); + let struct_hash = compute_struct_hash(root, valid_until); + + hashv(&[ + b"\x19\x01", + &domain_separator.to_bytes(), + &struct_hash.to_bytes(), + ]) +} + +/// Computes the EIP-712 domain separator hash. +/// +/// The domain separator ensures that signatures are unique to this specific +/// contract instance and chain, preventing replay attacks. +/// +/// # Parameters +/// +/// - `chain_id`: The chain identifier (e.g., keccak256("solana:localnet")) +/// - `program_id`: The Solana Program ID (32 bytes), used as the salt +/// +/// # Returns +/// +/// - The 32-byte domain separator hash +pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash { + // Chain ID as bytes32 (big-endian, left-padded) + let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes()); + + // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes + let verifying_contract = [0u8; 32]; + + // Salt = Program ID (32 bytes) + let salt = program_id.to_bytes(); + + hashv(&[ + EIP712_DOMAIN_TYPE_HASH, + EIP712_DOMAIN_NAME_HASH, + EIP712_DOMAIN_VERSION_HASH, + &chain_id_bytes, + &verifying_contract, + &salt, + ]) +} + +/// Computes the EIP-712 struct hash for a RootValidation message. +/// +/// # Parameters +/// +/// - `root`: The 32-byte Merkle root +/// - `valid_until`: Timestamp until which the root is valid +/// +/// # Returns +/// +/// - The 32-byte struct hash +pub fn compute_struct_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash { + // valid_until as bytes32 (big-endian, left-padded) + let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes()); + + hashv(&[ROOT_VALIDATION_TYPE_HASH, root, &valid_until_bytes]) +} + +/// Left-pads a byte array to 32 bytes with zeros. +/// +/// # Parameters +/// +/// - `input`: The input byte array +/// +/// # Returns +/// +/// - A 32-byte array with the input left-padded with zeros +fn left_pad_to_32(input: &[u8]) -> [u8; 32] { + let mut padded = [0u8; 32]; + let start = 32 - input.len(); + padded[start..].copy_from_slice(input); + padded +} + +#[cfg(test)] +mod tests { + use super::*; + use anchor_lang::solana_program::keccak::hash; + + // Last 8 bytes of keccak256("solana:localnet") as big-endian + const CHAIN_ID: u64 = 5190648258797659666; + + fn decode32(s: &str) -> [u8; HASH_BYTES] { + hex::decode(s).unwrap().try_into().unwrap() + } + + #[test] + fn verify_domain_type_hash() { + let expected = hash(b"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)"); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH); + } + + #[test] + fn verify_domain_name_hash() { + let expected = hash(EIP712_DOMAIN_NAME.as_bytes()); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_NAME_HASH); + } + + #[test] + fn verify_domain_version_hash() { + let expected = hash(EIP712_DOMAIN_VERSION.as_bytes()); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_VERSION_HASH); + } + + #[test] + fn verify_root_validation_type_hash() { + let expected = hash(b"RootValidation(bytes32 root,uint32 validUntil)"); + assert_eq!(&expected.to_bytes(), ROOT_VALIDATION_TYPE_HASH); + } + + #[test] + fn test_left_pad_to_32() { + let input = [1, 2, 3, 4]; + let result = left_pad_to_32(&input); + let expected: [u8; 32] = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 2, 3, 4, + ]; + assert_eq!(result, expected); + } + + #[test] + fn test_compute_domain_hash() { + let program_id = Pubkey::new_from_array(decode32( + "b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df", + )); + + let domain_hash = compute_domain_hash(CHAIN_ID, &program_id); + + // The domain hash should be deterministic + // We'll verify it matches the expected structure by recomputing + let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes()); + let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes()); + let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes()); + let verifying_contract = [0u8; 32]; + let salt = program_id.to_bytes(); + + let expected = hashv(&[ + EIP712_DOMAIN_TYPE_HASH, + &name_hash.to_bytes(), + &version_hash.to_bytes(), + &chain_id_bytes, + &verifying_contract, + &salt, + ]); + + assert_eq!(domain_hash.to_bytes(), expected.to_bytes()); + } + + #[test] + fn test_compute_struct_hash() { + let root = decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); + let valid_until: u32 = 1748317727; + + let struct_hash = compute_struct_hash(&root, valid_until); + + // Verify the structure + let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes()); + let expected = hashv(&[ROOT_VALIDATION_TYPE_HASH, &root, &valid_until_bytes]); + + assert_eq!(struct_hash.to_bytes(), expected.to_bytes()); + } + + #[test] + fn test_compute_message_hash() { + let root = decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); + let valid_until: u32 = 1748317727; + let program_id = Pubkey::new_from_array(decode32( + "b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df", + )); + + let message_hash = compute_message_hash(&root, valid_until, CHAIN_ID, &program_id); + + // Verify it follows EIP-712 format: \x19\x01 || domainSeparator || structHash + let domain_separator = compute_domain_hash(CHAIN_ID, &program_id); + let struct_hash = compute_struct_hash(&root, valid_until); + + let expected = hashv(&[ + b"\x19\x01", + &domain_separator.to_bytes(), + &struct_hash.to_bytes(), + ]); + + assert_eq!(message_hash.to_bytes(), expected.to_bytes()); + } +} diff --git a/chains/solana/contracts/programs/mcm/src/eth_utils.rs b/chains/solana/contracts/programs/mcm/src/eth_utils.rs index 7b030cda..eaf3b666 100644 --- a/chains/solana/contracts/programs/mcm/src/eth_utils.rs +++ b/chains/solana/contracts/programs/mcm/src/eth_utils.rs @@ -14,7 +14,7 @@ //! //! These separators ensure that hashes for different purposes cannot be reused or confused. use anchor_lang::prelude::*; -use anchor_lang::solana_program::keccak::{hash, hashv, Hash, HASH_BYTES}; // use keccak256 for EVM compatibility +use anchor_lang::solana_program::keccak::{hash, hashv, HASH_BYTES}; // use keccak256 for EVM compatibility use anchor_lang::solana_program::secp256k1_recover::{ secp256k1_recover, Secp256k1Pubkey, Secp256k1RecoverError, }; @@ -54,7 +54,7 @@ pub const EVM_ADDRESS_BYTES: usize = 20; /// /// # Parameters /// -/// - `eth_signed_msg_hash`: 32-byte hash of the Ethereum signed message +/// - `eth_signed_msg_hash`: 32-byte EIP-712 message hash /// - `sig`: The ECDSA signature containing v, r, s components /// /// # Returns @@ -81,30 +81,6 @@ pub fn ecdsa_recover_evm_addr( Ok(evm_addr) } -/// Computes the Ethereum-compatible message hash for root validation. -/// -/// Creates a hash that matches Ethereum's personal sign message format: -/// "\x19Ethereum Signed Message:\n32" + keccak256(root || valid_until) -/// -/// # Parameters -/// -/// - `root`: The 32-byte Merkle root -/// - `valid_until`: Timestamp until which the root is valid -/// -/// # Returns -/// -/// - The 32-byte message hash ready for ECDSA verification -pub fn compute_eth_message_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash { - // Use big-endian encoding for EVM compatibility - let valid_until_bytes = left_pad_vec(&valid_until.to_be_bytes()); - let hashed_encoded_params = hashv(&[root, &valid_until_bytes]); - - hashv(&[ - b"\x19Ethereum Signed Message:\n32", - &hashed_encoded_params.to_bytes(), - ]) -} - /// Calculates a Merkle root from a leaf node and a proof path. /// /// This function iteratively combines a leaf hash with the provided proof elements @@ -392,23 +368,6 @@ mod tests { } } - mod test_compute_eth_message_hash { - use super::*; - - #[test] - fn basic() { - let root = - &decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); - let valid_until: u32 = 1748317727; - - let result = compute_eth_message_hash(root, valid_until); - - assert_eq!( - result.to_bytes(), - decode32("032705bd71839baef725154f00f87ddcc1d95c4b5189c9fb5983f26ad6c95102") - ); - } - } mod test_hash_leaf { use super::*; diff --git a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs index 5d5167d4..8cbce01c 100644 --- a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs +++ b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs @@ -2,6 +2,7 @@ use anchor_lang::prelude::*; use crate::config::MultisigConfig; use crate::constant::*; +use crate::eip712; use crate::error::*; use crate::eth_utils::*; use crate::event::*; @@ -20,12 +21,13 @@ pub fn set_root( McmError::SignedHashAlreadySeen ); - // verify ECDSA signatures on (root, validUntil) and ensure that the root group is successful + // verify EIP-712 ECDSA signatures on (root, validUntil) and ensure that the root group is successful verify_ecdsa_signatures( &ctx.accounts.root_signatures.signatures, &ctx.accounts.multisig_config, &root, valid_until, + ctx.program_id, )?; require!( @@ -114,8 +116,10 @@ fn verify_ecdsa_signatures( multisig_config: &MultisigConfig, root: &[u8; 32], valid_until: u32, + program_id: &Pubkey, ) -> Result<()> { - let signed_hash = compute_eth_message_hash(root, valid_until); + let signed_hash = + eip712::compute_message_hash(root, valid_until, multisig_config.chain_id, program_id); let mut previous_addr: [u8; EVM_ADDRESS_BYTES] = [0; EVM_ADDRESS_BYTES]; let mut group_vote_counts: [u8; NUM_GROUPS] = [0; NUM_GROUPS]; diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs index 88f855e8..a2e1d0b3 100644 --- a/chains/solana/contracts/programs/mcm/src/lib.rs +++ b/chains/solana/contracts/programs/mcm/src/lib.rs @@ -19,6 +19,9 @@ pub use state::*; mod eth_utils; use eth_utils::*; +mod eip712; +pub use eip712::*; + mod instructions; use instructions::*; ================================================ FILE: solana/devnet/2025-10-20-deploy-mcm/patches/invoke_signed.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs index 155b1a71..b550e7fe 100644 --- a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs +++ b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs @@ -93,6 +93,13 @@ pub fn execute<'info>( invoke_signed(&instruction, acc_infos, signer)?; + // If the CPI modified any typed accounts present in this outer context + // (e.g., calling `accept_ownership` which updates `multisig_config`), + // reload them to avoid Anchor writing back the stale outer copy on exit. + ctx.accounts.multisig_config.reload()?; + ctx.accounts.root_metadata.reload()?; + ctx.accounts.expiring_root_and_op_count.reload()?; + emit!(OpExecuted { nonce, to: instruction.program_id, ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/.gitignore ================================================ chainlink-ccip/ ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Program Upgrade ## Overview As a Facilitator, you are responsible for: 1. Preparing the program buffer 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet/2025-10-22-mcm-upgrade make deps ``` Ensure you have: - Solana CLI installed and configured - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured - The compiled program binary (`.so` file) ready ## Phase 1: Prepare the Program Buffer ### 1.1. Obtain the compiled program Get the compiled program binary (`.so` file) that contains the new version of the program. ### 1.2. Update .env for buffer upload Set the following in `.env`: ```bash PROGRAM= PROGRAM_BINARY= ``` ### 1.3. Write buffer ```bash make write-buffer ``` This will output a buffer address. Copy it. ### 1.4. Update .env and transfer buffer authority Set the following in `.env`: ```bash BUFFER= MCM_AUTHORITY= SPILL= ``` Then transfer buffer authority to MCM: ```bash make transfer-buffer ``` The buffer is now controlled by the MCM authority. ## Phase 2: Create and Commit MCM Proposal ### 2.1. Update .env for proposal generation Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json ``` ### 2.2. Generate proposal ```bash make mcm-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 2.3. Review proposal Open and review the generated proposal file to verify: - Program address matches `PROGRAM` - Buffer address matches `BUFFER` - Spill address is correct - Valid until timestamp is appropriate - All instructions are correct ### 2.4. Commit and push ```bash git add . git commit -m "Add MCM program upgrade proposal for " git push ``` ## Phase 3: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make mcm-sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 4: Execute Proposal ```bash make mcm-all ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal ## Phase 5: Verification ### 5.1. Verify program on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still `MCM_AUTHORITY` - The execution transaction is visible in history ### 5.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/Makefile ================================================ include ../.env include .env include ../../Makefile ## # Project Setup ## .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # MCM Program Upgrade Workflow ## # Step 1: Clone and patch the MCM program .PHONY: step1-clone-patch-and-build step1-clone-patch-and-build: @echo "==> Step 1: Cloning and patching the MCM program..." rm -rf chainlink-ccip git clone --filter=blob:none $(MCM_REPO) chainlink-ccip cd chainlink-ccip && \ git checkout $(MCM_AUDITED_COMMIT) && \ git apply ../$(INVOKE_SIGNED_PATCH) && \ git apply ../$(EIP712_PATCH) && \ git apply ../$(SIMPLIFY_EIP712_PATCH) && \ git apply ../$(ID_PATCH) cd chainlink-ccip/chains/solana/contracts && \ anchor build -p mcm # Step 2: Write program buffer .PHONY: step2-write-buffer step2-write-buffer: @echo "==> Step 2: Writing program buffer..." make sol-write-buffer # Step 3: Transfer buffer authority to MCM .PHONY: step3-transfer-buffer step3-transfer-buffer: @echo "==> Step 2: Transferring buffer authority to MCM..." make sol-set-buffer-authority # Step 3.5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx) .PHONY: step3.5-generate-set-buffer-authority-artifacts step3.5-generate-set-buffer-authority-artifacts: @echo "==> Step 3.5: Generating MCM set-buffer-authority artifacts..." make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json # Step 4: Create upgrade proposal .PHONY: step4-create-proposal step4-create-proposal: @echo "==> Step 4: Creating MCM upgrade proposal..." make mcm-proposal-loader-v3-upgrade # Step 5: Sign proposal .PHONY: sign sign: @echo "==> Step 5: Signing proposal..." make mcm-sign # Step 6: Execute proposal (signatures + set-root + execute) .PHONY: step6-execute-proposal step6-execute-proposal: @echo "==> Step 6: Executing MCM proposal..." make mcm-signatures-all make mcm-proposal-all ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/README.md ================================================ # MCM Program Upgrade via Multi-Chain Multisig Status: [EXECUTED](https://solscan.io/tx/5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ?cluster=devnet) ## Description This task upgrades a Solana program using the Multi-Chain Multisig (MCM) governance system. The upgrade is performed by uploading a new program buffer and creating an MCM proposal that, once signed and executed, will upgrade the program to the new version. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet/2025-10-22-mcm-upgrade make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Review the proposal The Facilitator will provide you with the proposal details. Review: - Program being upgraded: `PROGRAM` - Buffer address: `BUFFER` - MCM Program ID: `MCM_PROGRAM_ID` - Valid until timestamp: `MCM_VALID_UNTIL` These values are in the `.env` file and the generated `proposal.json`. ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5cqjb6boxTizf75bUGRxfRt3sna7VxehDnW1dsy7FhzdPsBhimrrXdP2TUMxz1VXEkHGv2nsqb53tujEKHBR5UXJ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 5 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn", "AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111" ], "recentBlockhash": "38XcLeeoHPdjbSrV65cojkGoit5yEAuPrvndH1TWY3g7", "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbdjn514ix9CUwqJmkfRGBimoMCqfa4Gz6EPLBHCDMt71vhiXhgdgTG7FAy6p5XwZR7Ds32gb", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197831196360, 4134240, 1252800, 6670665840, 1141440, 3335600880, 0, 1343280, 1, 0, 1009200, 1169280 ], "postBalances": [ 197831191360, 4134240, 1252800, 6670665840, 1141440, 0, 3335600880, 1343280, 1, 0, 1009200, 1169280 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04AAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 46411 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 46411 }, "blockTime": 1761166938, "slot": 416405847 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5rFJuhjr75g7a3QUpFMhLP8jx8UDCwXQzgCPTSeLq7hMZP43dbfpjwtJ6g8ZJGY1G1HukZkfAEMENSRLBo79mGB6" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "DJysVC7pSfy3MyXzbzoJLaJmJB7GKovNdcHWJCWNpWt3", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "GB9gRdUJscxtv8GynFEd3sgNZx5YACUXvRY5ynaXPkj5", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neQZEZR3y8kxx6CtAAWsGHBV5yReuG3gKYB27RtTWqs8HjJB2JvaFmKpMoSgaQsexExa8cRDYtpAmMFSkNnHuixnRJMF6g3gMnqujpFyoEGqd86zdapwJdTdHsMiSPto6A2rHEf47sC2fD1PC8UoGdTPhgoc4HGkpbiijYg1numZZhNUVp", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197829809360, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 197831196360, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRoot", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXeiEXv4NnCvz1Ew1YhVTJrplnmwi/oRxOKsk15o/iywd2bb+WgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAE=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 103806 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 103806 }, "blockTime": 1761166922, "slot": 416405807 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2zp5tCzEb2BNMr2Gx8HEfqgiyR2eN25PeUS9wNaTqxzKZyPwo29uvVAJwb3USav2Cb9nu8cRsSe3kzpnn5Pc4yKr" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "38p92JJpzW6862egpeCHWHZxbSqMnwzzQsmRSi6CP1QN", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKEqS9qTRWTLgc99wkDGDT7QuyCsAZEZjWyxMFkaMXJiHU6QdAXAz6UCNdYjcduSB7hRtKcaQD3gN813g2QEcJt91iSKKHMF2TVCjoWDNZHdaCewfYVkU1a63yFtyZEg1fGdPkz4JjK9igmk2FWr2MQQLpDZAx8D3gV3e1a2fUsGDPEnE5oVmGsTTfgsYWkDBUhbdA8ZwajzvNBYqF8FcAYSsJ28w7VHu6Dr68PAAopfAR9rMz4n3uGQyGptM3iDxFkR4DCPVYhiDzbtjuYipCUFKpe7EdLtd47fxS6TD4zcfPBLjmo7ZwDQtfmsgbfLoCi", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197829819360, 2345520, 1141440 ], "postBalances": [ 197829814360, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1761166890, "slot": 416405725 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5ZawH4BBcXsruamXTZCbCsLB6wZv99chskN8A5vKUjSNXCkeSg5nXok4qmRoU6rhiqeJJjw1Qkp2rBxbkg7hyWWc" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "6TcWNbNzh5RXTNdCt346f3sCh6rSPPozFYtiqvyRqwUj", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDwpKavh1NDtuwVLZ7CCkoCMiaSjRsyUV7vzNDUcG5c3apwhT7d", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197829814360, 2345520, 1141440 ], "postBalances": [ 197829809360, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4570 }, "blockTime": 1761166906, "slot": 416405766 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4ZjWAkFT1DnvpQFBwXSamAVZj9dzZqB3n5LKarCzq2ER5bb2rp9xjQiX1Uh7y7Ycxf6NseksJpm2DP8pDm6aNcf3" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFUdVAfnn9ij9e1hvNT71M5p8UXprbygDeJjJqHxJ2g5", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "6AKkLuvRUW5h1RE2uF9jBD5WAEbUxe5hP9L1LUN29dgt", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNapoU3uXwA8PbB2M2QGckCq528r3jgRbfziiMtDpnyJW5dRr4ZYXC", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197832169880, 0, 1, 1141440 ], "postBalances": [ 197829819360, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7983 }, "blockTime": 1761166874, "slot": 416405684 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/artifacts/set-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5MH2pXrEmvoUepzVNfqWzJ5mVXyJn4T9b81yqFaK8T8QzW8quRAXoaATWqtaaaVXJ7hzmywaHFDwcAHj7EQ5EFEs" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "C4XSxK5zGw2ANbWQSURn6Cx4HaFiCxpmD6Nbb4T6szNu", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "4qMgkLQCjsdT7VePSKroogZwptPehuzyLkeC5SrMGBY2", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 201171174280, 3335489520, 1, 0 ], "postBalances": [ 201171169280, 3335489520, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761126754, "slot": 416301211 } { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4a2Wnni9JcVibkaoKKe27uXxMZ5sRK3nsWPj6tVs4kX86qt8kqeFbnzRDXYCdWBp1ruHUDzzoTq3FE5McKj19wJ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "Fi9ubHmNbQLy5iExs6bjM8Ri1nMrkVzivFx9hSXPwvia", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197833148400, 3335600880, 1, 0 ], "postBalances": [ 197833143400, 3335600880, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761162972, "slot": 416395524 } ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/patches/eip712.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs new file mode 100644 index 00000000..87b20002 --- /dev/null +++ b/chains/solana/contracts/programs/mcm/src/eip712.rs @@ -0,0 +1,268 @@ +//! # EIP-712 Typed Structured Data Hashing +//! +//! This module implements EIP-712 typed structured data hashing for Ethereum-compatible +//! signature verification. +//! +//! ## Domain Separator +//! +//! The domain separator uniquely identifies this contract instance and prevents +//! signature replay attacks across different chains or contracts: +//! +//! - **name**: "ManyChainMultiSig" - The contract name +//! - **version**: "1" - The contract version +//! - **chainId**: Solana chain identifier (e.g., hash of "solana:localnet") +//! - **verifyingContract**: `address(0)` - Not applicable for Solana +//! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance +//! +//! ## Message Structure +//! +//! Users sign a `RootValidation` message containing: +//! - **root**: The 32-byte Merkle root of operations +//! - **validUntil**: Timestamp (uint32) until which the root is valid + +use anchor_lang::prelude::*; +use anchor_lang::solana_program::keccak::{hashv, Hash, HASH_BYTES}; + +/// EIP-712 domain name for the ManyChainMultiSig contract +pub const EIP712_DOMAIN_NAME: &str = "ManyChainMultiSig"; + +/// EIP-712 domain version +pub const EIP712_DOMAIN_VERSION: &str = "1"; + +/// Type hash for EIP712Domain +/// keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)") +pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[ + 0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5, + 0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72, +]; + +/// Type hash for RootValidation message +/// keccak256("RootValidation(bytes32 root,uint32 validUntil)") +pub const ROOT_VALIDATION_TYPE_HASH: &[u8; HASH_BYTES] = &[ + 0x07, 0x02, 0x19, 0xd6, 0x56, 0xf4, 0x72, 0x71, 0xfe, 0x6e, 0x2e, 0x8c, 0xff, 0x49, 0x55, 0xfe, + 0xcb, 0xca, 0xb4, 0xc9, 0x42, 0x22, 0x83, 0x09, 0xe9, 0x0a, 0xae, 0x20, 0xbd, 0x1f, 0xa8, 0x95, +]; + +/// Hash of the domain name "ManyChainMultiSig" +/// keccak256("ManyChainMultiSig") +pub const EIP712_DOMAIN_NAME_HASH: &[u8; HASH_BYTES] = &[ + 0x62, 0x7b, 0x9a, 0x5c, 0xae, 0x29, 0x68, 0x84, 0x2a, 0x54, 0x1a, 0x6b, 0xa8, 0x61, 0xa7, 0x15, + 0x0a, 0xb5, 0xec, 0x3c, 0x42, 0x02, 0xa6, 0x24, 0xbc, 0xa4, 0x6b, 0xff, 0x04, 0x11, 0xce, 0x9a, +]; + +/// Hash of the domain version "1" +/// keccak256("1") +pub const EIP712_DOMAIN_VERSION_HASH: &[u8; HASH_BYTES] = &[ + 0xc8, 0x9e, 0xfd, 0xaa, 0x54, 0xc0, 0xf2, 0x0c, 0x7a, 0xdf, 0x61, 0x28, 0x82, 0xdf, 0x09, 0x50, + 0xf5, 0xa9, 0x51, 0x63, 0x7e, 0x03, 0x07, 0xcd, 0xcb, 0x4c, 0x67, 0x2f, 0x29, 0x8b, 0x8b, 0xc6, +]; + +/// Computes the EIP-712 message hash for root validation. +/// +/// This is the final hash that gets signed by the user. It follows the EIP-712 +/// format: `keccak256("\x19\x01" || domainSeparator || structHash)` +/// +/// # Parameters +/// +/// - `root`: The 32-byte Merkle root +/// - `valid_until`: Timestamp until which the root is valid +/// - `chain_id`: The chain identifier +/// - `program_id`: The Solana Program ID +/// +/// # Returns +/// +/// - The 32-byte message hash ready for ECDSA verification +pub fn compute_message_hash( + root: &[u8; HASH_BYTES], + valid_until: u32, + chain_id: u64, + program_id: &Pubkey, +) -> Hash { + let domain_separator = compute_domain_hash(chain_id, program_id); + let struct_hash = compute_struct_hash(root, valid_until); + + hashv(&[ + b"\x19\x01", + &domain_separator.to_bytes(), + &struct_hash.to_bytes(), + ]) +} + +/// Computes the EIP-712 domain separator hash. +/// +/// The domain separator ensures that signatures are unique to this specific +/// contract instance and chain, preventing replay attacks. +/// +/// # Parameters +/// +/// - `chain_id`: The chain identifier (e.g., keccak256("solana:localnet")) +/// - `program_id`: The Solana Program ID (32 bytes), used as the salt +/// +/// # Returns +/// +/// - The 32-byte domain separator hash +pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash { + // Chain ID as bytes32 (big-endian, left-padded) + let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes()); + + // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes + let verifying_contract = [0u8; 32]; + + // Salt = Program ID (32 bytes) + let salt = program_id.to_bytes(); + + hashv(&[ + EIP712_DOMAIN_TYPE_HASH, + EIP712_DOMAIN_NAME_HASH, + EIP712_DOMAIN_VERSION_HASH, + &chain_id_bytes, + &verifying_contract, + &salt, + ]) +} + +/// Computes the EIP-712 struct hash for a RootValidation message. +/// +/// # Parameters +/// +/// - `root`: The 32-byte Merkle root +/// - `valid_until`: Timestamp until which the root is valid +/// +/// # Returns +/// +/// - The 32-byte struct hash +pub fn compute_struct_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash { + // valid_until as bytes32 (big-endian, left-padded) + let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes()); + + hashv(&[ROOT_VALIDATION_TYPE_HASH, root, &valid_until_bytes]) +} + +/// Left-pads a byte array to 32 bytes with zeros. +/// +/// # Parameters +/// +/// - `input`: The input byte array +/// +/// # Returns +/// +/// - A 32-byte array with the input left-padded with zeros +fn left_pad_to_32(input: &[u8]) -> [u8; 32] { + let mut padded = [0u8; 32]; + let start = 32 - input.len(); + padded[start..].copy_from_slice(input); + padded +} + +#[cfg(test)] +mod tests { + use super::*; + use anchor_lang::solana_program::keccak::hash; + + // Last 8 bytes of keccak256("solana:localnet") as big-endian + const CHAIN_ID: u64 = 5190648258797659666; + + fn decode32(s: &str) -> [u8; HASH_BYTES] { + hex::decode(s).unwrap().try_into().unwrap() + } + + #[test] + fn verify_domain_type_hash() { + let expected = hash(b"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)"); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH); + } + + #[test] + fn verify_domain_name_hash() { + let expected = hash(EIP712_DOMAIN_NAME.as_bytes()); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_NAME_HASH); + } + + #[test] + fn verify_domain_version_hash() { + let expected = hash(EIP712_DOMAIN_VERSION.as_bytes()); + assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_VERSION_HASH); + } + + #[test] + fn verify_root_validation_type_hash() { + let expected = hash(b"RootValidation(bytes32 root,uint32 validUntil)"); + assert_eq!(&expected.to_bytes(), ROOT_VALIDATION_TYPE_HASH); + } + + #[test] + fn test_left_pad_to_32() { + let input = [1, 2, 3, 4]; + let result = left_pad_to_32(&input); + let expected: [u8; 32] = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 2, 3, 4, + ]; + assert_eq!(result, expected); + } + + #[test] + fn test_compute_domain_hash() { + let program_id = Pubkey::new_from_array(decode32( + "b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df", + )); + + let domain_hash = compute_domain_hash(CHAIN_ID, &program_id); + + // The domain hash should be deterministic + // We'll verify it matches the expected structure by recomputing + let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes()); + let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes()); + let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes()); + let verifying_contract = [0u8; 32]; + let salt = program_id.to_bytes(); + + let expected = hashv(&[ + EIP712_DOMAIN_TYPE_HASH, + &name_hash.to_bytes(), + &version_hash.to_bytes(), + &chain_id_bytes, + &verifying_contract, + &salt, + ]); + + assert_eq!(domain_hash.to_bytes(), expected.to_bytes()); + } + + #[test] + fn test_compute_struct_hash() { + let root = decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); + let valid_until: u32 = 1748317727; + + let struct_hash = compute_struct_hash(&root, valid_until); + + // Verify the structure + let valid_until_bytes = left_pad_to_32(&valid_until.to_be_bytes()); + let expected = hashv(&[ROOT_VALIDATION_TYPE_HASH, &root, &valid_until_bytes]); + + assert_eq!(struct_hash.to_bytes(), expected.to_bytes()); + } + + #[test] + fn test_compute_message_hash() { + let root = decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); + let valid_until: u32 = 1748317727; + let program_id = Pubkey::new_from_array(decode32( + "b870e12dd379891561d2e9fa8f26431834eb736f2f24fc2a2a4dff1fd5dca4df", + )); + + let message_hash = compute_message_hash(&root, valid_until, CHAIN_ID, &program_id); + + // Verify it follows EIP-712 format: \x19\x01 || domainSeparator || structHash + let domain_separator = compute_domain_hash(CHAIN_ID, &program_id); + let struct_hash = compute_struct_hash(&root, valid_until); + + let expected = hashv(&[ + b"\x19\x01", + &domain_separator.to_bytes(), + &struct_hash.to_bytes(), + ]); + + assert_eq!(message_hash.to_bytes(), expected.to_bytes()); + } +} diff --git a/chains/solana/contracts/programs/mcm/src/eth_utils.rs b/chains/solana/contracts/programs/mcm/src/eth_utils.rs index 7b030cda..eaf3b666 100644 --- a/chains/solana/contracts/programs/mcm/src/eth_utils.rs +++ b/chains/solana/contracts/programs/mcm/src/eth_utils.rs @@ -14,7 +14,7 @@ //! //! These separators ensure that hashes for different purposes cannot be reused or confused. use anchor_lang::prelude::*; -use anchor_lang::solana_program::keccak::{hash, hashv, Hash, HASH_BYTES}; // use keccak256 for EVM compatibility +use anchor_lang::solana_program::keccak::{hash, hashv, HASH_BYTES}; // use keccak256 for EVM compatibility use anchor_lang::solana_program::secp256k1_recover::{ secp256k1_recover, Secp256k1Pubkey, Secp256k1RecoverError, }; @@ -54,7 +54,7 @@ pub const EVM_ADDRESS_BYTES: usize = 20; /// /// # Parameters /// -/// - `eth_signed_msg_hash`: 32-byte hash of the Ethereum signed message +/// - `eth_signed_msg_hash`: 32-byte EIP-712 message hash /// - `sig`: The ECDSA signature containing v, r, s components /// /// # Returns @@ -81,30 +81,6 @@ pub fn ecdsa_recover_evm_addr( Ok(evm_addr) } -/// Computes the Ethereum-compatible message hash for root validation. -/// -/// Creates a hash that matches Ethereum's personal sign message format: -/// "\x19Ethereum Signed Message:\n32" + keccak256(root || valid_until) -/// -/// # Parameters -/// -/// - `root`: The 32-byte Merkle root -/// - `valid_until`: Timestamp until which the root is valid -/// -/// # Returns -/// -/// - The 32-byte message hash ready for ECDSA verification -pub fn compute_eth_message_hash(root: &[u8; HASH_BYTES], valid_until: u32) -> Hash { - // Use big-endian encoding for EVM compatibility - let valid_until_bytes = left_pad_vec(&valid_until.to_be_bytes()); - let hashed_encoded_params = hashv(&[root, &valid_until_bytes]); - - hashv(&[ - b"\x19Ethereum Signed Message:\n32", - &hashed_encoded_params.to_bytes(), - ]) -} - /// Calculates a Merkle root from a leaf node and a proof path. /// /// This function iteratively combines a leaf hash with the provided proof elements @@ -392,23 +368,6 @@ mod tests { } } - mod test_compute_eth_message_hash { - use super::*; - - #[test] - fn basic() { - let root = - &decode32("d5ef592d1ad183db43b4980d7ab7ee43a6f6a284988c3e3a23d38c07beb520c7"); - let valid_until: u32 = 1748317727; - - let result = compute_eth_message_hash(root, valid_until); - - assert_eq!( - result.to_bytes(), - decode32("032705bd71839baef725154f00f87ddcc1d95c4b5189c9fb5983f26ad6c95102") - ); - } - } mod test_hash_leaf { use super::*; diff --git a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs index 5d5167d4..8cbce01c 100644 --- a/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs +++ b/chains/solana/contracts/programs/mcm/src/instructions/set_root.rs @@ -2,6 +2,7 @@ use anchor_lang::prelude::*; use crate::config::MultisigConfig; use crate::constant::*; +use crate::eip712; use crate::error::*; use crate::eth_utils::*; use crate::event::*; @@ -20,12 +21,13 @@ pub fn set_root( McmError::SignedHashAlreadySeen ); - // verify ECDSA signatures on (root, validUntil) and ensure that the root group is successful + // verify EIP-712 ECDSA signatures on (root, validUntil) and ensure that the root group is successful verify_ecdsa_signatures( &ctx.accounts.root_signatures.signatures, &ctx.accounts.multisig_config, &root, valid_until, + ctx.program_id, )?; require!( @@ -114,8 +116,10 @@ fn verify_ecdsa_signatures( multisig_config: &MultisigConfig, root: &[u8; 32], valid_until: u32, + program_id: &Pubkey, ) -> Result<()> { - let signed_hash = compute_eth_message_hash(root, valid_until); + let signed_hash = + eip712::compute_message_hash(root, valid_until, multisig_config.chain_id, program_id); let mut previous_addr: [u8; EVM_ADDRESS_BYTES] = [0; EVM_ADDRESS_BYTES]; let mut group_vote_counts: [u8; NUM_GROUPS] = [0; NUM_GROUPS]; diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs index 88f855e8..a2e1d0b3 100644 --- a/chains/solana/contracts/programs/mcm/src/lib.rs +++ b/chains/solana/contracts/programs/mcm/src/lib.rs @@ -19,6 +19,9 @@ pub use state::*; mod eth_utils; use eth_utils::*; +mod eip712; +pub use eip712::*; + mod instructions; use instructions::*; ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/patches/id.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs index a2e1d0b3..f2420a45 100644 --- a/chains/solana/contracts/programs/mcm/src/lib.rs +++ b/chains/solana/contracts/programs/mcm/src/lib.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::*; -declare_id!("5vNJx78mz7KVMjhuipyr9jKBKcMrKYGdjGkgE4LUmjKk"); +declare_id!("Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX"); use program::Mcm; ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/patches/invoke_signed.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs index 155b1a71..a91e2a68 100644 --- a/chains/solana/contracts/programs/mcm/src/instructions/execute.rs +++ b/chains/solana/contracts/programs/mcm/src/instructions/execute.rs @@ -89,10 +89,17 @@ pub fn execute<'info>( ]; let signer = &[&seeds[..]]; - ctx.accounts.expiring_root_and_op_count.op_count += 1; - invoke_signed(&instruction, acc_infos, signer)?; + // If the CPI modified any typed accounts present in this outer context + // (e.g., calling `accept_ownership` which updates `multisig_config`), + // reload them to avoid Anchor writing back the stale outer copy on exit. + ctx.accounts.multisig_config.reload()?; + ctx.accounts.root_metadata.reload()?; + ctx.accounts.expiring_root_and_op_count.reload()?; + + ctx.accounts.expiring_root_and_op_count.op_count += 1; + emit!(OpExecuted { nonce, to: instruction.program_id, ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/patches/simplify_eip712.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/eip712.rs b/chains/solana/contracts/programs/mcm/src/eip712.rs index 87b20002..3a19c422 100644 --- a/chains/solana/contracts/programs/mcm/src/eip712.rs +++ b/chains/solana/contracts/programs/mcm/src/eip712.rs @@ -11,7 +11,6 @@ //! - **name**: "ManyChainMultiSig" - The contract name //! - **version**: "1" - The contract version //! - **chainId**: Solana chain identifier (e.g., hash of "solana:localnet") -//! - **verifyingContract**: `address(0)` - Not applicable for Solana //! - **salt**: The Solana Program ID (32 bytes) - Uniquely identifies this program instance //! //! ## Message Structure @@ -30,10 +29,10 @@ pub const EIP712_DOMAIN_NAME: &str = "ManyChainMultiSig"; pub const EIP712_DOMAIN_VERSION: &str = "1"; /// Type hash for EIP712Domain -/// keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)") +/// keccak256("EIP712Domain(string name,string version,uint256 chainId,bytes32 salt)") pub const EIP712_DOMAIN_TYPE_HASH: &[u8; HASH_BYTES] = &[ - 0xd8, 0x7c, 0xd6, 0xef, 0x79, 0xd4, 0xe2, 0xb9, 0x5e, 0x15, 0xce, 0x8a, 0xbf, 0x73, 0x2d, 0xb5, - 0x1e, 0xc7, 0x71, 0xf1, 0xca, 0x2e, 0xdc, 0xcf, 0x22, 0xa4, 0x6c, 0x72, 0x9a, 0xc5, 0x64, 0x72, + 0xa6, 0x04, 0xff, 0xf5, 0xa2, 0x7d, 0x59, 0x51, 0xf3, 0x34, 0xcc, 0xda, 0x7a, 0xbf, 0xf3, 0x28, + 0x6a, 0x8a, 0xf2, 0x9c, 0xae, 0xeb, 0x19, 0x6a, 0x6f, 0x2b, 0x40, 0xa1, 0xdc, 0xe7, 0x61, 0x2b, ]; /// Type hash for RootValidation message @@ -105,9 +104,6 @@ pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash { // Chain ID as bytes32 (big-endian, left-padded) let chain_id_bytes = left_pad_to_32(&chain_id.to_be_bytes()); - // Verifying contract = address(0) = 20 zero bytes, left-padded to 32 bytes - let verifying_contract = [0u8; 32]; - // Salt = Program ID (32 bytes) let salt = program_id.to_bytes(); @@ -116,7 +112,6 @@ pub fn compute_domain_hash(chain_id: u64, program_id: &Pubkey) -> Hash { EIP712_DOMAIN_NAME_HASH, EIP712_DOMAIN_VERSION_HASH, &chain_id_bytes, - &verifying_contract, &salt, ]) } @@ -168,7 +163,7 @@ mod tests { #[test] fn verify_domain_type_hash() { - let expected = hash(b"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)"); + let expected = hash(b"EIP712Domain(string name,string version,uint256 chainId,bytes32 salt)"); assert_eq!(&expected.to_bytes(), EIP712_DOMAIN_TYPE_HASH); } @@ -211,18 +206,14 @@ mod tests { // The domain hash should be deterministic // We'll verify it matches the expected structure by recomputing - let name_hash = hash(EIP712_DOMAIN_NAME.as_bytes()); - let version_hash = hash(EIP712_DOMAIN_VERSION.as_bytes()); let chain_id_bytes = left_pad_to_32(&CHAIN_ID.to_be_bytes()); - let verifying_contract = [0u8; 32]; let salt = program_id.to_bytes(); let expected = hashv(&[ EIP712_DOMAIN_TYPE_HASH, - &name_hash.to_bytes(), - &version_hash.to_bytes(), + EIP712_DOMAIN_NAME_HASH, + EIP712_DOMAIN_VERSION_HASH, &chain_id_bytes, - &verifying_contract, &salt, ]); ================================================ FILE: solana/devnet/2025-10-22-mcm-upgrade/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761205094, "instructions": [ { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "isSigner": false, "isWritable": true }, { "pubkey": "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "isSigner": false, "isWritable": true }, { "pubkey": "FsfzjZQu5MUAuZybaNNEkQbbzgKExUdGNFEbTohBGJGn", "isSigner": false, "isWritable": true }, { "pubkey": "AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 0, "postOpCount": 1, "overridePreviousRoot": true } } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/.gitignore ================================================ bridge/ *keypair.json ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: install-bun install-bun: curl -fsSL https://bun.sh/install | bash .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor install-bun ## # Deployment Workflow ## # Step 1: Clone and build bridge programs .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning and building bridge programs..." rm -rf bridge git clone --filter=blob:none $(BRIDGE_REPO) bridge cd bridge && \ git checkout $(BRIDGE_COMMIT) cd bridge/clients/ts && \ bun install && \ bun run build cd bridge/scripts && \ bun install # Step 2: Build programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." cd bridge/solana && \ anchor keys sync && \ cp target/deploy/bridge-keypair.json ../../bridge-keypair.json && \ cp target/deploy/base_relayer-keypair.json ../../base_relayer-keypair.json cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../bridge-keypair.json \ --base-relayer-program-kp ../../base_relayer-keypair.json # Step 3: Deploy programs .PHONY: step3-deploy-programs step3-deploy-programs: @echo "==> Step 3: Deploying programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program bridge \ --program-kp ../../bridge-keypair.json \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/bridge-deploy-artifacts.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program base-relayer \ --program-kp ../../base_relayer-keypair.json \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/base-relayer-deploy-artifacts.json # Step 4: Initialize programs .PHONY: step4-init-programs step4-init-programs: @echo "==> Step 4: Initializing programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol bridge initialize \ --program-id $(BRIDGE_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --remote-sol-address $(SOL_REMOTE_TOKEN) \ --eip1559-target $(BRIDGE_EIP1559_TARGET) \ --eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \ --gas-per-call $(BRIDGE_GAS_PER_CALL) \ --gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \ --protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \ --buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \ --base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \ --base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \ --base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \ --partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)" \ output=artifacts/init-bridge.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol base-relayer initialize \ --program-id $(BASE_RELAYER_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \ --eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \ --min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \ --max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \ --gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)" \ output=artifacts/init-base-relayer.json # Step 5: Print SOL vault .PHONY: step5-print-sol-vault step5-print-sol-vault: @echo "==> Step 5: Printing SOL vault..." cd bridge/scripts && \ bun cli sol bridge sol-vault \ --bridge-program $(BRIDGE_PROGRAM_ID) # Step 6: Fund SOL vault .PHONY: step6-fund-sol-vault step6-fund-sol-vault: @echo "==> Step 6: Funding SOL vault..." make sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json # Step 7: Fund the gas fee receiver .PHONY: step7-fund-gas-fee-receiver step7-fund-gas-fee-receiver: @echo "==> Step 7: Funding gas fee receiver..." make sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json # Step 8: Transfer upgrade authorities of the bridge and base relayer programs .PHONY: step8-transfer-upgrade-authorities step8-transfer-upgrade-authorities: @echo "==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs..." make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(GUARDIAN) make sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(GUARDIAN) make sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) # Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx) .PHONY: step9-generate-set-upgrade-authorities-artifacts step9-generate-set-upgrade-authorities-artifacts: @echo "==> Step 8: Generating set-upgrade-authorities artifacts..." make sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json make sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "2k59UnU4dQkXGdebaSrPX95QzXZNqbHEqqC7qzLitrydi1MYw5NbV9q1xdMTe976wTistASd6Lvn8ccHXbDnaKRL", "4V15b7Bf28HwhU5WKnkPSnzVACQ9E1KdxcgXxNC9C91mjcUGDnsXbQbCfBK9HnTcfEQpRFN14NdadZn9iX68HQHY" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H", "9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP", "De6pBEXUw4DiJ9zFzfdM69BDxU8F7rVrcV3tRVhDSWc4", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "FAh2wWUXeWPnuMKPi7L2DdKxrxBrbJaZndoeCZuxz6mb", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 2, 1, 3, 7, 6, 4, 0 ], "data": "3Bxs42J4x6iEtSZM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 169019364280, 0, 0, 2098391280, 1, 1, 1169280, 1009200 ], "postBalances": [ 169018212840, 1141440, 2098391280, 0, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 2, 3 ], "data": "11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1761256231, "slot": 416638064 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/bridge-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3LdJ2kUHbLf2cZkasurYP2TaRvop45jNKiewM4E5DKrhw3im2mWN3Yeq6R7fTmd9rEoHVUeMgWob3dioKig7p88X", "55TJ1mmdpnzB7yS1vRfCRSAoJM1ivNRCi5PFbrtshZp5vZVe7yU7KqvgMYuK4zk1wmEtB5C72RZTC56MGeMGye9N" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz", "DQjcSWeU1QSaVUTGbDHSZf4fLYXwa3W9zm1nRZojAwNC", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "L8fLDFNtnkGJSZdetvFo1deE5bPbJC3etRXDP6dmYs8", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 2, 1, 3, 7, 6, 4, 0 ], "data": "3Bxs4WN6jLMpcx3h", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 171120407000, 0, 0, 6120992880, 1, 1, 1169280, 1009200 ], "postBalances": [ 171119255560, 1141440, 6120992880, 0, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 2, 3 ], "data": "111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1761256221, "slot": 416638036 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/fund-gas-fee-receiver.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "vtcC5RJBEhqjxNvkpTtdF78zR3YiXLYHJJR8rCncNejTEAix25wAmUGfu4FVwQrR5uWZzaiX9UkTJ8RngyZJmNr" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT", "11111111111111111111111111111111" ], "recentBlockhash": "CUf2eHgnhoZqakh8crjWRGjVZ9h3ZjyiUuTU1PQGkPCV", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 168911571920, 3335600880, 1 ], "postBalances": [ 168811566920, 3435600880, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761256427, "slot": 416638573 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/fund-sol-vault.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "oTmYraoVZEkGsLsoyfb2pDTviqkwyghPtDyDTYAaaPe41VArje1CNTnH7EnUy45kcrwRFghkk8ijMpEfQi16Crw" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "4LS6xgoSn5Ed1UcJKJbwNSsyBQY2NX7H6nJcdt979c1A", "11111111111111111111111111111111" ], "recentBlockhash": "6qXNNqTUCFhNu1oyf62o2YmY3pLAW3eews8Nn34Um76k", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 169011576920, 0, 1 ], "postBalances": [ 168911571920, 100000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761256418, "slot": 416638549 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/init-base-relayer.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "5TxuveVEcXx5AsFBKtKWTZsYApESzT5xK2MmokoeHsf1Snj7wP7ikYsL5tdRBVVSTuxbdqTaAtuEFUqgo96cfJG4" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "8YevvQPwQRsKwzaqaAujLcTs7cbZts9tBzPsXhRymbw8", "11111111111111111111111111111111", "56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H", "9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP" ], "recentBlockhash": "58M5DnjCHSGFqzcfzNtdTVQpt1r7HLi3aAT7dzz9WNAC", "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 0, 1, 4, 3, 2 ], "data": "EGobdm29j93Jy1Ykas1QRvcNdsGgoTrZJJdBA9qei7nQKrvHDrnVgbwrHHwndxDfWV2vqJ5fV7XXKPsSb5nH8FTUpf1LxP28bpyNCRJLWc6xRkSFA5iq9BnUoUn1e1hifsH146NNpxY1S4gw3psWgcxzh9ggq4aTFVJYFyFEHp2eJfDfGqQWoEE9VZ", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 169013642080, 0, 1, 1141440, 2098391280 ], "postBalances": [ 169011576920, 2060160, 1, 1141440, 2098391280 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11115iFkVMXPaap7j41Z1pua1WA989crpL52hPgAkM7pNWYM8qg35xTUhcETYqR9xAUYQP", "stackHeight": 2 } ] } ], "logMessages": [ "Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H consumed 11370 of 200000 compute units", "Program 56MBBEYAtQAdjT4e1NzHD8XaoyRSTvfgbSVVcEcHj51H success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 11370 }, "blockTime": 1761256375, "slot": 416638437 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/init-bridge.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3pnudvgYaeyXXEbhuRExGbN57H1RAXAiVgZYT2ovPWki1h3WaVqdkmvfTFLqS1V6qzowb7rFsVzCtudEDf4n55WM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g", "11111111111111111111111111111111", "3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz", "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC" ], "recentBlockhash": "323HYDQc8RM9Qex7nuqqNcaqqYWoEYsrpX9zwGFL2MGr", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 0, 1, 3, 4, 2 ], "data": "w6cHVNZ7a5rQv5VPE63MBWcxFcdsxgLGURBWWHvgRrRcnXyygG5zD3E3ER16Da2Ny2GcjerMoXJcyuhuzGWcB5M4yHyMsMDnbTWbYbDKVu49gQxsDdrak7tWjxypja2LJusxNZieSJiY8xCAdaKkBE3ijuzcGFQfZ3Qv146BMjhgjEB9eom9rwViw5fFdHnGTgkdyd3Rf2R871C3Rnh79RZbSexc1QjjymfZxaL9JmaemrKbbtoJbUemm1AsgytjB2q3Yoo6ZSuJfRKaGgSUQpE7GrPjwB9UPiebpx5HveQ8PwB4PegWeuZo1ThsEFCskx14FrbSP5TePan6rCauHDuLgqoRoSs6K1Ki4rEwexPjNzrkwFYfNQhKB1Zk4scDUyNttSw47TWAAKQrcPiS9CHQPw3H538JrfDwvoDhmL231tnHEYXuBcg3jiRXmx74zwWvWjK7tte3jfdc51pfB5STm6NaHfpkWoDoW5JHoH6ZYuTm419FtBaYQNS5ch1sqTuyhm8wpZahGNT9eAbwYRsAU6StbAFc9BVg6cun4cw5eeZyYxxKg59SC6juHWRiDGtujGnjnEzgH2ufVU1JjRU6p5N6WmxjXjr2CSYhMn7CBNucoTsRSymk6vExcms5m7STY1JrASH3esvnwPTFwaX5R", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 169018212840, 0, 1, 6120992880, 1141440 ], "postBalances": [ 169013642080, 4565760, 1, 6120992880, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "111112RZKQ4yMXN8zMsggLRz2TtSVkXjiW95ngmKm3QdFfkMF495VczRGsGgZarM7DPAXG", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 14681 of 200000 compute units", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 14681 }, "blockTime": 1761256371, "slot": 416638427 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2f3bUQpBaZjSjmLiThv5rTSqu9QXVtweitUJXHuDd2LREjm59HuBiNWrJAJQLsyy73Dbq7cfFLdAd2Dd2nJGXkXi" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "9mUcnyK4TVwHoMkyVCTiVFqWDUuRqHoAJP32pxSXCTjP", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "CxXbLnHqpSmfvPrCm2aaPGzvLvfNNHmgmh1pAvYAoWth", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 168811561920, 2098391280, 1, 0 ], "postBalances": [ 168811556920, 2098391280, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761256438, "slot": 416638602 } ================================================ FILE: solana/devnet/2025-10-23-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5i1CYwJDo9jFVLsBM2aQMkzwbr41QD68kFL5CBZru7cSr7AeXGyaF52PQnWjLX6oT2VLREuV4Pv5dPdNAM2EhLrB" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "3Tc2r6TM38kX4ogeMwRuXCQsNEeBsRpQNr3NSf8GoZbz", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "FQBzZGNX18ayjtgH57yJx77G6envHFxH5GmhNQFMWUFo", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 168811566920, 6120992880, 1, 0 ], "postBalances": [ 168811561920, 6120992880, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761256436, "slot": 416638596 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Pause/Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge pause configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet/2025-10-24-mcm-pause-unpause-bridge make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with bridge pause configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge configuration BRIDGE_PROGRAM_ID= PAUSED=true # or false to unpause ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - Bridge program ID is correct - Pause status is correct (pausing or unpausing) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge pause/unpause proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Register Proposal ```bash make step3-register-proposal ``` This command registers the proposal: - Initialize signatures account - Append signatures - Finalize signatures - Set root ## Phase 4: Execute Pause Proposal ```bash make step4-execute-pause ``` This command executes the pause proposal ## Phase 5: Execute Unpause Proposal ```bash make step5-execute-unpause ``` This command executes the unpause proposal ## Phase 6: Verification ### 6.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (paused or unpaused) ### 6.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## # Step 1: Create merged pause/unpause proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating merged pause/unpause MCM proposal..." @echo " → Creating pause proposal..." @make mcm-proposal-bridge-pause \ PAUSED=true \ MCM_PROPOSAL_OUTPUT=pause-proposal.json @echo " → Creating unpause proposal..." @make mcm-proposal-bridge-pause \ PAUSED=false \ MCM_PROPOSAL_OUTPUT=unpause-proposal.json @echo " → Merging proposals..." @jq -s '.[0] as $$pause | .[1] as $$unpause | $$pause | .instructions = ($$pause.instructions + $$unpause.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \ pause-proposal.json unpause-proposal.json > proposal.json @echo " → Cleaning up temporary files..." @rm -f pause-proposal.json unpause-proposal.json @echo "✓ Merged proposal created: proposal.json" @echo " - Instructions count: $$(jq '.instructions | length' proposal.json)" @echo " - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)" @echo " - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)" # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." @make mcm-sign # Step 3: Register proposal (signatures + set-root) .PHONY: step3-register-proposal step3-register-proposal: @echo "==> Step 3: Registering MCM proposal..." @make mcm-signatures-all @make mcm-proposal-set-root # Step 4: Execute pause proposal .PHONY: step4-execute-pause step4-execute-pause: @echo "==> Step 4: Executing MCM pause proposal..." @make mcm-proposal-execute \ MCM_START_INDEX=0 \ MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-pause-proposal-execute.json # Step 5: Execute unpause proposal .PHONY: step5-execute-unpause step5-execute-unpause: @echo "==> Step 5: Executing MCM unpause proposal..." @make mcm-proposal-execute \ MCM_START_INDEX=1 \ MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-unpause-proposal-execute.json ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/README.md ================================================ # MCM Bridge Pause/Unpause Status: EXECUTED (https://solscan.io/tx/mvDops5iMa5GbeMKsCDGBEhKC1qAZB5ykdCQyTtVM7eED9JQxoC5dxf61dtgKMXLMLB74sT5FBaLbCw5YC3oAuF?cluster=devnet) Unpause: https://solscan.io/tx/2dV1McFJFkceBdqUqe6Nd2tgVNE5ts8ZBTS2p38fp4mu3DngcpRZCeeNbU2KzNwWUnZ8pY9uUnMEVktqo9CZCLfd?cluster=devnet ## Description This task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet/2025-10-24-mcm-pause-unpause-bridge make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-pause-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "mvDops5iMa5GbeMKsCDGBEhKC1qAZB5ykdCQyTtVM7eED9JQxoC5dxf61dtgKMXLMLB74sT5FBaLbCw5YC3oAuF" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "2NfRiW4jCQFtmwwvNYu1Qc69goRNKKz9eqhSGWF1q73m", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyedruQnKdZ5zsq58tU9mNmcSp7gwCLU9uvbgDHQXtEZC14akQGiQjbSc2x7PmjiWkdzxxY83AedgYMPDA3EbR9ZEA9i5nBYVKJpRRMbrA8kiq1T8G9dKgemL8r4a", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165231160440, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 165231155440, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9i", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 5974 of 178839 compute units", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success", "Program data: 3Q/UHSP8/04GAAAAAAAAAGIj+oCz+AVJqaxPHe6lTjmnSqj6j3SmITFGBxZRnU+PCQAAAHYZkdly0eyRAQ==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32764 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32764 }, "blockTime": 1761336900, "slot": 416847616 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "cGgrcRteKiBSpuyBUjq6GVYiJPCJGu6uVAzCru8dyRQpoqmB2wPhTRcY8Y6zoLXZB9UCj3EB6tfqUZJ7MimoNGQ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "EoJwHRF7CVKfSdiV1QJKb9KFu5ZZyn2J7Zg2K8bjjPfK", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "5gF2kHKRJyrwZLaKRWPftiqr14s8K76c62Vjfao1rnRu", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEtrMo9zLhJA3hJwXBE3PgkqVKHoUS5FuNnRLk9sVv6ZtDCS7N2G6ANePs8EycMYXr25nNknC1yTa12vcSE1q5cNoNeFQbxmcPArgB2h2f7twTnJ9JmBRLLqaUanjXtLe1Wq8eF7YyMGZUQoxj2TcfvLNMqBUoDBk3gBpskXFhpyfh4B3cmZj7rA3hQxyQq6ZhbQQ4NHX7CizupvSx8Ro4Kn3msaj4", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165229773440, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 165231160440, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXeIfQP//GsSjZE3UEkZHuAjHpvY5Dh1jspiXb/QnK79hQH+/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzBgAAAAAAAAAIAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 107367 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 107367 }, "blockTime": 1761336880, "slot": 416847564 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "56zGzwrHv41w6tN3cJ9jeTtEES6TxnPCAXWoCf9gPCQAUjkEoSjqjWHwVv6wpTkRfsBcAvP4msr4WrdHYU79uxRv" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "9usxoHhmhddnPZwiy8ZJVh8b9yjDs1WY5bQzUKkgP6g9", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKAUnNVyHHSYyFvJ6BugKvySvMXZB21cd9nNn6qTE6HwLHMQfKr8eVNLuAKcsjy8wvdR4PgR9cdvRPamSd4RAmeMuXg6jZqok233WA8cpr5Nu3hGzzAzwQ93KjwQvFDfYDbAH7aH6QdL5SanES91nYzCmGNPxEdt4GK8XSGjQ3EP5HhDaGdwiR9wHkw13iaGTZ1q6GmSJbcyCbzUe61MRKM33AhW3GxrxBMtqNuYjDvd6t9wCNoXbnVQFgQkco7VdUJ5TGTbjDcRSqNchW3tmnMpeXqRUh6Uy3eX44HVdfm4JvLTbNqfdgPD1jNvhQCPpnU", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165229783440, 2345520, 1141440 ], "postBalances": [ 165229778440, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 8385 }, "blockTime": 1761336849, "slot": 416847482 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "55Kufm9g9YDhjxNcuFzPvkVNVHFLJ85K3GLuYHfb32zKiWm7iHQD7ZLbe8jWWKedUu338DeALK859PWAh4ADgPWd" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "4pwedjTc4qJh9LM2njp7BDrJmkuhqt1JtUnKSGFnhezA", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDkYv4NhRzufW8fuNSsUQVPX5jgHb7f3TCydMQkfhmGNhYAtXpb", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165229778440, 2345520, 1141440 ], "postBalances": [ 165229773440, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7571 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7571 }, "blockTime": 1761336865, "slot": 416847523 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2kR6TL7XNeqLmxYCPykgmNZwY5AUWprc5ykj8J2g1MRaLUeaVT1i2AEUpZwqBKt3QXRAL1Ey7Dkj6J3yJzHbRafZ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "jW6CxzynV2uwkiSqnRhexE3HvTJUfvnzd3XesW4ETR6", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "EBju6VuMqULGPotdgJoAg8N5at8Rb2TXGKwdh7vPdK2D", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaowk44gj2rK7ywhfFDU5HCUHUEoZdBzKWGz18fbgAfZG13pHUKLN", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165232133960, 0, 1, 1141440 ], "postBalances": [ 165229783440, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10985 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 10985 }, "blockTime": 1761336834, "slot": 416847443 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-unpause-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2dV1McFJFkceBdqUqe6Nd2tgVNE5ts8ZBTS2p38fp4mu3DngcpRZCeeNbU2KzNwWUnZ8pY9uUnMEVktqo9CZCLfd" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "ELkd4BRz6THKeiUBrrzQPZRkCcZVx8UXcUeEbXnK7dSj", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzTC92rH6hGxoWNTJqUsvcpKZrae9YQLG9VYGDTPbHZKyrqzXJz5ybUEqcETfAm4NoLWqqxvcukLXiUM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165231155440, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 165231150440, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9h", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC consumed 5974 of 179120 compute units", "Program 7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC success", "Program data: 3Q/UHSP8/04HAAAAAAAAAGIj+oCz+AVJqaxPHe6lTjmnSqj6j3SmITFGBxZRnU+PCQAAAHYZkdly0eyRAA==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32483 }, "blockTime": 1761336999, "slot": 416847874 } ================================================ FILE: solana/devnet/2025-10-24-mcm-pause-unpause-bridge/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761410561, "instructions": [ { "programId": "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "data": "dhmR2XLR7JEB", "accounts": [ { "pubkey": "4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] }, { "programId": "7c6mteAcTXaQ1MFBCrnuzoZVTTAEfZwa6wgy4bqX3KXC", "data": "dhmR2XLR7JEA", "accounts": [ { "pubkey": "4nLSFFbRMa1dYz5kE5nNrujqjiGeMh1yMfXuP4qDGZ2g", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 6, "postOpCount": 8, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/.gitignore ================================================ chainlink-ccip/ ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Program Upgrade ## Overview As a Facilitator, you are responsible for: 1. Preparing the program buffer 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet/2025-10-22-mcm-upgrade make deps ``` Ensure you have: - Solana CLI installed and configured - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured - The compiled program binary (`.so` file) ready ## Phase 1: Prepare the Program Buffer ### 1.1. Obtain the compiled program Get the compiled program binary (`.so` file) that contains the new version of the program. ### 1.2. Update .env for buffer upload Set the following in `.env`: ```bash PROGRAM= PROGRAM_BINARY= ``` ### 1.3. Write buffer ```bash make write-buffer ``` This will output a buffer address. Copy it. ### 1.4. Update .env and transfer buffer authority Set the following in `.env`: ```bash BUFFER= MCM_AUTHORITY= SPILL= ``` Then transfer buffer authority to MCM: ```bash make transfer-buffer ``` The buffer is now controlled by the MCM authority. ## Phase 2: Create and Commit MCM Proposal ### 2.1. Update .env for proposal generation Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json ``` ### 2.2. Generate proposal ```bash make mcm-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 2.3. Review proposal Open and review the generated proposal file to verify: - Program address matches `PROGRAM` - Buffer address matches `BUFFER` - Spill address is correct - Valid until timestamp is appropriate - All instructions are correct ### 2.4. Commit and push ```bash git add . git commit -m "Add MCM program upgrade proposal for " git push ``` ## Phase 3: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make mcm-sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 4: Execute Proposal ```bash make mcm-all ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal ## Phase 5: Verification ### 5.1. Verify program on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still `MCM_AUTHORITY` - The execution transaction is visible in history ### 5.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/Makefile ================================================ include ../.env include .env include ../../Makefile ## # Project Setup ## .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # MCM Program Upgrade Workflow ## # Step 1: Clone and patch the MCM program .PHONY: step1-clone-patch-and-build step1-clone-patch-and-build: @echo "==> Step 1: Cloning and patching the MCM program..." rm -rf chainlink-ccip git clone --filter=blob:none $(MCM_REPO) chainlink-ccip cd chainlink-ccip && \ git checkout $(MCM_COMMIT) && \ git apply ../$(ID_PATCH) cd chainlink-ccip/chains/solana/contracts && \ anchor build -p mcm # Step 2: Write program buffer .PHONY: step2-write-buffer step2-write-buffer: @echo "==> Step 2: Writing program buffer..." make sol-write-buffer # Step 3: Transfer buffer authority to MCM .PHONY: step3-transfer-buffer step3-transfer-buffer: @echo "==> Step 2: Transferring buffer authority to MCM..." make sol-set-buffer-authority # Step 3.5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx) .PHONY: step3.5-generate-set-buffer-authority-artifacts step3.5-generate-set-buffer-authority-artifacts: @echo "==> Step 3.5: Generating MCM set-buffer-authority artifacts..." make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json # Step 4: Create upgrade proposal .PHONY: step4-create-proposal step4-create-proposal: @echo "==> Step 4: Creating MCM upgrade proposal..." make mcm-proposal-loader-v3-upgrade # Step 5: Sign proposal .PHONY: sign sign: @echo "==> Step 5: Signing proposal..." make mcm-sign # Step 6: Execute proposal (signatures + set-root + execute) .PHONY: step6-execute-proposal step6-execute-proposal: @echo "==> Step 6: Executing MCM proposal..." make mcm-signatures-all make mcm-proposal-all ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/README.md ================================================ # MCM Program Upgrade via Multi-Chain Multisig Status: [EXECUTED](https://solscan.io/tx/5tR6S66cJri7xyCBaw6UxS1hVtyyb49McHJ5aoUxvzKA3jqMUA71e8f83MCHaLo9CXDBLrwA7vD16QqNWSte51VU?cluster=devnet) ## Description This task upgrades a Solana program using the Multi-Chain Multisig (MCM) governance system. The upgrade is performed by uploading a new program buffer and creating an MCM proposal that, once signed and executed, will upgrade the program to the new version. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet/2025-10-22-mcm-upgrade make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Review the proposal The Facilitator will provide you with the proposal details. Review: - Program being upgraded: `PROGRAM` - Buffer address: `BUFFER` - MCM Program ID: `MCM_PROGRAM_ID` - Valid until timestamp: `MCM_VALID_UNTIL` These values are in the `.env` file and the generated `proposal.json`. ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5tR6S66cJri7xyCBaw6UxS1hVtyyb49McHJ5aoUxvzKA3jqMUA71e8f83MCHaLo9CXDBLrwA7vD16QqNWSte51VU" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 5 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid", "AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111" ], "recentBlockhash": "BFtzmrTRVA8v83ZuKCpLeA33gQxGxa77iipAEHyntGAc", "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbeTYXTXtAFLMuefzYMzfc5iVepi9FUE3U6FYpncB7muXoDFV9QhunR9BZ8cAg37JHT1hxv1a", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165336814160, 4134240, 1252800, 6670665840, 1141440, 3367672560, 3435925880, 1343280, 1, 0, 1009200, 1169280 ], "postBalances": [ 165336809160, 4134240, 1252800, 6670665840, 1141440, 0, 6803598440, 1343280, 1, 0, 1009200, 1169280 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04DAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 46434 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 46434 }, "blockTime": 1761327574, "slot": 416823343 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4a1UXZkH66LZbubLeyJXpBkLcYZFYid7fu8MWRx6D4vawqewziy4XC6vhhuVtnNZt4MJYA1g1zE3THvoT9oAxAbk" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "A8yzGTMsY1yDa7T3LLszXyZcMVVTTii5nydkVrQgeqX6", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "GJ5Vdx4iBbYxcqSdAXKLLguXiC9msg4AJmxbV9CerhhF", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9ne7cdHwcQb8Gz5WRqZq2riZi1vDtL4y5GVVAYxPhEcTpQsTqecT3bsea1ozu2LzCdHM8oEz7M3btpoVUSugi331rroMu4zu7YAfcHiuVtTkPUnoZUngTX3ujHypgBqSCn2FxZ1tJDJvajnZkzPJswTEJoSHyrsLzQ4fuYykt6A1giru64U", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165335427160, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 165336814160, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRoot", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXd8jy1Kgy7cRLXCkTYNC66mUa89v0d7Y7rHXLjIQE6bzcjm/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAwAAAAAAAAAEAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 103777 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 103777 }, "blockTime": 1761327558, "slot": 416823302 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4rahewGW1Jq2TJri6XQf6sybgPQxkSFD2dzNCNUsYsEmadwYqto8oUoKZQ8cEd6cUX6s86QvRTyVx5UTy4bXyQEv" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8SZ8rG2GnAJ9y2cXwdmWYMfvT5LeweedyAbxtkt2qw8H", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuK8SxfmCFAVRVgZNa2JnJydTwmHvP65bQ5P6XTytBkTcwc764DK38nSLVGphc6RrXMXLCDm24KgDZvNxAVxDfvEQwWxfj1EUBp6vJURdL6H6obYUP4LVfQo53LDP7TfmNw78xQnkkNYM1k87oHcriMYEiDF7NLLyJ6cQa3pKrc6XNMxfMjzhExMtt6hwteJWtrrsBradj6nJEqRSdMFJaozeCU7k7a6ZiE7Mu4D623pv1UHNRgwbq7D32Ys7UpkKfXU32wGQv7WwoGhFppzu8hCRXx1Xc1b2W1Vd33ZYazTUgnzk1TURZ7GuAc5pbyMQRQe", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165335437160, 2345520, 1141440 ], "postBalances": [ 165335432160, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1761327528, "slot": 416823225 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2XPpnxCZf4dBbh5jy9gxuw8MhkZAEYU8aGtBLMQyhB4VzmDG5fzj1WWKCCjDfCSNZrbvNsJwf96dQ3n5p9UhoiKY" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "CR6V2rdhzMQXomT8UVN2AEj9wcSq8pabwwHwg3KuGPNL", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDfJCn1PWQv7VTBXmGAAyA9tLwh5KfNrEGVvC32eZBuhhNbvdfu", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165335432160, 2345520, 1141440 ], "postBalances": [ 165335427160, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4570 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4570 }, "blockTime": 1761327542, "slot": 416823262 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "YKhSCTnHpXgKjQNnNdmVpdH91s8t8HB46MA6mo2iVTsLwYYMcRucdv6Rmia6JgDK3i6PSGnrpSuxE89F3k4nc7b" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "yb8oLewR5V9gidvHEqUj81sUF8ppdS2traHQenD2z7N", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "BabRafUhdQf6M4zX1EqRTGacmPZ3oKLKwyqsvnHK9n67", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaoYZ7rSfvLH6gwQRsvBnKPa7KMq3UyzqyAXhTHiD6pL1rKank8yp", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165337787680, 0, 1, 1141440 ], "postBalances": [ 165335437160, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7983 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7983 }, "blockTime": 1761327513, "slot": 416823187 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/artifacts/set-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3ULQf5AQaEyBzwMREibauZ3j8vnFBBsFNR8Py9qqM5qA66VfZTFmNNQMc9MyUMEZLtp2ytWHcdjS3NtbwQdZ74wr" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "2sDMtmZP8kZkmrCnNfnCENE21cbsyT7244ANBy5RqwF8", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165337792680, 3367672560, 1, 0 ], "postBalances": [ 165337787680, 3367672560, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761325291, "slot": 416817432 } ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/patches/id.patch ================================================ diff --git a/chains/solana/contracts/programs/mcm/src/lib.rs b/chains/solana/contracts/programs/mcm/src/lib.rs index a2e1d0b3..f2420a45 100644 --- a/chains/solana/contracts/programs/mcm/src/lib.rs +++ b/chains/solana/contracts/programs/mcm/src/lib.rs @@ -1,6 +1,6 @@ use anchor_lang::prelude::*; -declare_id!("5vNJx78mz7KVMjhuipyr9jKBKcMrKYGdjGkgE4LUmjKk"); +declare_id!("Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX"); use program::Mcm; ================================================ FILE: solana/devnet/2025-10-24-mcm-program-upgrade/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761404616, "instructions": [ { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "Ca93fFb5tQR14XzNpvBi6WNTuPHWZLNwoZ3hu6EErgDF", "isSigner": false, "isWritable": true }, { "pubkey": "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX", "isSigner": false, "isWritable": true }, { "pubkey": "BqBKeo3AuEwbuXKn6z8VCuUhdXtW1Hre19kNigryayid", "isSigner": false, "isWritable": true }, { "pubkey": "AFs1LCbodhvwpgX3u3URLsud6R1XMSaMiQ5LtXw4GKYT", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 3, "postOpCount": 4, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/.gitignore ================================================ bridge/ *keypair.json ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: install-bun install-bun: curl -fsSL https://bun.sh/install | bash .PHONY: deps deps: install-rust install-solana-cli install-anchor install-bun ## # Deployment Workflow ## # Step 1: Clone and build bridge programs .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning and building bridge programs..." rm -rf bridge git clone --filter=blob:none $(BRIDGE_REPO) bridge cd bridge && \ git checkout $(BRIDGE_COMMIT) cd bridge/clients/ts && \ bun install && \ bun run build cd bridge/scripts && \ bun install # Step 2: Build programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." cd bridge/solana && \ anchor keys sync && \ cp target/deploy/bridge-keypair.json ../../bridge-keypair.json && \ cp target/deploy/base_relayer-keypair.json ../../base_relayer-keypair.json cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../bridge-keypair.json \ --base-relayer-program-kp ../../base_relayer-keypair.json # Step 3: Deploy programs .PHONY: step3-deploy-programs step3-deploy-programs: @echo "==> Step 3: Deploying programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program bridge \ --program-kp ../../bridge-keypair.json \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/bridge-deploy-artifacts.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program base-relayer \ --program-kp ../../base_relayer-keypair.json \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/base-relayer-deploy-artifacts.json # Step 4: Initialize programs .PHONY: step4-init-programs step4-init-programs: @echo "==> Step 4: Initializing programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol bridge initialize \ --program-id $(BRIDGE_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --remote-sol-address $(SOL_REMOTE_TOKEN) \ --eip1559-target $(BRIDGE_EIP1559_TARGET) \ --eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \ --gas-per-call $(BRIDGE_GAS_PER_CALL) \ --gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \ --protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \ --buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \ --base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \ --base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \ --base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \ --partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)" output=artifacts/init-bridge.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol base-relayer initialize \ --program-id $(BASE_RELAYER_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \ --eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \ --min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \ --max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \ --gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)" \ output=artifacts/init-base-relayer.json # Step 5: Print SOL vault .PHONY: step5-print-sol-vault step5-print-sol-vault: @echo "==> Step 5: Printing SOL vault..." cd bridge/scripts && \ bun cli sol bridge sol-vault \ --bridge-program $(BRIDGE_PROGRAM_ID) # Step 6: Fund SOL vault .PHONY: step6-fund-sol-vault step6-fund-sol-vault: @echo "==> Step 6: Funding SOL vault..." make sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json # Step 7: Fund the gas fee receiver .PHONY: step7-fund-gas-fee-receiver step7-fund-gas-fee-receiver: @echo "==> Step 7: Funding gas fee receiver..." make sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json # Step 8: Transfer upgrade authorities of the bridge and base relayer programs .PHONY: step8-transfer-upgrade-authorities step8-transfer-upgrade-authorities: @echo "==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs..." make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(GUARDIAN) make sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(GUARDIAN) make sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) # Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx) .PHONY: step9-generate-set-upgrade-authorities-artifacts step9-generate-set-upgrade-authorities-artifacts: @echo "==> Step 8: Generating set-upgrade-authorities artifacts..." make sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json make sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "V24Ff153Np2U5CGVfPVGWtVY883G9wfAoyXRv7mQFz5AVA2mM8hmBVGBhPhNwcHUfLYiEmVTshPWJj8YPesiF7G", "4kK2SkCrT38HuSbXifut8rzwJ5bVUPUfnxk6LqBbgqX24ZK5ar8h3xbPnJXC39k9emABRGy4p63npsQ5DxC8xppU" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn", "231cgmSHMsD86HZaQQYp9Y6Zgzzg46o2xYJw4J4ecaxt", "GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "B3SSeTnqwUYQMXZmzSMoQt7KnjTnpqq7S7WLqCSvNEk1", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 3, 1, 2, 7, 6, 4, 0 ], "data": "3Bxs42J4x6iEtSZM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 205032763880, 0, 2098391280, 0, 1, 1, 1169280, 1009200 ], "postBalances": [ 205031612440, 1141440, 0, 2098391280, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 3, 2 ], "data": "11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1761084647, "slot": 416191475 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/bridge-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "5uHCbr3GRZqywghfi7mW5iaGxqBdw3BkMEpXcyQeADgYDBY8R7aAoBEdvV5eYKJEXpZoq3V3EybD3HfGjkzro3YM", "4vqLMGm6kmERsRDSfA3cEPYEC4RnMm2ZdbiS7yYG5zA7S9Yz4tfRHTavfQgCCARsJgr6Hick1pa9SJykvuATYHd9" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "GxwFaRt1gSfS7XnVrg1h7iPsL8aUGSeYKYFEMsKPCEmz", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "G95Y4bgACv87Gb9ddcMYZnUxLKgFhKm1PAVKFQowjSHq", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 2, 1, 3, 7, 6, 4, 0 ], "data": "3Bxs4WN6jLMpcx3h", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 207133806600, 0, 0, 6120992880, 1, 1, 1169280, 1009200 ], "postBalances": [ 207132655160, 1141440, 6120992880, 0, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 2, 3 ], "data": "111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1761084637, "slot": 416191448 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/fund-gas-fee-receiver.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3pR53TEfdATSLDkzko9WJe37EDy9uGJRGRwVCs8mnsDJ1Cv3RZSscLf963YJK7ojnbKz43wyjwcuvF1RiV8gsmS9" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "11111111111111111111111111111111" ], "recentBlockhash": "4THvpBBmfSBUWgDqya2GSyF7quAb9aD3Lwx8tJqZgrBb", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs4NN8M2Yn4TLb", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 204619053800, 100450000, 1 ], "postBalances": [ 204609048800, 110450000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761088975, "slot": 416202747 } { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3rUb3zFY6G1APF1z5rPobKA5YMJSci8TtWN2gTPWZVWrFW1M8aBeb2TisHyURSZKAj5ba4sWT1wBLAa1euyaeW84" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "11111111111111111111111111111111" ], "recentBlockhash": "GjXMA5qncMns9KbpxUQWJgXNU18MFNNefgQRJaDzzMSh", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 204609048800, 110450000, 1 ], "postBalances": [ 204509043800, 210450000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761088983, "slot": 416202766 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/fund-sol-vault.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "4tRRxR77nANdQBzr3ouuX3CgwFZkoNN5qtFDkTLXn1RhptdJFpyUQvVjoQhwezCHsv2cRFUDjTjU1B3YqBzTwGto" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FD2QLajrw4AN6RsAcU4f2WjrwihVBscfHSqrvh1FqBNm", "11111111111111111111111111111111" ], "recentBlockhash": "6Z3D9VcniHa8qW89KLY9nypJyVBYn9vvJGXrq6kxWM67", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 205024976520, 0, 1 ], "postBalances": [ 204924971520, 100000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761084995, "slot": 416192382 } { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "48YnWk82kuxxx8iA84CGxGvxGAKnfYLqS4WwYDG89EWLNJkPoJat3hp5YbzPmtEvvgQLA5RqvCWL5fDhPFEyWBc3" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "6HmCU5ywhbmWtvA3LAuq4t1yMpmU6y4g3LpbjvCS5kmf", "11111111111111111111111111111111" ], "recentBlockhash": "4tRtYGprkhz2jcc9a9VZiwtkt9gjmki6SvRY9zqmh9Sr", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 204924961520, 0, 1 ], "postBalances": [ 204824956520, 100000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1761088402, "slot": 416201251 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/init-base-relayer.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "D6EzmVKGiUU1hrKvnS3i3Y9vaQYF34TrH3dtnW79y7WQGtRp2kQrkggcaZQqkSTJoDbC4qJYVVt76CX8FLE3EF6" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "CbQonYpF6fuQ1UShYNEm9fmAZ3nTZWWUmyeZ9gQkGMuF", "11111111111111111111111111111111", "ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn", "GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2" ], "recentBlockhash": "AQuj2NoVrKcBmJRMZe7dX5Z4xgen6Jb5wEKaA2qTTnpW", "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 0, 1, 4, 3, 2 ], "data": "EGobdm29j93Jy1Ykas1QRvcNdsGgoTrZJJdBA9qei7nQKrvHDrnVgbwrHHwndxDfWV2vqJ5fV7XXKPsSb5nH8FTUpf1LxP28bpyNCRJLWc6xRkSFA5iq9BnUoUn1e1hifsH146NNpxY1S4kfJFFhTwP2XUsXiGXDq9mhnkTKyxBTEgBgNgsg7ZjEKV", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 205027041680, 0, 1, 1141440, 2098391280 ], "postBalances": [ 205024976520, 2060160, 1, 1141440, 2098391280 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11115iFkVMXPaap7j41Z1pua1WKWeEERnnUwf84CzDCxuy3qLE36dAQDESzRZiP3RSTd1t", "stackHeight": 2 } ] } ], "logMessages": [ "Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn consumed 14370 of 200000 compute units", "Program ETsFnoWdJK8N7VJW6XXjiciyB2xeQfCXMQWNa85Zi9cn success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 14370 }, "blockTime": 1761084921, "slot": 416192189 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/init-bridge.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5LnA55YfR1GTRX2T3YPGXCbfotHmiy6fjocSwuPrMX5soNBne3bRMz68vNNcDTABgzebgnz54S8nUQK5RqAMPXC8" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "11111111111111111111111111111111", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj" ], "recentBlockhash": "9Kv4MgEw3piZy4AxjvxVLnnrBQuRtN3B3DRbEsTXcW2p", "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 0, 1, 4, 3, 2 ], "data": "w6cHVNZ7a5rQv5VPE63MBWcxFcdsxgLGURBWWHvgRrRcnXyygG5zD3E3ER16Da2Ny2GcjerMoXJcyuhuzGWcB5M4yHyMsMDnbTWbYbDKVu49gQxsDdrak7tWtFNZkMJcxPDHyYuEr7X4Zmouq6daWvJosMs5mscEAhARc9Q6AXbBScZQU8hWJUdNya4YmAaNSsfJ7BipW7xRdApeNyApM1VbeAdPjfz44eRMCirVnz3W4cCqturmM7djk9zWeAwb9YdJfiKz15XjAs2tcGCvkKLFSVHZTQi1XFdBXWzsKWgQfbbxrmeY9wh1XfFf7o5VqN9GzRuR4U3q5GcbM1JP1qUpQYvWSN5a5HDXLJQgaBELJj1SLEbFK6F7Q1qP511yABrn6SbkFNhH3FQPrJRYmrxhJgCxaccZ65mfWgut72KhWcGBz4jUMvmUuJYf6zK4K5cirHxGWR1htbCcQnZbPyP9x2qJf1XpGeaZWSuEckq8A6oqpUx7LxqqJdT1y2Ko6pdJwDxYAim5AhEqv9kuPndMA3nAcyemtERMfdwafDysNZTDXWsRPizkTFNKWgDbqCKLMa1N5xVozoxFAxmY3Wb74qUNVFSPg2gjKsXChmsdQxRuTvH3JrKhHkd4rhqK7qbsSfuaAdb7gyrnJGHvfBhkK", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 205031612440, 0, 1, 1141440, 6120992880 ], "postBalances": [ 205027041680, 4565760, 1, 1141440, 6120992880 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "111112RZKQ4yMXN8zMsggLRz2TsPDJenaTqTJdfM1aGrNvQQife1DPCsoWvnSMoVzkrHBq", "stackHeight": 2 } ] } ], "logMessages": [ "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 14663 of 200000 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 14663 }, "blockTime": 1761084919, "slot": 416192185 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2aBvRfVuPFstjwvLxqbmXN7cgecmhRk15nJZmdA8Q3kr1tRyd1ipc9Fz77zbn74JW2bnY9kRhraNmwuxA3SyxRqM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "GbPeyrpcZx1QPnrB1igMPvDK7h6VFEhHR8JVaYGiGXb2", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "6XtukxFKzjuLFGH2ghPDQQPUxnhL32Rr2V2TYWo6znRM", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 204924966520, 2098391280, 1, 0 ], "postBalances": [ 204924961520, 2098391280, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761085265, "slot": 416193085 } ================================================ FILE: solana/devnet-alpha/2025-10-20-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4oYJZxVrE38e31mRwfwB7QjqcTfnvk7BW4ebFMXnuxDB18vMHrxb8EM84NHwSDefqNgDgTxjy5TLhcynKxvr8H8e" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "CU2JNHmzzKVo9KqxrD8YqqWDg5vv7QJBUyTDHUDzBmj4", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 204924971520, 6120992880, 1, 0 ], "postBalances": [ 204924966520, 6120992880, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1761085002, "slot": 416192400 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Pause/Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge pause configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with bridge pause configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge configuration BRIDGE_PROGRAM_ID= PAUSED=true # or false to unpause ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - Bridge program ID is correct - Pause status is correct (pausing or unpausing) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge pause/unpause proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal ## Phase 4: Verification ### 4.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (paused or unpaused) ### 4.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## # Step 1: Create pause/unpause proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating MCM pause/unpause proposal..." make mcm-proposal-bridge-pause # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing MCM proposal..." make mcm-signatures-all make mcm-proposal-all ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/README.md ================================================ # MCM Bridge Pause Status: [EXECUTED](https://solscan.io/tx/2aRigbkBHkEQsgmg8zKum9C7V6ggKoGN69Wz3areFSdjFXVfRt6N4XbvejTwt7pXX9R1ns6LUMkLArSAKnUnhXCe?cluster=devnet) ## Description This task pauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2aRigbkBHkEQsgmg8zKum9C7V6ggKoGN69Wz3areFSdjFXVfRt6N4XbvejTwt7pXX9R1ns6LUMkLArSAKnUnhXCe" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "6sw8v8N3dtFobLjS8hPV8X6xotWo3dNAacMPENbwG9op", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSMcJa5oVx1U32ckipKhQiEdmFVcqqM3T3h3L7RWayUEJZxmB3UZ5BxYfLHSkA7fxhZwUtEgSQZkTTh", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197830217840, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 197830212840, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9i", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179120 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04AAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAQ==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32483 }, "blockTime": 1761230938, "slot": 416572370 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2Fphi1YEYXaUFPkLPHRjfkm1pnVmGuDg2NH3ssu1kTEBJs6oA4wMev1R5m8wfjwz986NL5ifDnvikK6cCixHGQdi" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "ANwq6o5zFjitTKkNpC3t9EoGdv534A8HRwYiDAyMfV97", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "3e3Tr8o4eYHm681j4TyLvWneNXBnXfzDZEz9Lb5vcWas", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9ndrw5ftZVa9Ut68i2R5A83XmuTN63nzwBuGYCy6eoRbdcUXtihpzVKNoHVZXoNRgkLxtDapd65JPou1AxsWGpeNYjeYoyz9J48ieYtMAVkqqgdrac5icdycM2AbyWjuG7rmLx7psWnGGVCywpEBKUgbyCprBqZjfDU7yzDxEKi9LBERbqh", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197828830840, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 197830217840, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRoot", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXdcDaaOU89bXNxHMipV79XA/3l4iAfVtFBNd2FwlnhyDBeM+mgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAAAAAAAAAAABAAAAAAAAAAE=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 109779 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 109779 }, "blockTime": 1761230922, "slot": 416572330 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4MXWxSkzpQs2xPqcpgLbDFwdmKoDuuPaE6yomeVYjHZdwBCp1uFLPuYfxcCyeK3sU6ub4FB5PF6gtntSuzpfCsri" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "HjFZPx5PDhNw1HqksLvp92YPw78vgKrd5F8yd1mYCps7", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuK2uuF1HmcmPVoWak3Vqot8qdan3DXXugozzXZUZVEqp7kKCanJbX4buozQ7DBbpV1q8U7N7NScAgB3qse2zwuo19Uhc8LEySkh6YX53enxtCqsER5wfNttr1mudz6Agid76R7crhvh5HjDSKkfpbKktZbAukwqMkPcvR5YG6HcR5fBZotJjRiuqEdbEYozaPXyVqHxQ9Rxwty8pBAcCDoPHEVcQwFeMX2uw3Fz2dama11xq3sussJaNgHXkHAs1t3EoCMj6nZ2dthdKqKD6LKwum54oWJrmUyegyhCbUx51EmbnSburfZWysYTAG3k7bBf", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197828840840, 2345520, 1141440 ], "postBalances": [ 197828835840, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 8385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 8385 }, "blockTime": 1761230891, "slot": 416572248 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3aHh5DZKsXmtdFZdc1JzBsRgmdCD96BbUdH4rTGukiTSRbBybfsusrE5CnKPH53Ww9Pm1YJJPxx2jfUVYk3Ljamn" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "75kNxhGSfPez9SpMgmRE3X8sYYBRaTUR9SLCM3g6qPMY", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDQyt9aDnPnRwvaVvGc784iLDGUFRfYuxxYVxuqsn4DmJ1fqZbM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197828835840, 2345520, 1141440 ], "postBalances": [ 197828830840, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7570 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7570 }, "blockTime": 1761230907, "slot": 416572289 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4UFkU47vYCMXJix1nL7gWRemJArnNjbiSJTAAriCmPCmHEbrP2ZJ8EHdd9DsGkiBMPHTcxEnD8KGFd3VtZ9PhUEn" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "HM4XAF5my3vZzKHC8tLaVf7Pujw9fFcW8F69m692P3ii", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "CiZ5DqvTaARmQ2GZGBBXeRw1dCvzhi11NGawo862bpS7", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNanTNFddazsHC9nKojgAFLhZKVUiS5UmGTbH6XMzfTcPjjDC4N8ta", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197831191360, 0, 1, 1141440 ], "postBalances": [ 197828840840, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 10983 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 10983 }, "blockTime": 1761230877, "slot": 416572210 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-set-pause-bridge/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761250327, "instructions": [ { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "dhmR2XLR7JEB", "accounts": [ { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 0, "postOpCount": 1, "overridePreviousRoot": true } } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge unpause configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-23-mcm-unpause-bridge make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with bridge unpause configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge configuration BRIDGE_PROGRAM_ID= PAUSED=false # or true to pause ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - Bridge program ID is correct - Pause status is correct (unpausing) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge unpause proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal ## Phase 4: Verification ### 4.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (unpaused) ### 4.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## # Step 1: Create pause/unpause proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating MCM pause/unpause proposal..." make mcm-proposal-bridge-pause # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing MCM proposal..." make mcm-signatures-all make mcm-proposal-all ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/README.md ================================================ # MCM Bridge Unpause Status: [EXECUTED](https://solscan.io/tx/2a23mhJfhs9uqrbXf7FvqgL38A5GgTUycqFWxXhiaMY6k8PD5YtSSe2EX9QXfH4cpJtsS8TPvXp9ep1AnBsgt8Qs?cluster=devnet) ## Description This task unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-23-mcm-unpause-bridge make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2a23mhJfhs9uqrbXf7FvqgL38A5GgTUycqFWxXhiaMY6k8PD5YtSSe2EX9QXfH4cpJtsS8TPvXp9ep1AnBsgt8Qs" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "diWKQ7P2oNPhbvrFgCL8xpsarX1MGhkK7MAWGVnkPC5", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSbUWeiAz3RZbhRmcSCLKtG3WCgLkq6aEiuE9vgKYkfnEpWBct1e5ubWQYKa7iLdAtA2C3q362WnonV", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197825900280, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 197825895280, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9h", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179123 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04CAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAA==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32480 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32480 }, "blockTime": 1761252055, "slot": 416627224 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4eoHurAtdtnvsDg2GWMJ9DeuN4GJrw9UHM1RU23eKTuZttdfcaga8QopFy81dV48STtJ7cyL5iQdSiG8vKmsha7g" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6HifCcJdmvMf5ag3QdRbUqNSrtUNL2QZYit4rfN1JRGb", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8mw85xxEg89Faqp1acMEVCEi6aWkicGPHGeKwMU2j5j5", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "K9UBFxzzmUF86odsdKWb6A2fuzRXx1VQLqWaNmspdxDzEh8pmM5J9neZfSbVScWJEM2cXfkYor24eS5Aj5F49QmNDwaj5fc75yb51Y3YvEUwKFMkTjnU3a2tQjbxQog2sPNtDmz5171gdNdKJNDN1p5dygGzJHsuDkT9ww3zeKNv18MhMp76jMD2rdJt8br59FoqeKKRC6apCje93a4h7ZRSgEY1sTgx1Hr6MFY", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197824513280, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 197825900280, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRoot", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXe2O0TGCC21b3ObS8VNRQXCN7H7xfoHgKQDj0aw3ykpQZvE+2gAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzAgAAAAAAAAADAAAAAAAAAAE=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 109779 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 109779 }, "blockTime": 1761252040, "slot": 416627187 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4a3fq1DKgRZjgiLWLWJYyZJaU7TYvZZTJFQDKdu56ovDXvHBA8aNAtBXzKqpAisNWiSAqizzRiMGc2gq8t3cR4d7" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "3FZrUZ3wHvgpMFB8QNZDxqkvhXUtSfeqdSVUMp57dWvc", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKJGatnH7rNrkwbwaWiVNKJb2h31HT4Q271FCpdLf5YR7m2ELfbxfYoUYztvFcFhWnrvuvEvArhiy9KZsGgdDmtnfX67V5b4Vz2wfpvz6EytskQCFu9S7EJqW4usfwdtWV8g5GoJQXThgaLPjpZWMwGE63iGw9JNmbvq5Tfbm6esEfodvDRdwNLdrE3hKdKicEmPU8ubGb2mAVmr78cx7KzDketp32iNdhXFqY1V2JEx5MCHZdEGd3nd5xeoDHohajDUr42HhYhAoG8bsoeskAaXcr87gQP8C9Mroj4GNvwkFQngoerDAJ16nNWhDR7qBPp", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197824523280, 2345520, 1141440 ], "postBalances": [ 197824518280, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9885 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9885 }, "blockTime": 1761252008, "slot": 416627105 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "28dTVAUyT1S46eXXYPvGqy9jfXFo26YB2nnuFqTD2MiyWePd6Lx7cBaZZe7Eq9N3tTaWSZKwYtG3rYob9MugQumz" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "BFQDpprTFrEcaWoKGoitmNYuQveB9qkkjLPobLyCkBzk", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZE6hN3ZSrCUpzX73wYgZkGMcm785Xit6EZQshigzw1qTuHAsxZD", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197824518280, 2345520, 1141440 ], "postBalances": [ 197824513280, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9070 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9070 }, "blockTime": 1761252025, "slot": 416627148 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3TuyNM2GzDWCDYtbBFHJN2idySpizmLFaLnRUGXeqDSwnncK6eCiBUjXx8zgKsHRtSGtshfsJWSk1xxtUD1keyYd" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "FYNdCEb76QvMuSxj8sBN7XeAj9j9y1vVKtUNKfspoWzU", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "13ThL7LH3MjqrXA9KnJuamjNPJ6NqskJXWyqN8V2wbsa", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaqUfLm6AffPVsEif5K7vrUwtY1TQQDTunTBSUJmV39sJxscEwVTG", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 197826873800, 0, 1, 1141440 ], "postBalances": [ 197824523280, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 12483 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 12483 }, "blockTime": 1761251991, "slot": 416627061 } ================================================ FILE: solana/devnet-alpha/2025-10-23-mcm-unpause-bridge/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761330331, "instructions": [ { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "dhmR2XLR7JEA", "accounts": [ { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 2, "postOpCount": 3, "overridePreviousRoot": true } } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Pause/Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge pause configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with bridge pause configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge configuration BRIDGE_PROGRAM_ID= PAUSED=true # or false to unpause ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - Bridge program ID is correct - Pause status is correct (pausing or unpausing) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge pause/unpause proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Register Proposal ```bash make step3-register-proposal ``` This command registers the proposal: - Initialize signatures account - Append signatures - Finalize signatures - Set root ## Phase 4: Execute Pause Proposal ```bash make step4-execute-pause ``` This command executes the pause proposal ## Phase 5: Execute Unpause Proposal ```bash make step5-execute-unpause ``` This command executes the unpause proposal ## Phase 6: Verification ### 6.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (paused or unpaused) ### 6.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## # Step 1: Create merged pause/unpause proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating merged pause/unpause MCM proposal..." @echo " → Creating pause proposal..." @make mcm-proposal-bridge-pause \ PAUSED=true \ MCM_PROPOSAL_OUTPUT=pause-proposal.json @echo " → Creating unpause proposal..." @make mcm-proposal-bridge-pause \ PAUSED=false \ MCM_PROPOSAL_OUTPUT=unpause-proposal.json @echo " → Merging proposals..." @jq -s '.[0] as $$pause | .[1] as $$unpause | $$pause | .instructions = ($$pause.instructions + $$unpause.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \ pause-proposal.json unpause-proposal.json > proposal.json @echo " → Cleaning up temporary files..." @rm -f pause-proposal.json unpause-proposal.json @echo "✓ Merged proposal created: proposal.json" @echo " - Instructions count: $$(jq '.instructions | length' proposal.json)" @echo " - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)" @echo " - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)" # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." @make mcm-sign # Step 3: Register proposal (signatures + set-root) .PHONY: step3-register-proposal step3-register-proposal: @echo "==> Step 3: Registering MCM proposal..." @make mcm-signatures-all @make mcm-proposal-set-root # Step 4: Execute pause proposal .PHONY: step4-execute-pause step4-execute-pause: @echo "==> Step 4: Executing MCM pause proposal..." @make mcm-proposal-execute \ MCM_START_INDEX=0 \ MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-pause-proposal-execute.json # Step 5: Execute unpause proposal .PHONY: step5-execute-unpause step5-execute-unpause: @echo "==> Step 5: Executing MCM unpause proposal..." @make mcm-proposal-execute \ MCM_START_INDEX=1 \ MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-unpause-proposal-execute.json ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/README.md ================================================ # MCM Bridge Pause/Unpause Status: EXECUTED (https://solscan.io/tx/PXqdRH8rpBLfCy88BBKf6gDJhC5Z7gzDFnx4M2jVEBU27dEMbYzswczcp7LWtVQQhoNMjFG1326w4NcHFhEanhs?cluster=devnet) Unpause: https://solscan.io/tx/2cmXXwF3A3fWwFyUpNhktpYdwo8fftsxtGzP1BmaptHYuURiSWMgNmtgRpZmYLMq4VVSDUTQMdRJdtE4UBe6zE9A?cluster=devnet ## Description This task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-pause-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "PXqdRH8rpBLfCy88BBKf6gDJhC5Z7gzDFnx4M2jVEBU27dEMbYzswczcp7LWtVQQhoNMjFG1326w4NcHFhEanhs" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "2AAxYE3yMp7MNN23zf5g4zvtfGqUGBLpV83fytUropGJ", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyednnWbY87s8ZNNEFQzRcTkNWe36NDjwTh5wfxHGqSabGS8Ho1gr2a7g7aE1jAkGQHFt2a9aecWaUafPRg5HemtFviEizrkJuURiY62jkRmqPfFiefSFxYKWFDtX", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165335835640, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 165335830640, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9i", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 178836 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04EAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAQ==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32767 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32767 }, "blockTime": 1761335003, "slot": 416842656 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "43moQVWwUyh8zkHF29xTBem77agqKA5xqD2Mdo5WAQ1kSX8pAw6y7KFpUakL22yqGgLo6AeuNB3HHYMxrQ4xh3No" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "4ZwGCF1AX6PHwTrJhjSHxExCkQgejNdigpxfWstg49Pe", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "3JHpHbRYM6PP4sWvmUZV2T4Aai6b1Rr9TBz7cqnuyVzf", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEdC8gQcJhJnKvmRPJVTksRrWMCTMDNzkLRQp4zSS6xdmHKmdVEkqMymPaXnXd55r8YMiwttGQnL2kxRKXuXLaJwVLKHQXS67eyUNz44vNAAWVJtbBBrbjkzX9SZAj8wyrZ3UvE7sJ7gQwVQqktrGxgYVe81uLuigyUH4nYiczEAsHHRHYDmxvVWTqyPBX47y1qTUQD6efgnPuu25Ak6uCKVr56u9M", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165334448640, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 165335835640, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXcTx6nBPZ7WfYR/uDSiGEFJ+C8J2A3FQOBunqAcHzFRQgH+/GgAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzBAAAAAAAAAAGAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104364 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 104364 }, "blockTime": 1761334980, "slot": 416842596 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3twu8SU2RFU8rQmrXAX3GJNVr9ZvTpivfvwfsoCPT7oQ12mrTRJvZ7gKLHrjdrXdshC3ypwkifXAQA9hvuVVi2fT" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "7kfjNUENaJPDe6wae4VPTQNpqbKZfPaRLGNpBebwrDdz", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuJpc4a9mJ9cmaha6AoiyQsCHGxWdTMinYKPSK1LpWRTUcNjogx4vsshNDLzEBxdR9kjNBN55kbdptKV1VXQmTet8hZ4CMZ3y4B2uz9qbj1CjUxNMHn8hnYm9i7n5bPYLRmP2DjMG3BA9Nyi9pffMC21AvTSWvR5vyuiV63EkmesbeRkQ8QbZvgPnbtRAkDv5pCs2h8qre4kLTqnuXxUR3xf12fjEzwUu5h5jwrjgspGGDRfPAV4u9tDR7GGY6EtR9sJskDiPQWx8K4ysTPyhYNMxbSeUGL6fmxLCUAha3WpMjtYQwXkQfjbymLjPfU1oDUk", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165334458640, 2345520, 1141440 ], "postBalances": [ 165334453640, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1761334949, "slot": 416842516 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "25rhAwLzHpnvS9Qcn5WiQjbdSBfbQE3Jd4AtppztdFV4estHEfHR7yNKFh6MPywt7Zv1gQ55QtrgRioSbve1eeMV" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "Crbf2n1ugjfwMw1okBunvbChg94NP1hcXV9UihA363Ti", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZCs9koK1cZr7FShY3YeK7Sc81bFinGKKVJrJK7oopnNDdc4K2ns", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165334453640, 2345520, 1141440 ], "postBalances": [ 165334448640, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4571 }, "blockTime": 1761334965, "slot": 416842558 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2pYjLxx4QGrsP4UWqS1TejQ2QtZPqLPgyS9Wk4Rpx56kkzXWfrfSh8L2KqPS4kfJFXCvcVrRQK64V3TLj7JJmiQ3" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "EFHezdyZSJbmhTNRtwMg8gUKxt3dWKbQZfqcaEH88wZc", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "AshJKhew9C5uMKg46GXzXu8zqkU2ejy1bqr9QUmQnDnq", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNak2sqCCTHVhRd7Gs7nwzFxBudwd8pQDGHYuf6YoY1eR3ygyFcBiz", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165336809160, 0, 1, 1141440 ], "postBalances": [ 165334458640, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1761334933, "slot": 416842473 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/artifacts/mcm-unpause-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2cmXXwF3A3fWwFyUpNhktpYdwo8fftsxtGzP1BmaptHYuURiSWMgNmtgRpZmYLMq4VVSDUTQMdRJdtE4UBe6zE9A" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "BYHzHhs3zJGaPgpRLyXUcVUR4aKX8DiL87fK2LBYducj", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzSxGpmejDBYhwheHws1HheJA7dTRdNdzBat7s7kb6hkBcjA5iXQnHBejJkdGByNWebPDsqgo8417wXS", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 165335830640, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "postBalances": [ 165335825640, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9h", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPauseStatus", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 5974 of 179120 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04FAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAAHYZkdly0eyRAA==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 32483 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 32483 }, "blockTime": 1761335083, "slot": 416842868 } ================================================ FILE: solana/devnet-alpha/2025-10-24-mcm-pause-unpause-bridge/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1761410561, "instructions": [ { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "dhmR2XLR7JEB", "accounts": [ { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] }, { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "dhmR2XLR7JEA", "accounts": [ { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 4, "postOpCount": 6, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/.gitignore ================================================ bridge/ ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Config Update & Program Upgrade ## Overview As a Facilitator, you are responsible for: 1. Creating the bridge config update proposal 2. Preparing the bridge program upgrade buffer 3. Creating the upgrade proposal 4. Merging both proposals into a single MCM proposal 5. Committing and pushing the merged proposal to the repo 6. Coordinating with Signers 7. Collecting signatures 8. Executing the merged proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-11-14-update-bridge-config make setup-deps ``` Ensure you have: - Rust toolchain installed - Solana CLI installed and configured - Anchor CLI installed - Bun installed - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Create Bridge Config Update Proposal ### 1.1. Update .env for config update proposal Set the following in `.env`: ```bash # RPC configuration SOL_RPC_URL= # MCM configuration MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge config parameters BRIDGE_PROGRAM_ID= BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD= ``` ### 1.2. Generate config update proposal ```bash make step1-create-set-partner-oracle-config-proposal ``` This creates `set-partner-oracle-config-proposal.json` with the SetPartnerOracleConfig instruction. ### 1.3. Review config proposal Open and review `set-partner-oracle-config-proposal.json` to verify: - Bridge program ID is correct - Partner oracle required threshold matches intended value - Valid until timestamp is appropriate ## Phase 2: Prepare Bridge Program Upgrade ### 2.1. Clone bridge repo and apply ID patch Add the following variables to `.env`: ```bash BRIDGE_REPO= BRIDGE_COMMIT= ID_PATCH= ``` Then run: ```bash make step2-clone-bridge ``` This will: - Remove any existing `bridge` directory - Clone the bridge repository - Checkout the specified commit - Apply the ID patch ### 2.2. Build the bridge program ```bash make step3-build-program ``` This builds the bridge program using `cargo-build-sbf`. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`. ### 2.3. Write program buffer Add the following variable to `.env`: ```bash PROGRAM_BINARY=bridge/solana/target/deploy/bridge.so ``` Then run: ```bash make step4-write-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash BUFFER= ``` ### 2.4. Transfer buffer authority to MCM Add the following variables to `.env`: ```bash NEW_BUFFER_AUTHORITY= ``` Then run: ```bash make step5-transfer-buffer ``` This transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM. Copy the transaction signature from the output. ### 2.5. Generate set-buffer-authority artifacts Find the transaction signature from step 2.4 on Solana Explorer and add to `.env`: ```bash SET_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step6-generate-set-buffer-authority-artifacts ``` This creates `artifacts/set-buffer-authority-artifacts.json` which will be used in the upgrade proposal. ### 2.6. Create upgrade proposal Add the following variables to `.env`: ```bash PROGRAM= SPILL= ``` Then run: ```bash make step7-create-upgrade-proposal ``` This creates `upgrade-proposal.json` with the program upgrade instruction. ### 2.7. Review upgrade proposal Open and review `upgrade-proposal.json` to verify: - Program address matches `PROGRAM` - Buffer address matches `BUFFER` - Spill address is correct - All instructions are correct ## Phase 3: Merge Proposals ### 3.1. Merge config and upgrade proposals ```bash make step8-merge-proposals ``` This command will: - Merge `set-partner-oracle-config-proposal.json` and `upgrade-proposal.json` - Combine all instructions from both proposals - Calculate the correct `postOpCount` (preOpCount + 2) - Output the merged proposal to `MCM_PROPOSAL_OUTPUT` (typically `proposal.json`) - Clean up the temporary proposal files - Display proposal statistics: - Total instruction count - preOpCount value - postOpCount value ### 3.2. Review merged proposal Open and review the merged proposal file (specified by `MCM_PROPOSAL_OUTPUT`) to verify: - Contains both the SetPartnerOracleConfig instruction and the upgrade instruction - All addresses and parameters are correct - `postOpCount` equals `preOpCount + 2` ### 3.3. Commit and push ```bash git add . git commit -m "Add merged bridge config update and upgrade proposal" git push ``` ## Phase 4: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, add to `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 5: Execute Merged Proposal ### 5.1. Add execution variables to .env Add the following variables to `.env`: ```bash AUTHORITY= ``` ### 5.2. Execute the proposal ```bash make step10-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute both operations (config update + program upgrade) ## Phase 6: Verification ### 6.1. Verify config update on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet - Devnet-alpha: https://explorer.solana.com/?cluster=custom&customUrl= Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPartnerOracleConfig` - The partner oracle required threshold was updated correctly ### 6.2. Verify program upgrade on Solana Explorer Search for the bridge program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still the MCM authority - The program was upgraded successfully ### 6.3. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: install-bun install-bun: curl -fsSL https://bun.sh/install | bash .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor install-bun ## # MCM Bridge Config Update Workflow ## # Step 1: Create set partner oracle config proposal .PHONY: step1-create-set-partner-oracle-config-proposal step1-create-set-partner-oracle-config-proposal: @echo "==> Step 1: Creating set partner oracle config MCM proposal..." @make mcm-proposal-bridge-set-partner-oracle-config \ MCM_PROPOSAL_OUTPUT=set-partner-oracle-config-proposal.json # Step 2: Clone the bridge repo and apply the id patch .PHONY: step2-clone-bridge step2-clone-bridge: @echo "==> Step 2: Cloning and applying id patch..." @ rm -rf bridge @ git clone --filter=blob:none $(BRIDGE_REPO) bridge @ cd bridge && \ git checkout $(BRIDGE_COMMIT) && \ git apply ../$(ID_PATCH) # Step 3: Build the bridge program .PHONY: step3-build-program step3-build-program: @echo "==> Step 3: Building bridge program..." @ cd bridge/solana && \ cargo-build-sbf # Step 4: Write program buffer .PHONY: step4-write-buffer step4-write-buffer: @echo "==> Step 4: Writing program buffer..." @ make sol-write-buffer # Step 5: Transfer buffer authority to MCM .PHONY: step5-transfer-buffer step5-transfer-buffer: @echo "==> Step 5: Transferring buffer authority to MCM..." @ make sol-set-buffer-authority # Step 6: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx) .PHONY: step6-generate-set-buffer-authority-artifacts step6-generate-set-buffer-authority-artifacts: @echo "==> Step 6: Generating MCM set-buffer-authority artifacts..." @ make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json # Step 7: Create upgrade proposal .PHONY: step7-create-upgrade-proposal step7-create-upgrade-proposal: @echo "==> Step 7: Creating upgrade proposal..." @ make mcm-proposal-loader-v3-upgrade \ MCM_PROPOSAL_OUTPUT=upgrade-proposal.json # Step 8: Merge set partner oracle config and upgrade proposals .PHONY: step8-merge-proposals step8-merge-proposals: @echo "==> Step 8: Merging config and upgrade proposals..." @jq -s '.[0] as $$config | .[1] as $$upgrade | $$config | .instructions = ($$config.instructions + $$upgrade.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \ set-partner-oracle-config-proposal.json upgrade-proposal.json > $(MCM_PROPOSAL_OUTPUT) @echo " → Cleaning up temporary files..." @rm -f set-partner-oracle-config-proposal.json upgrade-proposal.json @echo "✓ Merged proposal created: $(MCM_PROPOSAL_OUTPUT)" @echo " - Instructions count: $$(jq '.instructions | length' $(MCM_PROPOSAL_OUTPUT))" @echo " - preOpCount: $$(jq '.rootMetadata.preOpCount' $(MCM_PROPOSAL_OUTPUT))" @echo " - postOpCount: $$(jq '.rootMetadata.postOpCount' $(MCM_PROPOSAL_OUTPUT))" # Step 9: Sign proposal .PHONY: sign sign: @echo "==> Step 9: Signing proposal..." make mcm-sign # Step 10: Execute proposal (signatures + set-root + execute) .PHONY: step10-execute-proposal step10-execute-proposal: @echo "==> Step 10: Executing proposal..." make mcm-signatures-all make mcm-proposal-set-root @echo "==> Executing operation 1 (SetPartnerOracleConfig)..." make mcm-proposal-execute \ MCM_START_INDEX=0 \ MCM_OPERATION_COUNT=1 \ MCM_PROPOSAL_EXECUTE_ARTIFACT=artifacts/mcm-proposal-execute-op1.json @echo "==> Executing operation 2 (Upgrade)..." make mcm-proposal-execute \ MCM_START_INDEX=1 \ MCM_OPERATION_COUNT=1 \ MCM_PROPOSAL_EXECUTE_ARTIFACT=artifacts/mcm-proposal-execute-op2.json ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/README.md ================================================ # MCM Bridge Config Update Status: [EXECUTED](https://explorer.solana.com/tx/21ECmKcUJMsnX9Du15tbFXXm7iJPkfqFn8nri2HyJssqZJpXmK8HWNnHxVowZFR4J9mVDfbfbkqg8rqcdSV9tQaT?cluster=devnet) SetPartnerOracleConfig: https://explorer.solana.com/tx/62PKuwNTkoJ8AsGNNiwcfL7meoPYb2Ja8wUTCPJa7c57dmQhUyAfUoo751B2aPmn8BdV2UnaizbK4nsdTLQXTmWv?cluster=devnet ## Description This task updates the bridge config using its MCM authority. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-11-14-update-bridge-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal Before signing, verify the proposal contents to ensure it matches expectations. #### 3.1. Verify Instruction 1 (Bridge SetPartnerOracleConfig) **Program ID:** Open `proposal.json` and verify instruction 1 has program ID: `6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm` **Instruction Data:** Verify the instruction discriminant matches [SetPartnerOracleConfig](https://github.com/base/bridge/blob/main/solana/programs/bridge/src/lib.rs#L569): ```bash echo -n "global:set_partner_oracle_config" | shasum -a 256 | cut -c1-16 ``` Expected output: `2230e7872a71d99d` Verify the full instruction data: ```bash jq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `2230e7872a71d99d01` This is the discriminant (`2230e7872a71d99d`) followed by the Borsh-encoded threshold value (`01` = 1 in u8). #### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Upgrade) **Program ID:** Verify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable. #### 3.3. Verify Proposal Metadata Check the proposal metadata in `proposal.json`: - **validUntil**: `1763733106` (Unix timestamp - verify this is in the future) - **multisig**: `7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL` - **preOpCount**: `8` - **postOpCount**: `10` (should be preOpCount + 2 operations) ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-execute-op1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "62PKuwNTkoJ8AsGNNiwcfL7meoPYb2Ja8wUTCPJa7c57dmQhUyAfUoo751B2aPmn8BdV2UnaizbK4nsdTLQXTmWv" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 5 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "AfKjpA3jRgE4HYLgyZhhAPy8Sr4AZn9WfCpwBr9bqvzd", "instructions": [ { "programIdIndex": 8, "accounts": [ 1, 4, 2, 5, 6, 0, 6, 3, 7, 5 ], "data": "kdy7aa47nZccXGYmJrCpZESavPSdBHauQKcgU4SCjVZLTicZFgHts7pDttPzTqRyedw2Jy78zJsCHn3XXJVNM5XvezcR2zTwjNxMFLWaDCCaEwq92aAtZayCjyJcN8gb55bTsuLu71ZF8p4uSj3zBkeMcLDNKeNbDHmE4Yj72TbJQEXjLM25FgxdzSB", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85543319612, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 6120992880, 1141440 ], "postBalances": [ 85543314612, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 6120992880, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 6, 3, 7, 5 ], "data": "SF38x7kbGQVN", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPartnerOracleConfig", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 8802 of 170945 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04IAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAACIw54cqcdmdAQ==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 43533 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 43533 }, "blockTime": 1763154245, "slot": 421582423 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-execute-op2.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "21ECmKcUJMsnX9Du15tbFXXm7iJPkfqFn8nri2HyJssqZJpXmK8HWNnHxVowZFR4J9mVDfbfbkqg8rqcdSV9tQaT" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 6 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh", "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "6E5cqLjsWUYDKAvPJsT4jExByctHDPWPmXW9mCsHEz3Z", "instructions": [ { "programIdIndex": 12, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbfu5SNUCaTc7qHQS7m9USobtG4T6fWrkKR9Jv8eq8UWz3VzvJd6sNNiMupaFj9TeNZgGZx6x", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85543314612, 4134240, 1252800, 6120992880, 1141440, 6120992880, 215825000, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "postBalances": [ 85543309612, 4134240, 1252800, 6120992880, 1141440, 0, 6336817880, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04JAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47699 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 47699 }, "blockTime": 1763154258, "slot": 421582458 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3zygbJJAbTvrPXbvcmHwsV1T1h1NFFa297W77nsSWSXffNLs69CRR7fjCm8f73UWRmLvHc3FYjpbYyw2SRPSBctj" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "HHYezcxzKff2NYL9r4CmzCD1y5V7tX7hYRZKtaobEhLT", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "4VNrcVoXJrayDRLHAnCATgHuYaavzcaoQXuEonKM1fXa", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEkUhcFzXT2tGf4iVxG2dFMcavCW1QYTNdnTypwScu7FViuLYhAYehQ9bZGob89RRLsGgPVe8LgVPfpftD5cFX6Mx83cg9j1SQfTovVAsZgHsKkidFhy455LhvEkzS5to3n5GK9ZZQzvhx9oNFHXdqpzQUn1toDrrUp84H6Pb4Uw4jhcoBsfFBfwENsoxwXxKqALo4Yb2BdrvxHYt38Pg8mWsYmU3R", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85541932612, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 85543319612, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXdKFJykHbWZEVN0rYzpHsXhHnotQmpGot9G1zwzVAbOnXJuIGkAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzCAAAAAAAAAAKAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104367 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 104367 }, "blockTime": 1763154230, "slot": 421582384 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "ANERR6mpDRiNPGbRCbtjCioCEP2tgjgC8ei6GX4qK8ucdrzbEzd3ujKu9oF9bJnDgfLQ1ibXx4KRAyjGzVCEw7P" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "EK6xoj97rGKbgtPU4VgQUKQgnXeTiAwzrfrefVanafhX", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuJyrPJh3NC8LURmDapa99pxVaU6J73P4wRzNNshWYzUE5fX4EhLifeUapttzMcnoGS3fhhJCdeh1Xyc798faj5HBuxaTBCKgP4UhkWc2Gq6kPGcgFWvawNBa3B6ej9Z9hnoPNNXQ2kYagKjm1jX212XWdDveLg3xFcjpJoB6XYHio5Ma1Tv4psRcuGMsABceBUfhxXfqH6ab9mMzBco1bPG9vkaeUbuM3rEc4TFT1WGHsswDgUuirfHbj5iDdEz9boPWZdtrqWER1wfQFigQQUn3tu6tMYStQyrVCKT9DKftTEdRZtGa3EoDNJqaY1L3uDF", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85541942612, 2345520, 1141440 ], "postBalances": [ 85541937612, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1763154201, "slot": 421582309 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "8LPEJyga6wqRnYHhAqhcG11HEWjwGgRPyCspKTJjMkh2vNXK9TwU9fWWUJ6XF6mumAJiA3m4mwXL6r3Z5ZRgLSP" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "576VEbFT6j6bY2fSSn2S6sg6C25EH2TwHofRJboBxy97", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDH4nrcvoCKA4G7kT2QQRKxehQeVWPqB6MvVzqMqa7xtGmLzs3N", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85541937612, 2345520, 1141440 ], "postBalances": [ 85541932612, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4571 }, "blockTime": 1763154215, "slot": 421582346 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "64aMcvvdW6jjP2r8ViPAcFmZWGhKUBWstTc4hzwxUY6DXKPYvnhpNV8tsrT81JecWptBhPSKCgEBTMPkcuV96TvV" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "2iGcpYmXEeaKMK4sZ7EJVMTEqn65phsaqrKoYY6hKKLx", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "6fjrWVGWSrLVxVq6N5TYxsUWo1Dk2VCxkhxaT54NYyMZ", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNamrRvGoY2Qep1kZjsRUbgtrX5goeEMP3EGUCfrCuivv4XhxuR9iz", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85544293132, 0, 1, 1141440 ], "postBalances": [ 85541942612, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1763154186, "slot": 421582270 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/artifacts/set-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4KuCuciTRVsaz8wFevYaVTowoZBDCmV94jwJQiijFJxBtSW53r7WjhqNWUxunJBCKaJVzQZjUHiTRX7C3FnAxH9n" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "HwTviVZMW2x77VTFctA9NVhZNfzjoJ7RV6Dp7LfF2YJi", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 85544298132, 6120992880, 1, 0 ], "postBalances": [ 85544293132, 6120992880, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1763143086, "slot": 421553525 } ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/patches/id.patch ================================================ diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs index 70cb385..274534f 100644 --- a/solana/programs/bridge/src/lib.rs +++ b/solana/programs/bridge/src/lib.rs @@ -26,7 +26,7 @@ use solana_to_base::*; #[cfg(test)] mod test_utils; -declare_id!("GaxAZQ3BSYjfG65e8mGnBnNpmhqRHDJ33aKEASHh3A3P"); +declare_id!("6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm"); #[program] pub mod bridge { ================================================ FILE: solana/devnet-alpha/2025-11-14-update-bridge-config/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1763733106, "instructions": [ { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "IjDnhypx2Z0B", "accounts": [ { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false }, { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "isSigner": false, "isWritable": false }, { "pubkey": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "isSigner": false, "isWritable": false } ] }, { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "isSigner": false, "isWritable": true }, { "pubkey": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "isSigner": false, "isWritable": true }, { "pubkey": "5V7DoN2SaSB2tLfzJERXyWmdEHCKcKmSSujMcQDVDtGh", "isSigner": false, "isWritable": true }, { "pubkey": "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 8, "postOpCount": 10, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/.gitignore ================================================ bridge/ *keypair.json rollback.so ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/FACILITATORS.md ================================================ # Facilitator Instructions: Bridge Program Upgrade with Rollback ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge program upgrade buffer (with patch applied) 2. Preparing the rollback buffer (current program bytecode) 3. Creating a merged upgrade/rollback proposal 4. Coordinating with Signers and collecting signatures 5. Executing the upgrade on-chain 6. Executing the rollback if needed ## Prerequisites ```bash cd contract-deployments git pull cd solana// make setup-deps ``` Ensure you have: - Rust toolchain installed (via `make setup-deps`) - Solana CLI installed and configured (via `make setup-deps`) - Anchor CLI installed - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare Bridge Program Upgrade ### 1.1. Update .env for bridge program upgrade Set the following in `.env`: ```bash BRIDGE_REPO= BRIDGE_COMMIT= UPGRADE_PATCH=patches/upgrade.patch ``` Then run: ```bash make step1-clone-bridge ``` This will: - Remove any existing `bridge` directory - Clone the bridge repository - Checkout the specified commit - Apply the patch from `patches/upgrade.patch` - Install and build TypeScript clients ### 1.2. Build the bridge programs ```bash make step2-build-programs ``` This builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`. ### 1.3. Write program buffer Ensure the following variable is set in `.env`: ```bash PROGRAM_BINARY=./bridge/solana/target/deploy/bridge.so ``` Then run: ```bash make step3-write-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash BUFFER= ``` ### 1.4. Transfer buffer authority to MCM Ensure the following variable is set in `.env`: ```bash NEW_BUFFER_AUTHORITY=$(MCM_AUTHORITY) ``` Then run: ```bash make step4-transfer-buffer ``` This transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM. Copy the transaction signature from the output. ### 1.5. Generate set-buffer-authority artifacts Find the transaction signature from step 1.4 on Solana Explorer and add to `.env`: ```bash SET_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step5-generate-set-buffer-authority-artifacts ``` This creates `artifacts/set-buffer-authority-artifacts.json`. ## Phase 2: Prepare Rollback Buffer ### 2.1. Dump current program Ensure the following variable is set in `.env`: ```bash PROGRAM= ROLLBACK_PROGRAM_BINARY=./rollback.so ``` Then run: ```bash make step6-dump-current-program ``` This dumps the current on-chain program bytecode to `rollback.so`. ### 2.2. Write rollback buffer ```bash make step7-write-rollback-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash ROLLBACK_BUFFER= ``` ### 2.3. Transfer rollback buffer authority to MCM ```bash make step8-transfer-rollback-buffer ``` Copy the transaction signature from the output. ### 2.4. Generate rollback buffer artifacts Add the transaction signature to `.env`: ```bash SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step9-generate-rollback-buffer-artifacts ``` This creates `artifacts/set-rollback-buffer-authority-artifacts.json`. ## Phase 3: Create Merged Proposal ### 3.1. Ensure all MCM variables are set Verify the following variables are set in `.env`: ```bash # Common MCM Proposal Variables MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Program upgrade variables PROGRAM= BUFFER= ROLLBACK_BUFFER= SPILL= ``` ### 3.2. Create merged proposal ```bash make step10-create-proposal ``` This creates `proposal.json` containing two instructions: - Instruction 0: Upgrade to the patched version - Instruction 1: Rollback to the original version ### 3.3. Review proposal Open and review `proposal.json` to verify: - Instructions count is 2 - First instruction uses `BUFFER` (upgrade) - Second instruction uses `ROLLBACK_BUFFER` (rollback) - Program address matches `PROGRAM` - Spill address is correct ## Phase 4: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, add to `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 5: Register and Execute Proposal ### 5.1. Add execution variables to .env Add the following variables to `.env`: ```bash AUTHORITY= ``` ### 5.2. Register the proposal ```bash make step12-register-proposal ``` This command: - Initializes signatures account - Appends signatures - Finalizes signatures - Sets root ### 5.3. Execute the upgrade ```bash make step13-execute-upgrade ``` This executes instruction 0 (upgrade to patched version). ### 5.4. Execute the rollback (if needed) If you need to rollback to the original version: ```bash make step14-execute-rollback ``` This executes instruction 1 (rollback to original version). ## Phase 6: Verification ### 6.1. Verify program upgrade on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the bridge program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still the MCM authority - The program was upgraded successfully ### 6.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # MCM Program Upgrade with Rollback Workflow ## # Step 1: Clone the bridge repo and apply patch .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning and patching the bridge repo..." @ rm -rf bridge @ git clone --filter=blob:none $(BRIDGE_REPO) bridge @ cd bridge && \ git checkout $(BRIDGE_COMMIT) && \ git apply ../$(UPGRADE_PATCH) @ cd bridge/clients/ts && \ bun install && \ bun run build @ cd bridge/scripts && \ bun install # Step 2: Build the bridge programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." mkdir -p bridge/solana/target/deploy && \ cp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \ cp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \ cd bridge/solana && \ anchor keys sync cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../$(BRIDGE_KEYPAIR) \ --base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR) # Step 3: Write program buffer .PHONY: step3-write-buffer step3-write-buffer: @echo "==> Step 3: Writing program buffer..." make sol-write-buffer # Step 4: Transfer buffer authority to MCM .PHONY: step4-transfer-buffer step4-transfer-buffer: @echo "==> Step 4: Transferring buffer authority to MCM..." make sol-set-buffer-authority # Step 5: Generate set-buffer-authority artifacts .PHONY: step5-generate-set-buffer-authority-artifacts step5-generate-set-buffer-authority-artifacts: @echo "==> Step 5: Generating MCM set-buffer-authority artifacts..." make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json ## # Rollback Buffer Preparation ## # Step 6: Dump current program to rollback.so .PHONY: step6-dump-current-program step6-dump-current-program: @echo "==> Step 6: Dumping current program to rollback.so..." solana program dump $(PROGRAM) $(ROLLBACK_PROGRAM_BINARY) --url $(SOL_RPC_URL) # Step 7: Write rollback buffer .PHONY: step7-write-rollback-buffer step7-write-rollback-buffer: @echo "==> Step 7: Writing rollback buffer..." make sol-write-buffer PROGRAM_BINARY=$(ROLLBACK_PROGRAM_BINARY) # Step 8: Transfer rollback buffer authority to MCM .PHONY: step8-transfer-rollback-buffer step8-transfer-rollback-buffer: @echo "==> Step 8: Transferring rollback buffer authority to MCM..." make sol-set-buffer-authority BUFFER=$(ROLLBACK_BUFFER) # Step 9: Generate rollback buffer artifacts .PHONY: step9-generate-rollback-buffer-artifacts step9-generate-rollback-buffer-artifacts: @echo "==> Step 9: Generating rollback buffer artifacts..." make sol-confirm SIG=$(SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-rollback-buffer-authority-artifacts.json ## # Proposal Creation and Execution ## # Step 10: Create merged upgrade/rollback proposal .PHONY: step10-create-proposal step10-create-proposal: @echo "==> Step 10: Creating merged upgrade/rollback MCM proposal..." @echo " → Creating upgrade proposal..." @make mcm-proposal-loader-v3-upgrade \ MCM_PROPOSAL_OUTPUT=upgrade-proposal.json @echo " → Creating rollback proposal..." @make mcm-proposal-loader-v3-upgrade \ BUFFER=$(ROLLBACK_BUFFER) \ MCM_PROPOSAL_OUTPUT=rollback-proposal.json @echo " → Merging proposals..." @jq -s '.[0] as $$upgrade | .[1] as $$rollback | $$upgrade | .instructions = ($$upgrade.instructions + $$rollback.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \ upgrade-proposal.json rollback-proposal.json > proposal.json @rm -f upgrade-proposal.json rollback-proposal.json @echo "✓ Merged proposal created: proposal.json" @echo " - Instructions count: $$(jq '.instructions | length' proposal.json)" @echo " - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)" @echo " - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)" # Step 11: Sign proposal .PHONY: sign sign: @echo "==> Step 11: Signing proposal..." make mcm-sign # Step 12: Register proposal (signatures + set-root) .PHONY: step12-register-proposal step12-register-proposal: @echo "==> Step 12: Registering MCM proposal..." @make mcm-signatures-all @make mcm-proposal-set-root # Step 13: Execute upgrade .PHONY: step13-execute-upgrade step13-execute-upgrade: @echo "==> Step 13: Executing upgrade..." @make mcm-proposal-execute MCM_START_INDEX=0 MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-upgrade-execute.json # Step 14: Execute rollback .PHONY: step14-execute-rollback step14-execute-rollback: @echo "==> Step 14: Executing rollback..." @make mcm-proposal-execute MCM_START_INDEX=1 MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-rollback-execute.json ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/README.md ================================================ # Upgrade Bridge Program with Rollback Status: [EXECUTED](https://explorer.solana.com/tx/556YG2KpCEMNpv4Vf82nNXt9sE3rT2ZMnRs4HXqsxmGXx76GXB7Whw4T87fTU8Q8SdePyYzjhGFb1mknX1x9jwcR?cluster=devnet) Rollback: https://explorer.solana.com/tx/XPaLXUaHRVqvhjg4fhXLp3Cdz36dQPZ6M8iBM6r2F23qReEkKasZWmBJHdm5zw42FRtn64kpC7YbVtjj3GGmdAy?cluster=devnet ## Description This task upgrades the bridge program using the Multi-Chain Multisig (MCM) governance system, with the ability to rollback to the original version if needed. The proposal contains two instructions: - **Instruction 0**: Upgrade to the patched version (with `ping` function added) - **Instruction 1**: Rollback to the original version ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana// make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal #### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade) **Program ID:** Verify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable. #### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Rollback) **Program ID:** Verify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is also the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This rollback instruction uses the same Upgrade discriminant but with a buffer containing the original program bytecode. ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "36oimV6qkDBR1wjNekfEBCaLGNr7TQ4DdvMfW4fZ4tKU4XmRhm7kP6a2Epeme5Y3nHKGNy66PM5U3RdQzmBJKvXZ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6SCzagCpPJ3oXJntAsuDjUS36Q6Jet2Uz7fQCPMVCakL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "5R93WXYeFhD8GnmXERnZTPskfTKfpFVYa1n8Xq13hp5E", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadF83AKQ3ofEbDQRfW9T1aY6jzHREBWqJtqhPgkFN1AZp1iLDahbUnZ3EQYs452ZG3j9jP1YxaZEYMi5zP8JQ2yTiX1rUwuWLwe8EwpEDNtp1pPCY3hbbiSyqFpA3jNwp1aR9Gcbhh3apcAVsLnLdyP4iWrwZpgsSA2CqRwr91ZusXRvq8tcjqVEHvcMCvUu4nikVHQNoDJ2nUon22QriHiATPXJZc3", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67082619372, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 67084006372, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXfqxDxuJTyxjW7koBOYOP4eSEIRK/zU3eZ4TLDKAgfRwRu/NWkAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzCgAAAAAAAAAMAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 104364 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 104364 }, "blockTime": 1764621251, "slot": 425378844 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-rollback-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "XPaLXUaHRVqvhjg4fhXLp3Cdz36dQPZ6M8iBM6r2F23qReEkKasZWmBJHdm5zw42FRtn64kpC7YbVtjj3GGmdAy" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 6 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj", "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "3NW4vf4WG4oV9euTXqyiKk7kcWUDUVagh9Wyo4JHbh54", "instructions": [ { "programIdIndex": 12, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9DLJrUHx7qbgNvQg7e3s2hopyuyZXk4Nu1o92kJaLK1sgELf258XZm1XmZK73qLyn575oiRtGxZdgycfRd", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67063327732, 4134240, 1252800, 6127959840, 1141440, 6120992880, 19785248240, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "postBalances": [ 67063322732, 4134240, 1252800, 6127959840, 1141440, 0, 25906241120, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04LAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47706 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 47706 }, "blockTime": 1764621811, "slot": 425380304 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "8XHU5Sq6ahSVqAuvLph3YdUWkNwQDXR4CP9szXPYopLdyhs2eGGE3fFYkKAbDXouXwirdzPnTcgJn3NesU3DnSi" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8Uq3yULALG2qxdC744ur3Ae3sdBigbwSpULK8zzp6719", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKTDUD6qyjURdBt7RfjwrnEnjWWVH9NbV8HdULQJYo6Bj6FTFzkZq2MwAY5wJEo7VypPw9P5sRPkHvhMs9gbcUgTcAocZRKoNuFotzde5fDXR84igsxEc4TWdBwDEHVVZdk1EoT1JCY9UkwZ6qJupvpEHZQPWEYyQtWMrvYhQmRfY5GZW3uU7RCaHawH1z7tVKS88ejrjSqQUiQvnZKH1Zq7P5orur8ummTQSnQGT9asNya8Z1bmQLjvbeh5z8eh6UuVZSfYPE81AcZtSXYBC8DCE6esLTdCFWaKL4syPsQQbjYCa2d7T2LYxygup4r3hgy", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67082629372, 2345520, 1141440 ], "postBalances": [ 67082624372, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 5385 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1764621221, "slot": 425378766 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4ViPfRUwwedKitkLKaF7cnkBCUD71sgH3X7De5dM2v2E8rnCEF99YLVu4BNp3GBeu5m39KCJuDVP3Sk7WgMVU6ac" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "4UCqHaamXtZdmcpiMir45wHqVnaoUotCGQAdUZpceS3A", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZEVqJNyK3qEpFjhhUSjJPBjqZPUEKdcgzyv6Ducw6ZnvqCRjbrQ", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67082624372, 2345520, 1141440 ], "postBalances": [ 67082619372, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 4571 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4571 }, "blockTime": 1764621236, "slot": 425378805 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2hpvJcbPQxSckZ2UZNsuya9oirJtuUQKtVaZLmhxXz8pTjgKGVJgjs7mQV7rCSF5wdFRGfgyxn7P7ytLDazAm7ki" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "C3K7jbUhRSPAgz5dL5n255KkGkzfrfAFKtzZz81LCQpa", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "3FeKLSLbwMsjTPgLLGBovKeDug6CU4UYeGQBehi6hMbM", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNasEnNamWF1decQKajgr13SZy2HcMCrDwEXLPjZ1Y7Jv7prfp47Kp", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67084979892, 0, 1, 1141440 ], "postBalances": [ 67082629372, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 7985 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1764621206, "slot": 425378727 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-upgrade-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "556YG2KpCEMNpv4Vf82nNXt9sE3rT2ZMnRs4HXqsxmGXx76GXB7Whw4T87fTU8Q8SdePyYzjhGFb1mknX1x9jwcR" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 6 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt", "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "HkB2y4QPxTsj1odw1F1qFFdvvtc7GZzmWZ4Yu1ERtP8w", "instructions": [ { "programIdIndex": 12, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "2WdZbr4cJKkR8bDbEdbqzfkAVHVTczCFDroACHGbZUy1NNEc7pxLKtYPDJTdoQMNfM2CQGwZexpHCEPcorj8uyXZqewjDa82VPGbUJd6BvkysDwxdztQpGToszCTVkKFkjHEx5pwty7bvjQcdZ5sVReUHHp5AJC244te5FfttZtEsmqDabwZ1", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67077024412, 4134240, 1252800, 6127959840, 1141440, 6121605360, 13663317880, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "postBalances": [ 67077019412, 4134240, 1252800, 6127959840, 1141440, 0, 19784923240, 1343280, 1, 0, 1009200, 1169280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04KAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 47981 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 47981 }, "blockTime": 1764621594, "slot": 425379740 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "26TNdio4Uzp2mkbqzYmqSs3nhSio6t2QKbv4mZXw1Y6mw5jWiUQfnrqM2jMjqoiHJ7TSAjUPMLTr6B9MsvcjB4dW" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "6ixQJhzowtzrg3btdPGzne2gNxVf6jYbww3TkLyHGpMx", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 67084984892, 6121605360, 1, 0 ], "postBalances": [ 67084979892, 6121605360, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764619893, "slot": 425375296 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-rollback-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "47VxQv1jDsDr7vibXy7E2WVFxHzLUhCuMFJckYyWv7x8ihBUYpvEZ6RPoqhYQpq1RiHTBWP25QKhCcFnzmbJXSXu" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "2aWsUTRfJu2hPNUYHaYJjm6C3SVPqXjtoxu2VgBXsd72", "4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj", "BPFLoaderUpgradeab1e11111111111111111111111", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ" ], "recentBlockhash": "D7uTriKym7isKZ8vKKkoCLMXP5YbDpdT6T5YkX8tRbWU", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 73210950252, 6120992880, 1, 0 ], "postBalances": [ 73210945252, 6120992880, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764616723, "slot": 425366993 } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/patches/upgrade.patch ================================================ diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs index 70cb385..fbdfde3 100644 --- a/solana/programs/bridge/src/lib.rs +++ b/solana/programs/bridge/src/lib.rs @@ -249,6 +249,7 @@ pub mod bridge { amount: u64, call: Option, ) -> Result<()> { + msg!("UPGRADED"); bridge_sol_handler(ctx, outgoing_message_salt, to, amount, call) } ================================================ FILE: solana/devnet-alpha/2025-12-01-upgrade-bridge-and-rollback/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1765130011, "instructions": [ { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "isSigner": false, "isWritable": true }, { "pubkey": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "isSigner": false, "isWritable": true }, { "pubkey": "Fzwg1B9vfJWQd2YAaxrf2z8aLdnmgoS71q8xTD9WYAzt", "isSigner": false, "isWritable": true }, { "pubkey": "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] }, { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "isSigner": false, "isWritable": true }, { "pubkey": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "isSigner": false, "isWritable": true }, { "pubkey": "4UPjK4eVWqHCKkRyfRzGVQz45DKAnWH72wuYH1VEKygj", "isSigner": false, "isWritable": true }, { "pubkey": "Dz7RiPP83jmH1XQFqp45p3SQJWhfWFWNgRBCMhFPmQNP", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 10, "postOpCount": 12, "overridePreviousRoot": false } } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/.gitignore ================================================ bridge/ ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Config Update & Program Upgrade ## Overview As a Facilitator, you are responsible for: 1. Creating the bridge config update proposal 2. Preparing the bridge program upgrade buffer 3. Creating the upgrade proposal 4. Merging both proposals into a single MCM proposal 5. Committing and pushing the merged proposal to the repo 6. Coordinating with Signers 7. Collecting signatures 8. Executing the merged proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-12-22-update-bridge-config make setup-deps ``` Ensure you have: - Rust toolchain installed - Solana CLI installed and configured - Anchor CLI installed - Bun installed - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Create Bridge Config Update Proposal ### 1.1. Update .env for config update proposal Set the following in `.env`: ```bash # RPC configuration SOL_RPC_URL= # MCM configuration MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Bridge config parameters BRIDGE_PROGRAM_ID= BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD= ``` ### 1.2. Generate config update proposal ```bash make step1-create-set-partner-oracle-config-proposal ``` This creates `set-partner-oracle-config-proposal.json` with the SetPartnerOracleConfig instruction. ### 1.3. Review config proposal Open and review `set-partner-oracle-config-proposal.json` to verify: - Bridge program ID is correct - Partner oracle required threshold matches intended value - Valid until timestamp is appropriate ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, add to `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Merged Proposal ### 3.1. Add execution variables to .env Add the following variables to `.env`: ```bash AUTHORITY= ``` ### 3.2. Execute the proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute both operations (config update + program upgrade) ## Phase 4: Verification ### 4.1. Verify config update on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet - Devnet-alpha: https://explorer.solana.com/?cluster=custom&customUrl= Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPartnerOracleConfig` - The partner oracle required threshold was updated correctly ### 4.2. Verify program upgrade on Solana Explorer Search for the bridge program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still the MCM authority - The program was upgraded successfully ### 4.3. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.). ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: install-bun install-bun: curl -fsSL https://bun.sh/install | bash .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor install-bun ## # MCM Bridge Config Update Workflow ## # Step 1: Create set partner oracle config proposal .PHONY: step1-create-set-partner-oracle-config-proposal step1-create-set-partner-oracle-config-proposal: @echo "==> Step 1: Creating set partner oracle config MCM proposal..." @make mcm-proposal-bridge-set-partner-oracle-config \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT) # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing proposal..." make mcm-all ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/README.md ================================================ # MCM Bridge Config Update Status: [EXECUTED](https://solscan.io/tx/NSoJmejwabofbErRmb5VhEMLuXZRDj4TjV7Q4oEsyoeU6SzScecBZydbX6dqRH9e5w7MEkmudXzYsKhRwhvah7E?cluster=devnet) ## Description This task updates the bridge config using its MCM authority. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/devnet-alpha/2025-12-22-update-bridge-config make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal Before signing, verify the proposal contents to ensure it matches expectations. #### 3.1. Verify Instruction 1 (Bridge SetPartnerOracleConfig) **Program ID:** Open `proposal.json` and verify instruction 1 has program ID: `6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm` **Instruction Data:** Verify the instruction discriminant matches [SetPartnerOracleConfig](https://github.com/base/bridge/blob/main/solana/programs/bridge/src/lib.rs#L569): ```bash echo -n "global:set_partner_oracle_config" | shasum -a 256 | cut -c1-16 ``` Expected output: `2230e7872a71d99d` Verify the full instruction data: ```bash jq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `2230e7872a71d99d00` This is the discriminant (`2230e7872a71d99d`) followed by the Borsh-encoded threshold value (`00` = 0 in u8). #### 3.3. Verify Proposal Metadata Check the proposal metadata in `proposal.json`: - **validUntil**: `1797990664` (Unix timestamp - verify this is in the future) - **multisig**: `7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL` - **preOpCount**: `12` - **postOpCount**: `13` (should be preOpCount + 1 operation) ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "NSoJmejwabofbErRmb5VhEMLuXZRDj4TjV7Q4oEsyoeU6SzScecBZydbX6dqRH9e5w7MEkmudXzYsKhRwhvah7E" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 5 }, "accountKeys": [ "BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "9GNLoSXFaQ9B7pDy2h7V41Hy3vt5UxUKfi8dFMtFpcoS", "instructions": [ { "programIdIndex": 8, "accounts": [ 1, 4, 2, 5, 6, 0, 6, 3, 7, 5 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAh5tmeJ3rjtfzTnoZ3r2QWW3R3Ur4VV6k4Wr5RwujDJbtQaHTRvoxAcHD9BvcTNp67FdiDLPGu4eh2hmrTg55uzpMmn", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 408129418020, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 6127959840, 1141440 ], "postBalances": [ 408129413020, 4134240, 1252800, 4565760, 1343280, 1141440, 0, 6127959840, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 6, 3, 7, 5 ], "data": "SF38x7kbGQVM", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: Execute", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm invoke [2]", "Program log: Instruction: SetPartnerOracleConfig", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm consumed 8802 of 171219 compute units", "Program 6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm success", "Program data: 3Q/UHSP8/04MAAAAAAAAAFJw9BMpTsJAnaNQ2SDcXQ5pG2X7hoV33jo1m3m+5rSsCQAAACIw54cqcdmdAA==", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 43259 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 43259 }, "blockTime": 1768497571, "slot": 435366445 } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "QQq9zTWR3np4PV5u2YoCGJhYToarbFSzfY6D53utNk5AGY5sVXx849zK6uWhWzDKKHn9wVcwyMs8deUJsKidgqv" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F", "DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7", "DBKy3Bb6kFS2HH2JXZ1DhaR1KvZ6z6nTVyu4HJuvnd1S", "7xurwxXJRnXbsHGPyVNzobZ8E5FcUTj7BKTKCwvUPh8F", "9mYamYp9qGXSC5whTmfH92RG2BdBpwSP3DwaczyFieDN", "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "5R92pAEdtVgeyzybrdHJ1FdAnrgML97pojg784hGPhgV", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXHGJBKbYKiGuw6unExL8Qu9SwoC5NxHb6phw3xKrtTFmfbfEBbdTd96LJUSitMoBA7kZWvfCSFJEBCsYch2wS3jwbXXNWbK9aZDfLwK7a1VsJx7K2m65fmQvzXoS8UHfFXh9wN4hp5zrShEFgvnnLqm1EfqeXc9USeDw2rkmVAsrJkm7Lg", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 408128031020, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 408129418020, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tM6xxYxd7PiZ2oZ4h1ZRQ3Q6anaT7puATNmrGRBPnEn6Uh", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXf8vvZnG4k2mShX4n1FfhM7urt0ZFBwAH9VAjXsBHT6pggpK2sAAAAAAAAAAFvuOPs7hiam+/CQoroqEyiPrjtrRaqBltmHvQYLpVUzDAAAAAAAAAANAAAAAAAAAAA=", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 107047 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 107047 }, "blockTime": 1768497558, "slot": 435366410 } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "fa3UExZdq6KqgrWLTyDkm8mSZt4tvSYs1Zvp8SYncw9Rk3HMhEKARveK8SeyqykJaXWXTsKssZRt37ysicxCXob" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F", "DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8VhXQWHEmNzJjiSp7pk3r4sLndnbvsg92aKeA9yVvJvN", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKWH3vTtUvzqkrYKhXTMhNWtqXpcH5EH9n4xQJkxWLyL8Ed9AkVRnNWZfuv74Z8Tuww9RUTn8TqQtR5M9xRiCsT4YqrBUM2uhE4hgc84tj79gxqet87a1bGjpbrCrBnXEhA7pTwhxxiKJK9Tiu3s6x8kZKEkrUP7cXdd2by99wbUCBW6uVTjao9VtnT2x15BGWT4KgaxgGKLdgB1AaHiTBvsZv4HZLq9aU9hPwqx4afVBu223FMy89ZqmpoeK9WNEos7TWA67tegwoPhtBhDAEq9hekqN9goDMx8me4GKY9eYGrW22a2iDN4tt8KKiyHyuK", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 408128041020, 2345520, 1141440 ], "postBalances": [ 408128036020, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: AppendSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6885 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6885 }, "blockTime": 1768497531, "slot": 435366340 } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4tJ2bJedAh5RxXWdDZZBHsvVEr1bXNiLvncNKXnXeE4XGfR2bNqwrmyTcsnsfxQkbbYHchZAfRGLvFKV2mogAs56" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F", "DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "EwXtM1sheCFktcaTN3D5yQQrFndvPEkBgLYmPDreQ6D5", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZEdkZSRfz5SJ2VSjhFLhDthhbhmTLgyKHK2RaVDUvk4hdnysf8E", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 408128036020, 2345520, 1141440 ], "postBalances": [ 408128031020, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 6071 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6071 }, "blockTime": 1768497544, "slot": 435366375 } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4dS4an9SArkgN2iesjjbuTBX7RJGakPis2k6XR45FP4mjiMX7Xud3spzzjB3ViKaLrrzF2wiceJpFLN4bjJL9y3b" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "BEwzVVw44VLaspWByUML23hbQmo5ndM1NPQAJsvCxC6F", "DiGDfmAgEk9iqJHabJa8Gw8D7aLPtpHNu18c8CLBVFk7", "11111111111111111111111111111111", "Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX" ], "recentBlockhash": "8chUu4QvbzKhZvZEAXVwUW5C7WLtuF4MAqhJMcC5FGus", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNasqjT41reSJKBwPYYCaDrRNXtWNNfX2yNbgMAPJ2bxFjaXBfcZBg", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 408130391540, 0, 1, 1141440 ], "postBalances": [ 408128041020, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWW4Z1ZkxMmEywtSX6cwUwwiUiy2t2NJ1N7s3c1VyVFW6Sm", "stackHeight": 2 } ] } ], "logMessages": [ "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX consumed 9485 of 200000 compute units", "Program Ea5qsVs2kwQXi7LMAh3Qg5YKpuPQbW7oqvYaPXUwBwoX success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9485 }, "blockTime": 1768497516, "slot": 435366301 } ================================================ FILE: solana/devnet-alpha/2025-12-22-update-bridge-config/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1797990664, "instructions": [ { "programId": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "data": "IjDnhypx2Z0A", "accounts": [ { "pubkey": "2N9nKVFPHsBVazniiYNxECB2nPLcwjk3dHAJH9tkr2xQ", "isSigner": false, "isWritable": false }, { "pubkey": "F1HSdZSs7CWSNBV4jqa977hLcuxn6fcdg8R5JuoFvM2q", "isSigner": false, "isWritable": true }, { "pubkey": "EkPiugm4hAm5pMPSoM9aTtDNxUdDXLcaVgttUQvksqkj", "isSigner": false, "isWritable": false }, { "pubkey": "6YpL1h2a9u6LuNVi55vAes36xNszt2UDm3Zk1kj4WSBm", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 0, "multisig": "7BrnaHaHtFDshmyrZFi28r9vzxTqcmTjSZcf7KdLHRhL", "preOpCount": 12, "postOpCount": 13, "overridePreviousRoot": false } } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/.gitignore ================================================ chainlink-ccip/ *keypair.json ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/Makefile ================================================ include ../.env include .env include ../../Makefile LEDGER_ACCOUNT=1 ## # Project Setup ## .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # Deployment Workflow ## # Step 1: Clone the MCM program .PHONY: step1-clone step1-clone: @echo "==> Step 1: Cloning the MCM program..." rm -rf chainlink-ccip git clone --filter=blob:none $(MCM_REPO) chainlink-ccip cd chainlink-ccip && \ git checkout $(MCM_COMMIT) # Step 2: Build the MCM program .PHONY: step2-build step2-build: @echo "==> Step 2: Building the MCM program..." mkdir -p chainlink-ccip/chains/solana/contracts/target/deploy/ && \ cp $(MCM_KEYPAIR) chainlink-ccip/chains/solana/contracts/target/deploy/mcm-keypair.json cd chainlink-ccip/chains/solana/contracts && \ anchor keys sync && \ anchor build -p mcm # Step 3: Deploy the MCM program .PHONY: step3-deploy step3-deploy: @echo "==> Step 3: Deploying the MCM program..." cd chainlink-ccip/chains/solana/contracts && \ anchor deploy --provider.cluster $(CLUSTER) --provider.wallet $(AUTHORITY) -p mcm # Step 4: Generate deploy artifacts (use solana explorer to get the signature of the deployWithMaxDataLen tx) .PHONY: step4-generate-deploy-artifacts step4-generate-deploy-artifacts: @echo "==> Step 4: Generating MCM deploy artifacts..." make sol-confirm SIG=$(MCM_DEPLOY_SIGNATURE) output=artifacts/mcm-deploy-artifacts.json # Step 5: Initialize the multisigs(inherited from parent) .PHONY: step5-init-multisigs step5-init-multisigs: @echo "==> Step 5: Initializing MCM multisigs..." make mcm-multisig-init \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \ MCM_MULTISIG_INIT_ARTIFACT=$(MCM_MULTISIG_INIT_ARTIFACT_0) make mcm-multisig-init \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \ MCM_MULTISIG_INIT_ARTIFACT=$(MCM_MULTISIG_INIT_ARTIFACT_1) @echo "==> MCM multisig authority for multisig 0..." make mcm-multisig-print-authority \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) @echo "==> MCM multisig authority for multisig 1..." make mcm-multisig-print-authority \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) # Step 6: Initialize the signers for multisigs (inherited from parent) .PHONY: step6-init-signers step6-init-signers: @echo "==> Step 6: Initializing MCM signers for multisigs..." make mcm-signers-all \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \ MCM_SIGNERS_INIT_ARTIFACT=$(MCM_SIGNERS_INIT_ARTIFACT_0) \ MCM_SIGNERS_APPEND_ARTIFACT=$(MCM_SIGNERS_APPEND_ARTIFACT_0) \ MCM_SIGNERS_FINALIZE_ARTIFACT=$(MCM_SIGNERS_FINALIZE_ARTIFACT_0) \ MCM_SIGNERS_SET_CONFIG_ARTIFACT=$(MCM_SIGNERS_SET_CONFIG_ARTIFACT_0) make mcm-signers-all \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \ MCM_SIGNERS_INIT_ARTIFACT=$(MCM_SIGNERS_INIT_ARTIFACT_1) \ MCM_SIGNERS_APPEND_ARTIFACT=$(MCM_SIGNERS_APPEND_ARTIFACT_1) \ MCM_SIGNERS_FINALIZE_ARTIFACT=$(MCM_SIGNERS_FINALIZE_ARTIFACT_1) \ MCM_SIGNERS_SET_CONFIG_ARTIFACT=$(MCM_SIGNERS_SET_CONFIG_ARTIFACT_1) # Step 7: Create accept-ownership proposals (inherited from parent) .PHONY: step7-create-accept-ownership-proposals step7-create-accept-ownership-proposals: @echo "==> Step 7: Creating MCM accept-ownership proposals..." make mcm-proposal-accept-ownership \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0) make mcm-proposal-accept-ownership \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1) # Step 8: Sign the proposals (inherited from parent) .PHONY: step8-sign-proposals step8-sign-proposals: @echo "==> Step 8: Signing MCM proposals..." make mcm-sign \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0) make mcm-sign \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1) # Step 9: Execute ownership transfers (inherited from parent) .PHONY: step9-execute-ownership-transfers step9-execute-ownership-transfers: @echo "==> Step 9: Executing MCM ownership transfers..." make mcm-ownership-transfer \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_0) \ MCM_PROPOSED_OWNER=$(MCM_AUTHORITY_0) \ MCM_OWNERSHIP_TRANSFER_ARTIFACT=$(MCM_OWNERSHIP_TRANSFER_ARTIFACT_0) make mcm-all \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_0) \ MCM_SIGNATURES=$(MCM_SIGNATURES_0) \ MCM_SIGNATURES_INIT_ARTIFACT=$(MCM_SIGNATURES_INIT_ARTIFACT_0) \ MCM_SIGNATURES_APPEND_ARTIFACT=$(MCM_SIGNATURES_APPEND_ARTIFACT_0) \ MCM_SIGNATURES_FINALIZE_ARTIFACT=$(MCM_SIGNATURES_FINALIZE_ARTIFACT_0) \ MCM_PROPOSAL_SET_ROOT_ARTIFACT=$(MCM_PROPOSAL_SET_ROOT_ARTIFACT_0) \ MCM_PROPOSAL_EXECUTE_ARTIFACT=$(MCM_PROPOSAL_EXECUTE_ARTIFACT_0) make mcm-ownership-transfer \ MCM_MULTISIG_ID=$(MCM_MULTISIG_ID_1) \ MCM_PROPOSED_OWNER=$(MCM_AUTHORITY_1) \ MCM_OWNERSHIP_TRANSFER_ARTIFACT=$(MCM_OWNERSHIP_TRANSFER_ARTIFACT_1) make mcm-all \ MCM_PROPOSAL_OUTPUT=$(MCM_PROPOSAL_OUTPUT_1) \ MCM_SIGNATURES=$(MCM_SIGNATURES_1) \ MCM_SIGNATURES_INIT_ARTIFACT=$(MCM_SIGNATURES_INIT_ARTIFACT_1) \ MCM_SIGNATURES_APPEND_ARTIFACT=$(MCM_SIGNATURES_APPEND_ARTIFACT_1) \ MCM_SIGNATURES_FINALIZE_ARTIFACT=$(MCM_SIGNATURES_FINALIZE_ARTIFACT_1) \ MCM_PROPOSAL_SET_ROOT_ARTIFACT=$(MCM_PROPOSAL_SET_ROOT_ARTIFACT_1) \ MCM_PROPOSAL_EXECUTE_ARTIFACT=$(MCM_PROPOSAL_EXECUTE_ARTIFACT_1) # Step 10: Transfer upgrade authority (inherited from parent) .PHONY: step10-transfer-upgrade-authority step10-transfer-upgrade-authority: @echo "==> Step 10: Transferring MCM upgrade authority..." make sol-program-set-upgrade-authority make sol-program-show # Step 11: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx) .PHONY: step11-generate-set-upgrade-authority-artifacts step11-generate-set-upgrade-authority-artifacts: @echo "==> Step 11: Generating MCM set-upgrade-authority artifacts..." make sol-confirm SIG=$(SET_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-upgrade-authority-artifacts.json # Step 12: Fund MCM authorities (inherited from parent) .PHONY: step12-fund-mcm-authorities step12-fund-mcm-authorities: @echo "==> Step 12: Funding MCM authorities..." make sol-transfer SOL_RECIPIENT=$(MCM_AUTHORITY_0) output=artifacts/fund-mcm-authority-0.json make sol-transfer SOL_RECIPIENT=$(MCM_AUTHORITY_1) output=artifacts/fund-mcm-authority-1.json ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/README.md ================================================ # MCM Mainnet Deployment Status: EXECUTED ## Overview This deployment initialized the Multi-Chain Manager (MCM) program on Solana mainnet to enable secure and decentralized control of Solana programs associated with the bridge infrastructure (including the Bridge program itself). ## What Was Deployed This deployment successfully: 1. **Deployed the MCM program** to mainnet at `7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY` 2. **Initialized two multisig instances** (`0x0000000000000000000000000000000000000000000000000000000000000000` and `0x0000000000000000000000000000000000000000000000000000000000000001`) with initial temporary signer configuration 3. **Established ownership structure** where each multisig is owned by its own Authority (PDA): - `0x0000000000000000000000000000000000000000000000000000000000000000` is owned by `DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2` - `0x0000000000000000000000000000000000000000000000000000000000000001` is owned by `7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip` 4. **Transferred upgrade authority** of the MCM program to `DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2` 5. **Funded the multisig authority PDAs** to enable transaction execution ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/accept_ownership_proposal_0.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1763486675, "instructions": [ { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "accounts": [ { "pubkey": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "isSigner": false, "isWritable": true }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "preOpCount": 0, "postOpCount": 1, "overridePreviousRoot": false } } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/accept_ownership_proposal_1.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000001", "validUntil": 1763486675, "instructions": [ { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "rBcrDe7VVZYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "preOpCount": 0, "postOpCount": 1, "overridePreviousRoot": false } } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/fund-mcm-authority-0.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3eAoRjEo9NG8aApNRZYMMynFPffr1o8VjRig8NoWyxrNqXco9V9RqqJ8Ry37EL4vmwhgyXpwreBxCMUsRL7EAjsD" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "11111111111111111111111111111111" ], "recentBlockhash": "A7qmxvxVAfRFQjapy5VqekyTSwvbLtkY6wSYcnJKJcy8", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs3zvX19cRxrhM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250474726, 0, 1 ], "postBalances": [ 17750469726, 500000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1763406805, "slot": 380735560 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/fund-mcm-authority-1.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3YKADiFp8nvrQYMq5kv44aCpqVjLh2MKzNDvKmVZddvDCtk1A1cc6bn8W8HZky32SQfyhMEvHuZnQPvNuPVaRs1q" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "11111111111111111111111111111111" ], "recentBlockhash": "CHU8MgUCDyCGRS8uQpTWW7wpNawLCdpp1uBEU7QtyVWu", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs3zvX19cRxrhM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17750469726, 0, 1 ], "postBalances": [ 17250464726, 500000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1763406808, "slot": 380735568 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-deploy-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "PiuQG7yh9FEN9dbbsJVHDp6Hz8p2sqa6zm3wbLFtpKNQSYon78cQarWnv6aaggtYL7ZMGLkoQGoVn9ndoUZjYD1", "k6aoADAQ82Hi8j5QGCR7iYU7bS4wiBbcGFJ2vVD5AbnhPxNxd6F2nmuTnJTRNH98etB6Tuat2dD1VSVeRfuYta9" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "EoecJidHL2MribSmABMkxz5XTFAcMwkVwYbrpxUsTGoJ", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111" ], "recentBlockhash": "72ErxaP11gFxi1FqFKMwvWhacNhvep3mtgFQxYd5gGkE", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11115958RSKhes9BK9ESGQ4fjbedBQshxLRmWqorMof4RAXMzmNsh5VA521YgtfqYXgmsd", "stackHeight": null }, { "programIdIndex": 3, "accounts": [ 1, 0 ], "data": "1111", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 25000000000, 0, 1, 1 ], "postBalances": [ 18265848960, 6734141040, 1, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2520 }, "blockTime": 1763404396, "slot": 380729496 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-multisig-init-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "25YPAFrCC6UGj56za1tEQwmGc97VS5arm6PAxMVYAxYLUFcbyJXFMi3LbFQ5wUjUXAYBiPq3v8PGL1PzEbuwquZM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y" ], "recentBlockhash": "3MB5MNRGxSWsy5PQk2oCTTb3B7pNxt6wwqhvKygBMvfW", "instructions": [ { "programIdIndex": 5, "accounts": [ 1, 0, 4, 5, 6, 2, 3 ], "data": "7SnYRRYHodD3RhjG7V2oGYdq3vEhqZgiH91Y9roTCUR3D3FNTumTy17LpFGzWR28sh", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18262307524, 0, 0, 0, 1, 1141440, 6734141040 ], "postBalances": [ 18257562764, 2143680, 1343280, 1252800, 1, 1141440, 6734141040 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111185163Bhx14N7QLXuATQTkcy58qUTxgEqUbY4BSFhC9mvZuMtYSy4f2qovWLJwbekzL", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 2 ], "data": "11112nBT7uc6uCuDYWZxzrh7twxPrQMBSD2Tu7fcMfcu5V7gq2QvkkHm9ZwRE9kHGVLkNC", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 3 ], "data": "111183jo2z36whaRMSxqHScMibpKNFrTEcPhNYCkRnEd4MavASpgtKSiLk5cQknY6mAoLc", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25464 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 25464 }, "blockTime": 1763404519, "slot": 380729804 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-multisig-init-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3ymxEfmZ9Hns8vKSMQMZRsgunvB2qEvpc3rowt9nHriHJ3WbZZBxNvQnDAtUxaMb5TC1y74NxwkWxpdhuBkoNXnW" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y" ], "recentBlockhash": "5W9foKYA1Z9yw9KpKV7kQ5H4jVmFW54C2s56dQHv9od7", "instructions": [ { "programIdIndex": 5, "accounts": [ 1, 0, 4, 5, 6, 2, 3 ], "data": "7SnYRRYHodD3RhjG7V2oGYdq3vEhqZgiH91Y9roTCUR3D3FNTumTy17LpFGzWR28si", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18257562765, 0, 0, 0, 1, 1141440, 6734141040 ], "postBalances": [ 18252818005, 2143680, 1343280, 1252800, 1, 1141440, 6734141040 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111185163Bhx14N7QLXuATQTkcy58qUTxgEqUbY4BSFhC9mvZuMtYSy4f2qovWLJwbekzL", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 2 ], "data": "11112nBT7uc6uCuDYWZxzrh7twxPrQMBSD2Tu7fcMfcu5V7gq2QvkkHm9ZwRE9kHGVLkNC", "stackHeight": 2 }, { "programIdIndex": 4, "accounts": [ 0, 3 ], "data": "111183jo2z36whaRMSxqHScMibpKNFrTEcPhNYCkRnEd4MavASpgtKSiLk5cQknY6mAoLc", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25464 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 25464 }, "blockTime": 1763404535, "slot": 380729842 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-ownership-transfer-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "BEphtJ9Cmk6yh8T2jXyVYmmnXMmRJVsvXQ6RXa7xrsrnZ29NbSAoGq5UXaLMgnzEGXBX2pVEJuvjLvoLVsK3Fpz" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "EsPs5Svb8ypeV8k7KQFQdQeCpNMAnX4XGdgob5jVWbC", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7GQoV9EhkHj6c63wCZRwJzoAFz1yfDc7pe1LXhAThBAAAJ", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18252446766, 2296800, 1141440 ], "postBalances": [ 18252441766, 2296800, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: TransferOwnership", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4250 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4250 }, "blockTime": 1763405673, "slot": 380732708 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-ownership-transfer-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "8Xirfn3KFMfaC9M9RgnL9C4dyRzK4JSYCmL8BhDR42JVA3mBirfW6YcUxz2edh86hW2QGvSiGqac4QTiw32J9Xi" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "5QnhJYTKtaETxndAYg6VEQYt7mNJbymaVcGvuXegvdc1", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "yEyTv9RkpitE2KhkXh3CNcWuN6CrWRhXseHmYRyKWHv7jB71wCME7Gbe2AFoDQcDMg4tC1ScXe88eRNoAzwsKbbCC6x4EJixfN", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251463246, 2296800, 1141440 ], "postBalances": [ 18251458246, 2296800, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: TransferOwnership", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4250 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4250 }, "blockTime": 1763405768, "slot": 380732945 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-execute-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4Spu1N8Frt5SdV9x8qLPrhw7jdL2Hq98dnsViSERFMNDLuch9KmtufqaWcZHM8ciX4FdQSSViG3eGJQfq8jXqyff" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "885f9TCAZYBjx827uGaJ3ykDeb2XmVJxUsHL7pGimRKo", "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 3, 2, 4, 5, 0, 1, 5 ], "data": "AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiRJK9C9ycwxvgJzJdoWUEY5eE496vZKZQur92E5B1oSteS96Ppq9qfs3HxuPZeRgjY7JBREUnzeqCMVZrLj45XwTJZTBB64xX7v3KCnURfUHWWDnNwVMAnWVMa8sC6433F6qL", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251468246, 2296800, 1252800, 1343280, 1141440, 0 ], "postBalances": [ 18251463246, 2296800, 1252800, 1343280, 1141440, 0 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 5 ], "data": "9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf91", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]", "Program log: Instruction: AcceptOwnership", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4110 of 181415 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success", "Program data: 3Q/UHSP8/04AAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 25725 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 25725 }, "blockTime": 1763405753, "slot": 380732908 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-execute-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3fyfEH82aRpymRGpc1FHuRCgggK6PkZGQTj61AortoqYUZoWmdsYyiEQumEDmRcFT4wH3vzstSTXTa22mdCAXuCM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip" ], "recentBlockhash": "BrHZo2gZkKmjwL14sz3vXfKWB4P4wyJsnJHKSv8AtaXR", "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 3, 2, 4, 5, 0, 1, 5 ], "data": "AtRVgKpNvpibnNeZF1j6npTBrht7qYrNPW95s5rfTPnPXyZ58rgdDiSpVuSK3raADYACv6yLFao6VxCGyimJx5LpwB66EGd8o8e7WbsPsTxsFUL1GtRUgcEEdzaCDcfcMd8dv9DCL4tPYjxYvrRYDXwL58tebpr1RykjSMr7hkJDwQcv94UEnLjcFM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250484726, 2296800, 1252800, 1343280, 1141440, 0 ], "postBalances": [ 18250479726, 2296800, 1252800, 1343280, 1141440, 0 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 4, "accounts": [ 1, 5 ], "data": "9YwhijzMHyNGk5ngX2sXQFjq518LPP6eCuh578AMt7utCa87gZPCf92", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]", "Program log: Instruction: AcceptOwnership", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4110 of 178415 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success", "Program data: 3Q/UHSP8/04AAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xKAAAAKwXKw3u1VWWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 28725 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 28725 }, "blockTime": 1763405846, "slot": 380733140 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-set-root-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5ha8pgydvyvGG9zRHuETtTHrhURXAMaMCCyzytXrr8hwhQG51k4cBFbpPoHpxhnrbwDyDc1uGE51JAEYDjd5N7Rw" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "3hzvX95bgheAdJ2ckPwgajmtwJ3B1q9GgM5dCGXb123h", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "H99e6H2mGMVKrgiZAu2SRqsHJ4KRd9eg7pK7qKhAXsxq", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXFfAfCrNtpfRVA39Fv8wz1ro8VFwDDYBZGqLkwk5B1s266cGPLM9oUbreQE9B9Ft2DA8fTAzFFVj5LLBDYDWHxpsdRfEhSpcUEPc7LqTr8NxG47azudzD8kzxxifBVbd8SKrniSYQ94rW7dkWzFa6CSukQrabD6aUvLbL74g6HfnSe94rq", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250986046, 1440720, 1343280, 0, 1252800, 2296800, 1, 1141440 ], "postBalances": [ 18251468246, 0, 1343280, 953520, 1252800, 2296800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXcujeEEUlYm6U7PHGE8KChuHcSIy436Jo3hYWIh8agurtOrHGkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQAAAAAAAAAAABAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 50632 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 50632 }, "blockTime": 1763405737, "slot": 380732868 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-proposal-set-root-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "RU4Kt5xWtBa3FPauKwtGpeZcfyW8GhuHk57SYcHKc9U9L7Ty1byDfVfVFNDWKMwhbpigDCLiT6ehjcRuCUjbLpm" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "Hkj6nPumZqfUqNbaw5CpperFRX7DvRzsJ9uC7jpaEJmC", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "6HgMXeF16kSrSujgtLHxQrYXcXxEA2sY7NpDH6brzYQo", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXJtNuxYFQBGDsqEuyJFnaxsKP1z2oN7fz5synoXA9WjvKSZekLVygp7pfpWBXHXyhHpFUbxGcZPa5uRFosUqzZffonbNUtL5mUmZbPmfaoCWN1QsRvgjx97Nq82Dm4fPekcEsJ8KLJcHrR66wzQwtSFotMwtKkLKoXsu5NUnYRBydP73X5", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250002526, 1440720, 1343280, 0, 1252800, 2296800, 1, 1141440 ], "postBalances": [ 18250484726, 0, 1343280, 953520, 1252800, 2296800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXfNC6FYzBVPEQTt6zh8MlSjRJ32KEDByF2mBdEmYApQxdOrHGkBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8AAAAAAAAAAABAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 50632 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 50632 }, "blockTime": 1763405830, "slot": 380733101 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-append-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5R5Lnd5XCsMnN7smXLT87nPRy6GyuK2pAJnkMdwyPPs5WPrnZSTYKKmLvvxmaM8HB48Lcrt9iy1XfQ1kY56xLgC9" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "b7nBq6vDcyzQL8bJGGwqgQWrfLrCWmxzVVBMWGCJyhQ", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7opsbGoJJRUA5zNnfQkZ2P73GErtSA9GWkR56wJTb1UwuZs15wmpHqnpxSnR5tRLmNviVRPMnFnMGFEkrL1kPsLSiydtbxyLAbShQM3q3JLpXQZtkYnHR5QEGx3Du8HCQeyzDWBfs3Sw2wE3XG", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250996046, 1440720, 1141440 ], "postBalances": [ 18250991046, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5939 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5939 }, "blockTime": 1763405707, "slot": 380732793 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-append-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4a4EmXp6nMYxJPPQQhRQ2BKF4JapBeMvFtNCwgFh3muxeVe1fYPYdd5s67GMPMxsNE9UmdYerktGt9dpSfj5gHrM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "GEKbJo78mZkmkHGBEgvQYntjep7EJrNFQdJUeVTHX4jx", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oxtrQm23YGi8ZnJ6wc6Q8Dikxw3ZLy55A7SuBXte8o4yGrwpSiyGVeS3wbDq1z22iWB9tPZHG16pGWBPP5XXEvGrsr63PiLERtY6Fxz2m1SUh2H4tFDSVrNKrAqYevXJHEU5EP6iK2JYanCkC", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250012526, 1440720, 1141440 ], "postBalances": [ 18250007526, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4439 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4439 }, "blockTime": 1763405799, "slot": 380733023 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-finalize-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "37MvH5swadnd5w4TByJ6Es4cBQz2ezSHGqUmewsbZkCr1FjoXgFoWtkrJnP9hzCJHxgGk6DHwfj8gGCEjd2YkAa7" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "5DyZudCFRUjwczrZrms5h5ULyDrAC1NP7vCBaWjqP5W3", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZD4wfksDxGmPjxFm4h9n681uASuUGxhfC5Qr4P65tbjVsqrf9pc", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250991046, 1440720, 1141440 ], "postBalances": [ 18250986046, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5551 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5551 }, "blockTime": 1763405722, "slot": 380732830 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-finalize-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5HXC1uq26gRRTZ4XmdB3VZCiUJPgZxwTt6xcPeDTCRiEHD9Wif18rwVd2ueY8xPDDyXP1LEk1VoWun7cvdYbDjnE" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "CyXprSi3Yi8bEmyGwV8Vkvu93DphUFYh7BVToTboardF", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZGDVHpd2kKALoJ8AEFetq6H5W7ypSvEDfEjSKVSHmBPf9CoWWY8", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250007526, 1440720, 1141440 ], "postBalances": [ 18250002526, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4051 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4051 }, "blockTime": 1763405816, "slot": 380733064 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-init-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2iPcUs5LqkLyyQL7RVbYFaTerrKSFaaU8QQ3WGdwP7iKTEuZNohKriA4F3zycCsqbX9xEUfiDtjJV1auZYTETKot" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "979heTZnttjzwEnAp5GKmmsQv3xjJ7vLtjGTwqYD5oph", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "24c2cMd4D6hUNeLGx4re7BFVChoWvGeXoUKQgRovetgn", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNakvvUwQdkUJcQwj6arW3L88rw2mko4TsFVbKDWFNvVUygXspRDQk", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18252441766, 0, 1, 1141440 ], "postBalances": [ 18250996046, 1440720, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9485 }, "blockTime": 1763405692, "slot": 380732756 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signatures-init-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "45PpszdJajmm792afWR2mGwpKEUoXELUDxMfixWFYXq3A6NFM68AXuuEM4qFF7JumUbkYtrafRFUQv9EtkjUKrzz" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Q9rWFqmQfqRdLSmcCHnH9Zozb2gKsZuo59xenW2zBsx", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "GTAkrHxWc1toHcf4ArcSVid1TKvKn49xjecmFv8eUxf2", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNazpe47yzHgsuRhRYq3xZ5nTrZsEwq1YkZNjNSCGZKk3QaLKvGefA", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251458246, 0, 1, 1141440 ], "postBalances": [ 18250012526, 1440720, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1763405784, "slot": 380732984 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-append-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3wRGcvjTgVkryWGQuuh3dTnia5VMzXtxMT4ZpNzaX2ANBcpN99CD7WsfooHBDYAytWE98Bv5Qoc1VnBLaM48TZp5" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "7mdBiZgx9Mbc9thatyJ3zPBowasihHu5SKk12XY3Y5Wi", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "5mwNAjtHu6ee24qfF3GTkSBY97JubXz17EoQiFmDkEwCpUwmh4ZJkr3oLxFdMFJppVhneFqvAomih6SGCKWBhvW6", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251685486, 1127520, 2143680, 1141440 ], "postBalances": [ 18251680486, 1127520, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSigners", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6290 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6290 }, "blockTime": 1763404678, "slot": 380730203 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-append-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "64tb9dFQRwPydv1vp5ShUsECdGDmUz9dR7Gdbz4oBtDfRcm6e29wjcYpQWqZFe98iAXnAbjzg7DwSmQfCqBNr2Ps" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "GdQ2fq2wPJ8Htdw6mmWKPnypKokrGMvhVdu8PVwEEnbx", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "5mwNAjtHu6ee24qfF3GTkSBY97JubXz17EoQiFmDkEwCpUwmh4ZJkr4CgZEjeY21HNXDnLsLW8Fqxt4mTGDRHkpS", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251512366, 1127520, 2143680, 1141440 ], "postBalances": [ 18251507366, 1127520, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSigners", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6290 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6290 }, "blockTime": 1763404747, "slot": 380730376 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-finalize-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4LcipNEhqZ68EMQVLe7kDNVY73dgUPDuNCNAturemYKpxTNMDGSradkDbzvZUrYqqe3ihZDWn9kw3R6gu5JqovWz" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "2zbiuxUfEb9SvRr35HMVdYWTDZxVDzHmc13LdVfZjE3Z", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ19", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251680486, 1127520, 2143680, 1141440 ], "postBalances": [ 18251675486, 1127520, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSigners", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6032 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6032 }, "blockTime": 1763404698, "slot": 380730252 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-finalize-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5zoKac4MG3XWJ4ZSwQVUEHqyYaerqP1GH6dbNSkzmPUmhdx8UzftSvGeAYsh1jkD4Tp4saBun8zg1zNyyLAMqU5m" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "HFYmC7coBXBEYE4DM8hNuapeAzYtahkw9gmj1gfebYEw", "instructions": [ { "programIdIndex": 3, "accounts": [ 2, 1, 0 ], "data": "3V5XNyH9GL3Zw7SV97YnoB8Qke2c7xemZuhdfjFiRP1AURoHATkNZ1A", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251507366, 1127520, 2143680, 1141440 ], "postBalances": [ 18251502366, 1127520, 2143680, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSigners", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6032 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6032 }, "blockTime": 1763404763, "slot": 380730416 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-init-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "awqAPiNwuZWbD61CwKjX9cGGRrYisjrfZ2r7mtt87i5tqnKQcdzypduLMBiei7VNKhikhPc2oJiAox2cUp97DwF" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "Bvk34iJX97TfQx9ut45FnMco9KqXF31r9dWQeBstYSxE", "instructions": [ { "programIdIndex": 4, "accounts": [ 2, 1, 0, 3 ], "data": "PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyC4", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18252818006, 0, 2143680, 1, 1141440 ], "postBalances": [ 18251685486, 1127520, 2143680, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 1 ], "data": "11114XgVFgpBb5bjtAfbLy9F1DkHZn5Cxfp2mhmeyvpLULzgpZizH6CArnbv5tBc5XCvPi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSigners", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 10273 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 10273 }, "blockTime": 1763404662, "slot": 380730162 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-init-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2k6VRhxpWSQ8y65KKcZdSJ44KveFGU8fow6UQLJQrW32SVoj8Sz1Voj6TwNJahJD1o4ogzX2vZVaXJvXBtEzW81R" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "Dar1Cx9QDbkJCNntuu7kxdP1r6gxaCZVQ8guu7JMZNsz", "instructions": [ { "programIdIndex": 4, "accounts": [ 2, 1, 0, 3 ], "data": "PXWSyLz7TkBDeki3V6tWD5LEQFNUshsGo5XhC69om7re6dKuVXRBHyGU", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18252644886, 0, 2143680, 1, 1141440 ], "postBalances": [ 18251512366, 1127520, 2143680, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 3, "accounts": [ 0, 1 ], "data": "11114XgVFgpBb5bjtAfbLy9F1DkHZn5Cxfp2mhmeyvpLULzgpZizH6CArnbv5tBc5XCvPi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSigners", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 10273 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 10273 }, "blockTime": 1763404733, "slot": 380730338 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-set-config-0.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "9H3FqRsNBx2spV9Upo1BMZDahWVkPYHkV7o7xTvDxpcWwBht7vUAnHzTFiuryKQa5Mvqufasg6swny89sa7fJdG" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "EyaaXREt9eka9oqfHg5MRgNcUkBjtFSJbjh2LRiBWQJr", "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 2, 3, 4, 0, 5 ], "data": "23iSvsLwSCn7knRbxSMv3bBZRN2yCosVjpSo9DNtDyx2Va5qyUwvTeabCV4vcSbRE5JnSa7McQkMtUWALtYwysCDWemdF6p9KMqis1LD2yKABWYVqkGuLh1NySGSSQRS6h8cD2FE1wRKH18Vc2eiD6P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251675486, 2143680, 1127520, 1343280, 1252800, 1, 1141440 ], "postBalances": [ 18252644886, 2296800, 0, 1343280, 1252800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 0, 1 ], "data": "3Bxs46GMpF1QDeeT", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetConfig", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACy2aUudoQSee8DcsU0xTmk9o+MCwAA", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 19446 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 19446 }, "blockTime": 1763404717, "slot": 380730300 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/mcm-signers-set-config-1.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4WTK6nzP2XjunT7KxPVimZnbdm2iQTwgrqVxeDmooLW6VHa9bo41ks9zfdz7PxSN1oKRwvbU4JR3kEZH6XT7Mjs9" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "6TykttNGE82Q36wuCzDdJwEBZ3bFfJvur2TNnPRmRmbh", "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 2, 3, 4, 0, 5 ], "data": "23iSvsLwSCn7knRbxSMv3bBZRN2yCosVjpSo9DNtDyx2Va5qyUwvTeanSxpTGZBXbCoi6qh2wDoUcSDSGqmzAE1VuHieJR7XZXfWYACDVoPu4i4yM2gwAfQcTjVjEtdKxPa4Z52fXAfqcAW8277VC1u", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18251502366, 2143680, 1127520, 1343280, 1252800, 1, 1141440 ], "postBalances": [ 18252471766, 2296800, 0, 1343280, 1252800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 0, 1 ], "data": "3Bxs46GMpF1QDeeT", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetConfig", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAACy2aUudoQSee8DcsU0xTmk9o+MCwAA", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 19446 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 19446 }, "blockTime": 1763404779, "slot": 380730456 } ================================================ FILE: solana/mainnet/2025-10-27-deploy-mcm/artifacts/set-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4YULW1wpCCGh2GACAwutdbziFmCbR66uzmpP1YmCZCCytH6yo2UevwvkWT7JoA2N1RRqkuZvnRYuNRv5WNMoLcmL" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "2xMKRCcNhx3eL1FxCpZmT6Fxi3Sj4PC4pWZNiWWdck7Y", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "AEvqXJ5uKvUefnkH8Xo3v5of5n5fnbdVVVbim6ZTbcxJ", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 18250479726, 6734141040, 1, 0 ], "postBalances": [ 18250474726, 6734141040, 1, 0 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1763406707, "slot": 380735312 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/FACILITATORS.md ================================================ # Facilitator Instructions: Signers Update MCM 0 ## Overview As a Facilitator, you are responsible for: 1. Preparing the new signers configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/mainnet/2025-10-27-signers-update-mcm-0 make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with signers configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # New signers configuration MCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3 MCM_SIGNER_GROUPS=0,0,1 MCM_GROUP_QUORUMS=2,1 MCM_GROUP_PARENTS=0,0 MCM_CLEAR_SIGNERS=false # or true if needed MCM_CLEAR_ROOT=false # or true if needed ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - All new signers are included - Signer groups are correctly assigned - Group quorums are appropriate - Group parent relationships are correct - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM signers update proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal - Print the new configuration ## Phase 4: Verification ### 4.1. Verify MCM configuration Check that: - All new signers are present - Old signers (if removed) are no longer present - Signers are in the correct groups - Group quorums are set correctly - Group parent relationships are correct ### 4.2. View on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction to verify the update. ### 4.3. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/Makefile ================================================ include ../.env include .env include ../../Makefile LEDGER_ACCOUNT=1 ## # MCM Signers Update Workflow ## # Step 1: Create signers update proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating MCM signers update proposal..." make mcm-proposal-update-signers # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing MCM proposal..." make mcm-all make mcm-signers-print-config ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/README.md ================================================ # Signers Update MCM 0 Status: [EXECUTED](https://explorer.solana.com/tx/2MckFEES6ak47G1FDPWWx4Zb56Nz5QTTDtbWFUF5dnSRyyZ7E2NAiiSQKe7VeCj7vhxRfm2aWgmjfN4HHaRyiepE?cluster=mainnet) ## Description This task initializes the signers configuration of the multisig `0x0000000000000000000000000000000000000000000000000000000000000000` managed by the MCM program. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/mainnet/2025-10-27-signers-update-mcm-0 make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2MckFEES6ak47G1FDPWWx4Zb56Nz5QTTDtbWFUF5dnSRyyZ7E2NAiiSQKe7VeCj7vhxRfm2aWgmjfN4HHaRyiepE" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "11111111111111111111111111111111" ], "recentBlockhash": "B9MUPGAdMMTs3DvAXqfBsjHEvauLAJcd4KBbBFpCXA24", "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 4, 2, 6, 5, 0, 1, 3, 4, 2, 5, 7 ], "data": "xPJdsLVymgKCpabzojkvKXubxUQWXktU6BFtEHABjhj3NTaD2AkGbMuwska1ZwCL5NYNEVpqs6seAtB3c9peEgHhbb1noFTiqDLNJVEbEcRdG96MzE5C9fNCrpzW7jp7cL3Bww7U3wYJc9w3RXo43qB3GpPAmNXPVgJ2caaqV2d4chp2BJWfEvZPGbRd1pLt8J8V6DDM1yxGXh9vraCNr6FxruCEAyJq4frLf8QPTTHoCpbxkWmwLivuAuZufTZRnmf9gg6moHALVMp4QkVZtuiMFGq9Q2UC", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17249486218, 2296800, 1252800, 1823520, 1343280, 498176480, 1141440, 1 ], "postBalances": [ 17249481218, 3062400, 1252800, 0, 1343280, 499234400, 1141440, 1 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 3, 4, 2, 5, 7 ], "data": "XEaWes2r5sLYNDMGWUuzMytB7fGVziTNscVB8pcjn7UYs9Y7AcPVsga2x33yqJCa96gERy7Dneer67t4SaZ3uHC3G47AUnHuoqmLwfm4T4Evu6FTvP3uhfzqpXogo4EwULeg4Zbrb26Zn9S7WchhUEpeazYQP", "stackHeight": 2 }, { "programIdIndex": 7, "accounts": [ 5, 1 ], "data": "3Bxs4TjTQnrzkZ99", "stackHeight": 3 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]", "Program log: Instruction: SetConfig", "Program 11111111111111111111111111111111 invoke [3]", "Program 11111111111111111111111111111111 success", "Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAchwd2sWip/66AxR8FDGEe3SRnQQAAPNaS7Oi2VzoiIK4A0N65jw3/qaEBAD2tIgCEmSW7Rtm/Ba+l9/IT9MGOAgBs04UHVreJR3SrcV0Tb53QKDfeUAMAsBGjLti09w2ZQ6IZn1Obvs17YvcEAPnjIPPaEuaK8hnZ4qSQ3WSfaxd8BQA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 21583 of 172579 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success", "Program data: 3Q/UHSP8/04EAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xcwAAAGyemq/UYjRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 53157 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 53157 }, "blockTime": 1763415814, "slot": 380758176 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3GtERhm4awsxBpYMjuDDMdFYkwkRAqj8V8jvVQi3cJpzz69sTfAL7YNRUUhTJpyjDrHaVKp1rrRNkoBZYqYuECs5" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "5joFZWbVTjFSXGgK5MuCh5yFM2TUEkuwnW8x83TxQhcu", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "ESZ2ydUndjxCDVViN1ymVejxZEb4SWRUHvyZPyEfPNw1", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "2P1Ehuf5MKok5bGmDbTSnCN1B2DcDPSK1QZnm5HFjYNmS7Qxa1sy294EQdjyFib4v96PoHhs5RujFC2iLPwzJFjrSoHp55tAVD2BWt1Nd9Xtf9gNcvQybAJWuzhmdqw8en9bKgTEwKPb3tehwbMfiLWoT6pZLyzUMRu6pMKTM2dcbDvKRynU6fHHMnKtXTFi8pBaYbNMwcDtyvN1zjYwtt8ghdXK559XegARTCwEuwQXQK5HjqVC5hPtWmUFJbhukGE8B1rTunBiQRYM8b8mo1XJJMpspTDy3Cy47VsBYG2GCEhhUATFy2nLLsWJFwv", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17249019018, 1440720, 1343280, 0, 1252800, 2296800, 1, 1141440 ], "postBalances": [ 17249501218, 0, 1343280, 953520, 1252800, 2296800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXc/77glZH7L4sQgWFz8dceAQ40vRUsnhmrtJ/RKIWAsC9OrHGkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQAQAAAAAAAAAFAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 52763 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 52763 }, "blockTime": 1763415753, "slot": 380758022 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "65yT5Y8Gu2tZFtRXMnuDyuBTeJDNEWu8xXQ8yPhG48tnY8TDxEiTN6gYWui3B6qeeQJwnC1WoBgprMw1jEdBH7L5" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "FJL8HfFB86Xx65wmcUV9qbzsQNcUzjVaSCEthRE1cw6H", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oqD6vkFAV6Utpi3d7uvYmyLHcumpoJEUJq373LaWfzjxarQtSTTo1471KiRFVkWKrGhmA4o2RA1GjaLpmUScMdw68Ht1WjqwektYMkS4dYp2u6WvcK9g2XFgEs39MvFnkgGVWrj6ubrrCcHzY", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17249029018, 1440720, 1141440 ], "postBalances": [ 17249024018, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5939 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5939 }, "blockTime": 1763415724, "slot": 380757948 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2GMhLW6VqFXjoNKGsF94ZponiZ1bwMDi7PGmMDe5of8nFmLowhp1gS3hPwfQYDnvuY27RTyRGZ7QupGdxA1xeBxj" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "3vGukGh2hHpeCC5guPCKDB7h4Ni6KN29t1PSvDz63kgw", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZDCbg2dLhYKkiDa4HrPhWSkLZAvwqriC2JX7MZPnitUKKaVyykk", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17249024018, 1440720, 1141440 ], "postBalances": [ 17249019018, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5551 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5551 }, "blockTime": 1763415739, "slot": 380757985 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "SaYDZxyhKMw5Jj14H1QupruNqCmR43WZXjYikMj7sRbtCpaJcv3bhaFPtfRnhyUwQ2TWt1opUoYFm8hKts9Z7p4" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "2rWVoaGBa15P23yBFBQHzdD8re4w1mo6fzZyDVPinKQj", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "DkRtPcUH3uFFT8xrMuP9boPVWLveoc2WH1FC4mFtSbgb", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNamWiE8yMXSySyHKrcwHV7UpB1LGGUG2DLMSxjKjX9dMy686ZWnN4", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17250474738, 0, 1, 1141440 ], "postBalances": [ 17249029018, 1440720, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9485 }, "blockTime": 1763415707, "slot": 380757904 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-0/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1763486675, "instructions": [ { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "ZraBEIqO38QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY=", "accounts": [ { "pubkey": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "isSigner": false, "isWritable": true }, { "pubkey": "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "isSigner": false, "isWritable": true }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": true }, { "pubkey": "11111111111111111111111111111111", "isSigner": false, "isWritable": false } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAchwd2sWip/66AxR8FDGEe3SRnQTzWkuzotlc6IiCuANDeuY8N/6mhPa0iAISZJbtG2b8Fr6X38hP0wY5s04UHVreJR3SrcV0Tb53QKDfeULARoy7YtPcNmUOiGZ9Tm77Ne2L3+eMg89oS5oryGdnipJDdZJ9rF3w=", "accounts": [ { "pubkey": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "isSigner": false, "isWritable": true }, { "pubkey": "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "isSigner": false, "isWritable": true }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": true } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "Mf6a4onHeD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "accounts": [ { "pubkey": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "isSigner": false, "isWritable": true }, { "pubkey": "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "isSigner": false, "isWritable": true }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": true } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "bJ6ar9RiNEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "accounts": [ { "pubkey": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "isSigner": false, "isWritable": true }, { "pubkey": "9bWEpMR8ZsA8ah8TgEzw4g1LpTLBDiZpntzBJWEvF9UG", "isSigner": false, "isWritable": true }, { "pubkey": "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "isSigner": false, "isWritable": true }, { "pubkey": "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "isSigner": false, "isWritable": true }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": true }, { "pubkey": "11111111111111111111111111111111", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "preOpCount": 1, "postOpCount": 5, "overridePreviousRoot": false } } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/FACILITATORS.md ================================================ # Facilitator Instructions: Signers Update MCM 1 ## Overview As a Facilitator, you are responsible for: 1. Preparing the new signers configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana/mainnet/2025-10-27-signers-update-mcm-1 make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with signers configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # New signers configuration MCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3 MCM_SIGNER_GROUPS=0,0,1 MCM_GROUP_QUORUMS=2,1 MCM_GROUP_PARENTS=0,0 MCM_CLEAR_SIGNERS=false # or true if needed MCM_CLEAR_ROOT=false # or true if needed ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - All new signers are included - Signer groups are correctly assigned - Group quorums are appropriate - Group parent relationships are correct - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM signers update proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal - Print the new configuration ## Phase 4: Verification ### 4.1. Verify MCM configuration Check that: - All new signers are present - Old signers (if removed) are no longer present - Signers are in the correct groups - Group quorums are set correctly - Group parent relationships are correct ### 4.2. View on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction to verify the update. ### 4.3. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/Makefile ================================================ include ../.env include .env include ../../Makefile LEDGER_ACCOUNT=1 ## # MCM Signers Update Workflow ## # Step 1: Create signers update proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating MCM signers update proposal..." make mcm-proposal-update-signers # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing MCM proposal..." make mcm-all make mcm-signers-print-config ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/README.md ================================================ # Signers Update MCM 1 Status: [EXECUTED](https://explorer.solana.com/tx/3Hch6HsfACH5HBSVJJH8LTPLvE8y8oEkwBgDkBMAWFuUx3YJNzzP2pNtMy2Q5k5HStxeUUFvhtVKezmT5ZTnFqqf?cluster=mainnet) ## Description This task initializes the signers configuration of the multisig `0x0000000000000000000000000000000000000000000000000000000000000001` managed by the MCM program. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/mainnet/2025-10-27-signers-update-mcm-1 make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 4. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3Hch6HsfACH5HBSVJJH8LTPLvE8y8oEkwBgDkBMAWFuUx3YJNzzP2pNtMy2Q5k5HStxeUUFvhtVKezmT5ZTnFqqf" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "11111111111111111111111111111111" ], "recentBlockhash": "B47NTtxtswzUcucc5dZ2QaBZwK4S1BuYAhGa1VpHFGxL", "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 4, 2, 6, 5, 0, 1, 3, 4, 2, 5, 7 ], "data": "3kcTRTpxJcrs4s4GZnDXhkDLBwNjbAaapEppAKRVW7zfToUnwDJrmPkbjBWUmSLRTSWK2og8WARFsLXgL1LTwZJAq7tyYgAxcUHnDannrC7eyjN3uVDNNPm3YHLxoh19SEAyZSuMtJNjWQPyPma9hNW84r6dzWbvj8jKYjuyJdC9cdoejpiTKEoBg3WkYMqTQqW2W4m7LLATancfEArCMmTr1S633w3bUhTFVbJqYVqhGgHoSX9bWn3wmBEjc17e9hkM3ix43JH4aJjPUapE7gAuaRoBJQV6PuPjvmJDGxQQKy61Ss4vzfRos9hXJBydd6Vh9YnsGpCTHmtgVXx5jH", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17248487698, 2296800, 1252800, 2797920, 1343280, 497202080, 1141440, 1 ], "postBalances": [ 17248482698, 4134240, 1252800, 0, 1343280, 498162560, 1141440, 1 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 1, 3, 4, 2, 5, 7 ], "data": "64JuGGLk9NDtcuqYHbYdvLn9JcaqmyombUTYwgoe9NEY5ybzeFgrm9GoDrbFUHeDhU1w5TCoY5Ho34D95PwBPKcuczgYwbLauk9UonBaZZTWp4G3uX5evCTgsP2eoVmt9VW7b4kRd8FSPnwX2gMr69gwdu7QsE9wGbZmn8w", "stackHeight": 2 }, { "programIdIndex": 7, "accounts": [ 5, 1 ], "data": "3Bxs4NGmNXRayFFD", "stackHeight": 3 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [2]", "Program log: Instruction: SetConfig", "Program 11111111111111111111111111111111 invoke [3]", "Program 11111111111111111111111111111111 success", "Program data: D2g7EOzxCAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAYQcs8LOaHDQQXhEyBeEnaZObpNwAAJMOuGu24FC0yu207mI9ZEPJy1TsBACbHJYb7OWMl9YcYFS/vqU6Tzxd7AgBEJ2g6ofD/JczcSl24MBDB3ptf9AMASSQ9zpTg9aGwi5VWu+xahDY8ODkEAFQagz5DA+tWpFvn6OSpCNuXVo0eBQBUaJhbVg2Wbe3qLa9JP1dWEBE33AYAWxVLhYcWjLmE/2EPXedCidj2iHQHAGROPe2w5Pg7/Pj5mSlk0kAiS3TcCAB62Oa3sfbWb0lVnyAFPO+Ke2xIjgkAox4cONXDfY7NDpTIDA9/1iTQCaMKAKPTwQNELxYoVhY9VkuYOuU4xiAtCwCzey1CywwQ6/lieczsosv8R8byNgwA", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 24475 of 169293 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success", "Program data: 3Q/UHSP8/04FAAAAAAAAAGcCh4N9eJPb3aw2yi+BQJPBooja8IcVaJvnIO7D4O5xegAAAGyemq/UYjRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 60896 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 60896 }, "blockTime": 1763416490, "slot": 380759868 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5r98JeeE9YWRcTbiRxnRgGZNivhw41ptmpxmk4vaCoezxX7aMRWCDd5degcjH358Dz1Snoypu5NxryFwSux5BeKM" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "Hi7LkWpHkpnm8HQ4j4GE9ZkuwanU2z9r2wA8umhLDtgX", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "2faUBAt1iZbG5oKrJoHMMd1Uvne5f63u1Xmgf5n3ktQu", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "2P1Ehuf5MKok5bGmDbTSnCN1B2DcDPSK1QZnm5HFjYNmS7Qxa1sy294UziAKBYk6hjt3pJLcQDxAVM9uyqrmcRjTeCS8E2gsYzCi2yv62Xu9GfFdHfHbtKj3whJgcsBvh6wucrWi84dpeE7rJoPWWJfcDJsQ2VjdUccNK7temfDg4hWfkRieghsZod8X94WZddyyn3gR8UfjBAzUvw2GyWRwB8bwSTtBePjTtFZPP428M93PKNGD8j8E3L363HeHWknDuZocFepg9Yvc3ACR9ALaTtgrUajGWM1WLeg7NXLcqac86KX6vXaN7tiN49B", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17248025498, 1440720, 1343280, 0, 1252800, 2296800, 1, 1141440 ], "postBalances": [ 17248507698, 0, 1343280, 953520, 1252800, 2296800, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXet7WzvylOWknsG9kAjcmbuOtntOsPI+nuQA3C1RRvVQdOrHGkBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8AQAAAAAAAAAGAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 49763 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 49763 }, "blockTime": 1763416410, "slot": 380759666 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3SuVkDZyCidxnwZ3RnSi46aGq7PmeQJLKBbb1fsmoJn432n4SR5B7DN2P6HfMghLU7LUieNqzM5HKPiHyKpBrrXi" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "2UcYYaQ93JafJBZHemKQjAva6247aKneFxfEGRmk4cck", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "q7VthGLU3rBtHaTsCi9bYRTPooHVyQugCmrGyK2CSeHv7cujNKMX7oxHvVoaZDPujEaHRFpBTfWxqPhwjJzewaF39u2aQcvgszoKGsRx9RVuzBZzoyoDJQkAauc5kLnYFJbWFzfPtpCSBrrNQYNR4BLYQsZhBVr3DvnWvXMtLhdKmQDGWroxtX8rBRUH675W5Hm92H", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17248035498, 1440720, 1141440 ], "postBalances": [ 17248030498, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4439 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4439 }, "blockTime": 1763416376, "slot": 380759582 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3VEoURAh2Dc6TDB9L8nwyG2ebb5yhH7WxpddFfHNawfemTgGdnPBCWWpv1LMURmyAwqymsfweXCACSXzz7diEG91" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "BPLhKzJKdocpwXi5bfL8kk3VrRj7omaBDFZ6CPkAabEF", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZFynRXJG5m1W9HXLHH1ChqHocM7wvVDoEZ5kj2U13hEn7GrvnsA", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17248030498, 1440720, 1141440 ], "postBalances": [ 17248025498, 1440720, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4051 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4051 }, "blockTime": 1763416392, "slot": 380759624 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "31wMMRGTo45iDne6xP6mZotSB4jPRaYH1oD2pebQS19DbraFxFL97Uw4HLBzwV8JMjb96djznfUYSunZZhudAXCo" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "CiQ8Ea73YsFCUrVTYjcj8HKy9v14a3LZnxpHrAEqwgGE", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "3QDopoZ54wCYvhBoeVmH2Fzv4LEXx47GdXDJyeSuqguV", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNayn9g7X99WxtfvmqCPvBykK4RMEpphAtkRj3g5E7YdnDKpF1Sifz", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 17249481218, 0, 1, 1141440 ], "postBalances": [ 17248035498, 1440720, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11118fdCyr6AWCbQyCZP4gmXmuwkVYaeAxwQhhSL7YPSRE7gcgxyCiyA93npMAsbpAAiHv", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1763416358, "slot": 380759540 } ================================================ FILE: solana/mainnet/2025-10-27-signers-update-mcm-1/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000001", "validUntil": 1763486675, "instructions": [ { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "ZraBEIqO38QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0=", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": true }, { "pubkey": "11111111111111111111111111111111", "isSigner": false, "isWritable": false } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQoAAAAYQcs8LOaHDQQXhEyBeEnaZObpNyTDrhrtuBQtMrttO5iPWRDyctU7Jsclhvs5YyX1hxgVL++pTpPPF3tEJ2g6ofD/JczcSl24MBDB3ptf9EkkPc6U4PWhsIuVVrvsWoQ2PDg5VBqDPkMD61akW+fo5KkI25dWjR5UaJhbVg2Wbe3qLa9JP1dWEBE33FsVS4WHFoy5hP9hD13nQonY9oh0ZE497bDk+Dv8+PmZKWTSQCJLdNx62Oa3sfbWb0lVnyAFPO+Ke2xIjg==", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": true } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "7tH7JynxkhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQMAAACjHhw41cN9js0OlMgMD3/WJNAJo6PTwQNELxYoVhY9VkuYOuU4xiAts3stQssMEOv5YnnM7KLL/EfG8jY=", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": true } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "Mf6a4onHeD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": true } ] }, { "programId": "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY", "data": "bJ6ar9RiNEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0AAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "accounts": [ { "pubkey": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "isSigner": false, "isWritable": true }, { "pubkey": "3Le1gdszSr6BdXAnF6P3oe7CcCmf2CjwwQoA2iLvRDJ7", "isSigner": false, "isWritable": true }, { "pubkey": "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "isSigner": false, "isWritable": true }, { "pubkey": "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": true }, { "pubkey": "11111111111111111111111111111111", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "preOpCount": 1, "postOpCount": 6, "overridePreviousRoot": false } } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/.gitignore ================================================ bridge/ *keypair.json ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: install-bun install-bun: curl -fsSL https://bun.sh/install | bash .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor install-bun ## # Deployment Workflow ## # Step 1: Clone and build bridge programs .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning and building bridge programs..." rm -rf bridge git clone --filter=blob:none $(BRIDGE_REPO) bridge cd bridge && \ git checkout $(BRIDGE_COMMIT) cd bridge/clients/ts && \ bun install && \ bun run build cd bridge/scripts && \ bun install # Step 2: Build programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." mkdir -p bridge/solana/target/deploy && \ cp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \ cp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \ cd bridge/solana && \ anchor keys sync cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../$(BRIDGE_KEYPAIR) \ --base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR) # Step 3: Deploy programs .PHONY: step3-deploy-programs step3-deploy-programs: @echo "==> Step 3: Deploying programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program bridge \ --program-kp ../../$(BRIDGE_KEYPAIR) \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/bridge-deploy-artifacts.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol deploy \ --deploy-env $(DEPLOY_ENV) \ --program base-relayer \ --program-kp ../../$(BASE_RELAYER_KEYPAIR) \ --deployer-kp $(DEPLOYER_KP)" \ output=artifacts/base-relayer-deploy-artifacts.json # Step 4: Initialize programs .PHONY: step4-init-programs step4-init-programs: @echo "==> Step 4: Initializing programs..." make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol bridge initialize \ --program-id $(BRIDGE_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --remote-sol-address $(SOL_REMOTE_TOKEN) \ --eip1559-target $(BRIDGE_EIP1559_TARGET) \ --eip1559-denominator $(BRIDGE_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BRIDGE_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BRIDGE_EIP1559_MINIMUM_BASE_FEE) \ --gas-per-call $(BRIDGE_GAS_PER_CALL) \ --gas-cost-scaler $(BRIDGE_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BRIDGE_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BRIDGE_GAS_FEE_RECEIVER) \ --protocol-block-interval-requirement $(BRIDGE_PROTOCOL_BLOCK_INTERVAL_REQUIREMENT) \ --buffer-max-call-buffer-size $(BRIDGE_BUFFER_MAX_CALL_BUFFER_SIZE) \ --base-oracle-threshold $(BRIDGE_BASE_ORACLE_THRESHOLD) \ --base-oracle-signer-count $(BRIDGE_BASE_ORACLE_SIGNER_COUNT) \ --base-oracle-signers $(BRIDGE_BASE_ORACLE_SIGNERS) \ --partner-oracle-required-threshold $(BRIDGE_PARTNER_ORACLE_REQUIRED_THRESHOLD)" \ output=artifacts/init-bridge.json make sol-confirm-cmd \ cmd="cd bridge/scripts && \ bun cli sol base-relayer initialize \ --program-id $(BASE_RELAYER_PROGRAM_ID) \ --rpc-url $(SOL_RPC_URL) \ --payer-kp $(DEPLOYER_KP) \ --guardian $(GUARDIAN) \ --eip1559-target $(BASE_RELAYER_EIP1559_TARGET) \ --eip1559-denominator $(BASE_RELAYER_EIP1559_DENOMINATOR) \ --eip1559-window-duration-seconds $(BASE_RELAYER_EIP1559_WINDOW_DURATION_SECONDS) \ --eip1559-minimum-base-fee $(BASE_RELAYER_EIP1559_MINIMUM_BASE_FEE) \ --min-gas-limit-per-message $(BASE_RELAYER_MIN_GAS_LIMIT_PER_MESSAGE) \ --max-gas-limit-per-message $(BASE_RELAYER_MAX_GAS_LIMIT_PER_MESSAGE) \ --gas-cost-scaler $(BASE_RELAYER_GAS_COST_SCALER) \ --gas-cost-scaler-dp $(BASE_RELAYER_GAS_COST_SCALER_DP) \ --gas-fee-receiver $(BASE_RELAYER_GAS_FEE_RECEIVER)" \ output=artifacts/init-base-relayer.json # Step 5: Print SOL vault .PHONY: step5-print-sol-vault step5-print-sol-vault: @echo "==> Step 5: Printing SOL vault..." cd bridge/scripts && \ bun cli sol bridge sol-vault \ --bridge-program $(BRIDGE_PROGRAM_ID) # Step 6: Fund SOL vault .PHONY: step6-fund-sol-vault step6-fund-sol-vault: @echo "==> Step 6: Funding SOL vault..." make sol-transfer SOL_RECIPIENT=$(SOL_VAULT) output=artifacts/fund-sol-vault.json # Step 7: Fund the gas fee receiver .PHONY: step7-fund-gas-fee-receiver step7-fund-gas-fee-receiver: @echo "==> Step 7: Funding gas fee receiver..." make sol-transfer SOL_RECIPIENT=$(GAS_FEE_RECEIVER) output=artifacts/fund-gas-fee-receiver.json # Step 8: Transfer upgrade authorities of the bridge and base relayer programs .PHONY: step8-transfer-upgrade-authorities step8-transfer-upgrade-authorities: @echo "==> Step 8: Transferring upgrade authorities of the bridge and base relayer programs..." make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(UPGRADE_AUTHORITY) make sol-program-show SOL_PROGRAM_ID=$(BRIDGE_PROGRAM_ID) make sol-program-set-upgrade-authority \ SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) \ NEW_UPGRADE_AUTHORITY=$(UPGRADE_AUTHORITY) make sol-program-show SOL_PROGRAM_ID=$(BASE_RELAYER_PROGRAM_ID) # Step 9: Generate set-upgrade-authority artifacts (use solana explorer to get the signature of the set-upgrade-authority tx) .PHONY: step9-generate-set-upgrade-authorities-artifacts step9-generate-set-upgrade-authorities-artifacts: @echo "==> Step 8: Generating set-upgrade-authorities artifacts..." make sol-confirm SIG=$(SET_BRIDGE_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-bridge-upgrade-authority-artifacts.json make sol-confirm SIG=$(SET_BASE_RELAYER_UPGRADE_AUTHORITY_SIGNATURE) output=artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/README.md ================================================ # Bridge Mainnet Deployment Status: EXECUTED ## Overview This deployment initializes the Bridge and Base Relayer programs on Solana mainnet. ## What Will Be Deployed This deployment will: 1. **Deploy the Bridge program** 2. **Deploy the Base Relayer program** 3. **Initialize both programs** with production configuration including: - Guardian addresses - EIP-1559 fee parameters - Gas fee receivers 4. **Fund the required accounts**: - The SOL vault (to guarantee it staying rent-exempt) - Gas fee receiver accounts 5. **Transfer the upgrade authorities** of the bridge and base relayer programs to the MCM 0 Authority ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/base-relayer-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "rTNKjczt6cPLf3Ah2ZdLhqtywRTktwQozsAYENEfdsJYzj69LqURUjLEmrNsTNyarZNUSwwGj6ayo6VXVDbswzW", "5j2vGLcjhT9WNbNVC6h99GoiEeqd86qqjpqzuaFvSWcpm6KtniDzDdzzMzZXAxKHM6p3gH9aaWE8mTAn6RUoVwkB" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9", "7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ", "7uxVqvkXiYLLqypvoi3URYW8RYihe1TBhh8bCW7MiKgb", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "9R7dpUriXHKpdgMLG1amHuoG2Djba3FNn2V2eJD4ateR", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 2, 1, 3, 7, 6, 4, 0 ], "data": "3Bxs42J4x6iEtSZM", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 9022092102, 0, 0, 2098391282, 1, 1, 1169280, 1009200 ], "postBalances": [ 9020940664, 1141440, 2098391280, 0, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 2, 3 ], "data": "11119qYqhtqT5NHTm27UYqYVeF4Lm2dwfwCnPkVvZ6nWdk5kZP2tzGt1VBLLyRd9W8hoWf", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1764173488, "slot": 382676080 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/bridge-deploy-artifacts.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3sPJgLH8BVMMd6xUEwfCdebYxu4kbhbGrUomL8UmdSPwYFLqP6fFySskhWjxxfF8LpAfpc7XvKU4sVScH5MCvWea", "2BUG2CGYadtqcmHNuZ83rtZr7xAqzEETNSs5X3jmZaFmyW9wrVnavFc9VBDjBAaNdXDxaLFjY9qKbvLHvqktgTjr" ], "message": { "header": { "numRequiredSignatures": 2, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "8GGA2DJ2R1XoaTdtpbZmSzQFn47588PhjgPKYnVirvSf", "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "11111111111111111111111111111111", "BPFLoaderUpgradeab1e11111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "SysvarRent111111111111111111111111111111111" ], "recentBlockhash": "4k572nQrCYPueTWYXYNar7HVXrvsdwbGviwmDiNkzXLx", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 1 ], "data": "111184NuZo7gmbjwda8fGAim94roEJcdbYKd7Gdtpi6CbBByeanCr8u4EAFXLjnY2U8bjD", "stackHeight": null }, { "programIdIndex": 5, "accounts": [ 0, 3, 1, 2, 7, 6, 4, 0 ], "data": "3Bxs4WN6jLMpcx3h", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 10000, "preBalances": [ 11123134820, 0, 6120992882, 0, 1, 1, 1169280, 1009200 ], "postBalances": [ 11121983382, 1141440, 0, 6120992880, 1, 1, 1169280, 1009200 ], "innerInstructions": [ { "index": 1, "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 3, 2 ], "data": "111159HsydaU3uzqG2hq9Sx6KfvrezAjfEmE3BdaWEuGA82n6u1foDH3rgMpomPUey4oS7", "stackHeight": 2 } ] } ], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Deployed program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2670 }, "blockTime": 1764173461, "slot": 382676009 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/fund-gas-fee-receiver.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "661dWYceDWo8o7YPKLhUKvA7Z1zoL7pepYHpk1QobAU1fCkUkkdEHypPkZXbTXhTJ4Tez5i9PzzKbCZikt9nZKZv" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4m2jaKbJ4pDZw177BmLPMLsztPF5eVFo2fvxPgajdBNz", "11111111111111111111111111111111" ], "recentBlockhash": "9kipePZycLWmSXpEZFSc2w8kLXTRv1LgopT77ZSu35A5", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 8914299744, 0, 1 ], "postBalances": [ 8814294744, 100000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1764173790, "slot": 382676865 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/fund-sol-vault.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "5eWW3B6ccZ8zqhMZ4j3ECwEwWsArRmee5ctLj67HKcfKQTSzg5bs6jBJmzi15zaMyrvM71ZTadMf9zCQQtgCFM8X" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "6a8ASXNsMqYb2RXvAYwJU9jU4ACPSrFAeNMQkXuudXnh", "11111111111111111111111111111111" ], "recentBlockhash": "CmoZAirSwANNrbLeiFK3MzqGGDXHKSoWNnvBqmhqENpp", "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "3Bxs411Dtc7pkFQj", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 9014304744, 0, 1 ], "postBalances": [ 8914299744, 100000000, 1 ], "innerInstructions": [], "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 150 }, "blockTime": 1764173610, "slot": 382676394 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/init-base-relayer.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "3mRjUQ4BhDVmMcvP1EEXNSa3kJKe8ttEhWvtm2yuxuY1KBWcTQRnTQFZfwau7TP22rx1eN9AZbG5tCQdYfcPqmzk" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B1viAe1PP7ihqQbDEmjKPZsrZDFNDCjvTPAwKbZQVqqi", "11111111111111111111111111111111", "7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ", "g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9" ], "recentBlockhash": "G5CoyueNyfuz5auonkVvyrBrtX4xpqv7rSz36VUirX2J", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 0, 1, 3, 4, 2 ], "data": "EGobdm29j93SGg32jhwCTa3DjCZUkqM49femCXY5o9XMY3d4M4sKSxCsPqeEnpANpZkFKNw5WuV2XLG4SLafyQH38rdHU7DsPFQuQeeWqiWPZZCZka33afCFF927xn6BKq4tYZ9bDKEdfU8B2fr4JxC6toDQFzenQGqxX5yVQwSZz3GXE8yBmeKexz", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 9016369904, 0, 1, 2098391280, 1141440 ], "postBalances": [ 9014304744, 2060160, 1, 2098391280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11115iFkVMXPaap7j41Z1pua1W6indKhmoyLC4E2dajkFSwB7pmsYj4q6dsMRbtw6Jp8zF", "stackHeight": 2 } ] } ], "logMessages": [ "Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 consumed 12870 of 200000 compute units", "Program g1et5VenhfJHJwsdJsDbxWZuotD5H4iELNG61kS4fb9 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 12870 }, "blockTime": 1764173585, "slot": 382676332 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/init-bridge.json ================================================ { "confirmationStatus": "confirmed", "transaction": { "signatures": [ "Li7FTxL6pGTtqVQApSqh1DHYTWSuwi1TM4Jk5PWjr55938L3BSgjHVAcEPfu5HBRxAK8QcrPNmddHn7xD6YqSGF" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm", "11111111111111111111111111111111", "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM" ], "recentBlockhash": "87HPjKMKTAm5JkTxHEDkAFCF4Y6q9ZvDtNXcZjT2Kx3o", "instructions": [ { "programIdIndex": 4, "accounts": [ 0, 0, 1, 3, 4, 2 ], "data": "w6cHVNZ7a5rvgsRopSA6cdkup8eVyryyXbEKzetiEUPeRdwtHkkeM3My7yMQVAfE78hRwWxsPvFozVviS6foJBgW5jVULWVYNM24KhXmd3tNkHDsfmJPHwWHPXpkE8pd8shgqKE4X192WaADVmc2J7ctSUtPSUmrHkAxAnjuGXmvevmnL3DJUw3F2yAUhpAamLqLfCn4QKMAZZxZSK1cEvDp41F4BM3MMqFvm8KsR5jcEmwAiUgaHJr5xHaPzqMdSxkVeY3qU8vmEtEmShkC2fm2UjKHw4oCfXbhnEVvsbsJcEtb348ZPJFiA49cgAnAMMk7PTyzQ8DSpGxVfcD9pVcvgBUmsG126sHjHHTBhyCV9eemaWpJpzPZvAC2GpB7zJ5SNxFoPzzyLTSx1fFjc1BQjFt5VYPBmNHMqFoCPFh9ermVSLmBW3U4XUeP1FxCmDueSJ3YYZSMnsj1ERHB89Kr25rtcKkhdsUPbyBH66phVmV7G9sCsrPuSc7XsHCqQkTJ1X7cGaKMnDGkvHqnh37m2iQu8YPjRET2roUteJHJ6DMriPHkgTsV1H62ktLGA4Reo1Ns963M2Xn5maFr11ZfRMxFrdodtehyyPpLwjr8KCAvBckabjwBNKPK6fnLVSt1u34FceJEHFyMqqFetEnpo", "stackHeight": null } ], "addressTableLookups": [] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 9020940664, 0, 1, 6120992880, 1141440 ], "postBalances": [ 9016369904, 4565760, 1, 6120992880, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "111112RZKQ4yMXN8zMsggLRz2U4CbmH7oeB8ayTgFBjMHi4Y58sYVhY7LZonZTVKFMqMLR", "stackHeight": 2 } ] } ], "logMessages": [ "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM invoke [1]", "Program log: Instruction: Initialize", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM consumed 23663 of 200000 compute units", "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 23663 }, "blockTime": 1764173582, "slot": 382676324 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/set-base-relayer-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4cN3hfVnd3BWzVTmGj5fy4GehdjZ34ppk4NVCfLfCiZxx2TYdP6aVfpbjGDPSifB3iWJAAh8su5PjijyBa1VtGTJ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "7hzCQRKSQszgRHY6erLBDcLJQJWutMGNprn5VzKwAzYQ", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "E5fdeCevvc64PdLqmMc3Lasjv737GKMWtwSk16b2VTnH", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 8814289744, 2098391280, 1, 499234400 ], "postBalances": [ 8814284744, 2098391280, 1, 499234400 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764173808, "slot": 382676911 } ================================================ FILE: solana/mainnet/2025-10-29-deploy-bridge/artifacts/set-bridge-upgrade-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4syMUFKDz61NFAomJq3H8GVog82jgyGcfM4BKZKedFhPAeJS3W5Nt4vVrEe3adp6AuPVLH1ykWyXatVs6gozEbMZ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "99b9CCbq78LJwk8YB2cjANGAoMs8QvRWrgZDZw2uQfN3", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 8814294744, 6120992880, 1, 499234400 ], "postBalances": [ 8814289744, 6120992880, 1, 499234400 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764173806, "slot": 382676904 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Pause/Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge pause/unpause configuration 2. Creating the MCM proposals (both pause and unpause) 3. Committing and pushing the proposals to the repo 4. Coordinating with Signers 5. Collecting signatures for a range of nonces 6. Executing the specific proposal (pause or unpause) on-chain when needed ## Prerequisites ```bash cd contract-deployments git pull cd solana/mainnet/2025-12-01-set-pause-bridge make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposals ### 1.1. Update .env Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed # Bridge configuration BRIDGE_PROGRAM_ID= ``` ### 1.2. Generate proposals Generate both pause and unpause proposals to have them ready for any situation. ```bash # Generate Pause Proposal (proposal-pause.json) make step1-create-proposal-pause # Generate Unpause Proposal (proposal-unpause.json) make step1-create-proposal-unpause ``` ### 1.3. Review proposals Open and review the generated proposal files (`proposal-pause.json` and `proposal-unpause.json`) to verify: - Bridge program ID is correct - Pause status is correct in the instruction data (ends in `01` for pause, `00` for unpause) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge pause/unpause proposals" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Signers will generate signatures for a range of 20 nonces to ensure a valid signature is available even if other operations occur on the multisig. Ask signers to run: - `make sign-pause` (to generate `signatures-pause.txt`) - `make sign-unpause` (to generate `signatures-unpause.txt`) Collect these text files from the signers. ## Phase 3: Execute Proposal When an emergency action (Pause) or recovery (Unpause) is required: ### 3.1. Determine Current Nonce Check the current `preOpCount` (nonce) of the multisig. You can check this on the Solana Explorer by looking at the Multisig account data, or by inspecting the error if a dry-run fails. ### 3.2. aggregate Signatures Concatenate signatures in the format: `0xSIG1,0xSIG2,0xSIG3` ### 3.3. Update .env Update `.env` with the collected signatures: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ### 3.4. Add keypair Add funded keypair to `./keypairs/tester.json` or update the `AUTHORITY` env variable in `.env` to a path for a funded keypair. ### 3.5. Execute Run the execution command for the desired action, providing the current nonce. This will update the proposal file to match the chain state and execute it. **To Pause:** ```bash NONCE= make step3-execute-proposal-pause ``` **To Unpause:** ```bash NONCE= make step3-execute-proposal-unpause ``` This command will: - Update the proposal's `preOpCount` and `postOpCount` to match the provided `NONCE`. - Initialize signatures account. - Append signatures. - Finalize signatures. - Set root. - Execute proposal. ## Phase 4: Verification ### 4.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (paused or unpaused) ### 4.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## PAUSE_OUTPUT = proposal-pause.json UNPAUSE_OUTPUT = proposal-unpause.json # Step 1: Create pause/unpause proposal .PHONY: step1-create-proposal-pause step1-create-proposal-pause: @echo "==> Step 1: Creating MCM pause/unpause proposal..." MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) PAUSED=true make mcm-proposal-bridge-pause .PHONY: step1-create-proposal-unpause step1-create-proposal-unpause: @echo "==> Step 1: Creating MCM pause/unpause proposal..." MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) PAUSED=false make mcm-proposal-bridge-pause # Step 2: Sign proposals .PHONY: sign-pause sign-pause: @echo "==> Step 2: Signing proposal..." @rm -f signatures-pause.txt @for i in $$(seq 1 20); do \ echo "Iteration $$i: Incrementing preOpCount and postOpCount..."; \ jq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \ nonce=$$(jq -r '.rootMetadata.preOpCount' $(PAUSE_OUTPUT)); \ echo "Signing nonce $$nonce..."; \ MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-pause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-pause.txt || true; \ echo "" >> signatures-pause.txt; \ rm sign_output.tmp; \ done .PHONY: sign-unpause sign-unpause: @echo "==> Step 2: Signing proposal..." @rm -f signatures-unpause.txt @for i in $$(seq 1 20); do \ echo "Iteration $$i: Incrementing preOpCount and postOpCount..."; \ jq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \ nonce=$$(jq -r '.rootMetadata.preOpCount' $(UNPAUSE_OUTPUT)); \ echo "Signing nonce $$nonce..."; \ MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-unpause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-unpause.txt || true; \ echo "" >> signatures-unpause.txt; \ rm sign_output.tmp; \ done # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal-pause step3-execute-proposal-pause: @echo "==> Step 3: Executing MCM proposal..." @if [ -n "$(NONCE)" ]; then \ echo "Updating proposal with nonce $(NONCE)..."; \ jq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \ fi MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-all .PHONY: step3-execute-proposal-unpause step3-execute-proposal-unpause: @echo "==> Step 3: Executing MCM proposal..." @if [ -n "$(NONCE)" ]; then \ echo "Updating proposal with nonce $(NONCE)..."; \ jq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \ fi MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-all ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/README.md ================================================ # MCM Bridge Pause/Unpause Status: PENDING ## Description This task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved. There are two separate workflows available: 1. **Pause**: Halts all bridge operations. 2. **Unpause**: Resumes bridge operations. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/mainnet/2025-12-01-set-pause-bridge make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal Identify which action you are signing for (Pause or Unpause) and verify the corresponding proposal file. #### If Pausing (`proposal-pause.json`) **Verify proposal-level fields:** - `proposal-pause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env` - `proposal-pause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env` - The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env` **Verify instruction data:** 1. **Discriminant:** ```bash echo -n "global:set_pause_status" | shasum -a 256 | cut -c1-16 ``` Expected output: `761991d972d1ec91` 2. **Full instruction data:** ```bash jq -r '.instructions[0].data' proposal-pause.json | base64 -d | xxd -p -c 256 ``` Expected output: `761991d972d1ec9101` (ends in `01` for `true`) #### If Unpausing (`proposal-unpause.json`) **Verify proposal-level fields:** - `proposal-unpause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env` - `proposal-unpause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env` - The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env` **Verify instruction data:** 1. **Discriminant:** (Same as above) 2. **Full instruction data:** ```bash jq -r '.instructions[0].data' proposal-unpause.json | base64 -d | xxd -p -c 256 ``` Expected output: `761991d972d1ec9100` (ends in `00` for `false`) ### 4. Sign the proposal Run the signing command for the appropriate action. **Note: This process requires signing multiple times (20 times) to generate signatures for future nonces.** **To Pause:** ```bash make sign-pause ``` **To Unpause:** ```bash make sign-unpause ``` This command will: 1. Iterate 20 times, incrementing the nonce (preOpCount/postOpCount). 2. Prompt you to sign on your Ledger for each iteration. 3. Save all signatures to a text file (`signatures-pause.txt` or `signatures-unpause.txt`). **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal for each iteration. ### 5. Send signature to Facilitator Send the generated signature file (`signatures-pause.txt` or `signatures-unpause.txt`) to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-proposal-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4eyEqGj6YCgMtsJ6AUBTQRF8wX94Xhvs5VHVhzVBCCpeogn9LDCbG3wb12K6qpEpwnasrNiLtQxd64JxWPNCU4Re" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 4 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "H2PkndR1vkDz4TLbd2B3xQynhnjyQwSLCASBEC38w3wm", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 4, 2, 5, 6, 0, 3, 6 ], "data": "3XtzmXSf21G7ZgSaukdCPnKeKSpmU4LsofeemapAhJezh47KjzKQdAhUaARhnxVDmenMaSoED4tgdvmSRvoNHJg3pZxeEhXXAcDaVt6rHAiiRCKBtkAoSwX3Ys31duyd6zmWwNesWcy9Hprz", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5018288927, 4134240, 1252800, 4565760, 1343280, 1141440, 498162560, 1141440 ], "postBalances": [ 5018283927, 4134240, 1252800, 4565760, 1343280, 1141440, 498162560, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 5, "accounts": [ 3, 6 ], "data": "2WBxVujLscd9h", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM invoke [2]", "Program log: Instruction: SetPauseStatus", "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM consumed 14974 of 177621 compute units", "Program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM success", "Program data: 3Q/UHSP8/04HAAAAAAAAAPMpg+hxvIfRWplPlfX1BU2YSYyAzwmzuvqRy5UHFDs2CQAAAHYZkdly0eyRAA==", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 42981 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 42981 }, "blockTime": 1764697125, "slot": 384025036 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5XXMaFTKHQbyWZpXHEdB5UpEHd2PUUqhPuDTUecPpLvBMnR3hugdh7UvQv2ehdnka1xDRDbwVhfPh4X5Jtb2v3JD" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL", "6yUZwFtM6EqsHkCgK2D4eAJkGqi3bAGSefma5SHSKRop", "FkAC5qHy5XNv7dp11tFmknyBywGEfg2k21wJfjxpM8F8", "6o2vZjD4B7XDGhRWzPCbwYL2Y6RhwVseAjyqsRtGKT8B", "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "DLizLcFFuMG7GuRdjehQTH45NYBiz6MPnK3i8efb9Vnz", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "Gdc3k3gD7jPD3revrVeipictGK3zP6uKYYtjeA2WmBG16eguDWRqgXJrt7XLXPvrcWubTMsLgmyM751E3zBDmF9npRsNP4GjCEMa2pYXZ2qYTtDmFwFApjcmCfgAmMSLi7a2cD5oW2G5iqnCupnAHJti6EZnnFmVjtoA1vGTRYTj1Ag5VvSPMqMWJRURFmUJXqUMQPmwpmpLBs8UyCiXpPuNeQCvh4XXCcLfzDc", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5016901927, 2345520, 1343280, 0, 1252800, 4134240, 1, 1141440 ], "postBalances": [ 5018288927, 0, 1343280, 953520, 1252800, 4134240, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXfJu2RJcTqr1kIOyIG1NPZHfHZIul0MFOj627xwXzXXtOYZ/XsBAAAAAAAAAPQBSIadtkZNgnPsGWNmBTNoNFhAOFoGUSCNFCp281+8BwAAAAAAAAAIAAAAAAAAAAE=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 104106 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 104106 }, "blockTime": 1764697110, "slot": 384024998 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2jY5kL958vY7D1FpSB8mRuLaroqSWkdRaZsfrPPeVMaWh6uAcsXFQKWvZ1MtbxyCRcPFDBEA1DjvbNFgKpGn38fq" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "39XxXwDcxaXbYe7vWBBF8VASSvNdbCRSk3CDnvSwQv7Q", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuL7BgcsCS3qmVTh9Pn9cdp4nce5xk6bfb4qTCYPyAYon8T5ewbbdewv64MjbgQgiWykYNzwVmx9kbk6XQHceqtMYuwRNHhoxvWqzHqwT6PebusH3tmr88PHjHfKTpAXPNQfdSicgxvYbNNQYm2GAA5tnvMcbppjRE1ZGF7WHrw4Zvb4mZqZsrcpQug79j4pmfqizrQjKtexsD5FcxxYMbHUiyGc2qTEaD9srkJa3zbZjzg7KvVhxzRzi13ucB5y1kzbkr6MbCgvkrDyQ9Lowj6aJi5o6MYEQ4k9tL2GPzekjiVws1wo42fVzAoKh7CVKiop", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5016911927, 2345520, 1141440 ], "postBalances": [ 5016906927, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6885 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6885 }, "blockTime": 1764697083, "slot": 384024928 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-clear.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3ZBVhm3WXwZ9NxZx7RoN8do7SCWeDQpqTF43cvQ8cCGggmE87Cgp8AsR7JbNKs89jd4ZuSKw22pfhtgBmkybUACr" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "3tff8bdsugbReB1JAMpVwPDequzKxWbeeh5Ko7GhF2Gi", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8jAR6gNqPo6ag5UQd3Uhrdz3ToYrgL25vdFQiAb5NEDNwu69M6hz7zNJZW8fY1i1RMw297WpMoGJxs8iybMXXHxn4wyjprHSMue6vRnr", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5016921927, 2345520, 1141440 ], "postBalances": [ 5019262447, 0, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: ClearSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5303 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5303 }, "blockTime": 1764697014, "slot": 384024745 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2RPYrh2R3CqEwzkVe75Pn4GUvPoND4Lzxsmj3HTS79x5gkXwCZ2g2qiVePmYMFtj2VgbSUyzMdiswVKtWBcNAuhQ" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "AZN5rdSVnp8cz2mAavQrbVWy5FsBYGzM5r2HmHMAo2zx", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZGC2esCMUdwYCNABF1RFiNcXjLGxH1hJFDMMXsNaikRwP65nesC", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5016906927, 2345520, 1141440 ], "postBalances": [ 5016901927, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 6071 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 6071 }, "blockTime": 1764697097, "slot": 384024963 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4Bg832DtGGVN1gbFZNJ2dWWpfHbL2WqJ8NV39HVAe8VhVkcifHwXqeKCCk1Fu1HDTEHGi4yw3KpYVmQViLZ79zPn" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "B2AXjqycQE931CcBmBbvcwwTbZcG3yp7x37YUwBhbYqL", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "NJvb2AEyjtrmFR7wUQdPaLCzHGFrWYYWRxg9aFrcyLa", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaziCV1M4xVmPjXETJP8MG8ZiLBWaPHgGoLduJq6CB1sUFcfmXQpr", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5019262447, 0, 1, 1141440 ], "postBalances": [ 5016911927, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWVwv2xDdwMYHeJzX2ebt61C1xzbo3WXdusmuwBCkbU62dn", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 9485 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 9485 }, "blockTime": 1764697068, "slot": 384024889 } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/proposal-pause.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000001", "validUntil": 2080184806, "instructions": [ { "programId": "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "data": "dhmR2XLR7JEB", "accounts": [ { "pubkey": "DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "preOpCount": 5, "postOpCount": 6, "overridePreviousRoot": true } } ================================================ FILE: solana/mainnet/2025-12-01-set-pause-bridge/proposal-unpause.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000001", "validUntil": 2080184806, "instructions": [ { "programId": "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "data": "dhmR2XLR7JEA", "accounts": [ { "pubkey": "DMtzswCcRcsMmJasgHTNZcBHZvdBkrBe248CBdEXxpJm", "isSigner": false, "isWritable": true }, { "pubkey": "7AoCt88ceFPCm43cj9K8w8xxWfhWRXEHZ2NGkDYNTCip", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "HRVcZrV3SvFy3LTj7GXWjd8RT4KrkUMFbc8EUjcsyU6F", "preOpCount": 6, "postOpCount": 7, "overridePreviousRoot": true } } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/.gitignore ================================================ bridge/ *keypair.json rollback.so ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/FACILITATORS.md ================================================ # Facilitator Instructions: Bridge Program Upgrade with Rollback ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge program upgrade buffer (with patch applied) 2. Preparing the rollback buffer (current program bytecode) 3. Creating a merged upgrade/rollback proposal 4. Coordinating with Signers and collecting signatures 5. Executing the upgrade on-chain 6. Executing the rollback if needed ## Prerequisites ```bash cd contract-deployments git pull cd solana// make setup-deps ``` Ensure you have: - Rust toolchain installed (via `make setup-deps`) - Solana CLI installed and configured (via `make setup-deps`) - Anchor CLI installed - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare Bridge Program Upgrade ### 1.1. Update .env for bridge program upgrade Set the following in `.env`: ```bash BRIDGE_REPO= BRIDGE_COMMIT= UPGRADE_PATCH=patches/upgrade.patch ``` Then run: ```bash make step1-clone-bridge ``` This will: - Remove any existing `bridge` directory - Clone the bridge repository - Checkout the specified commit - Apply the patch from `patches/upgrade.patch` - Install and build TypeScript clients ### 1.2. Build the bridge programs ```bash make step2-build-programs ``` This builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`. ### 1.3. Write program buffer Ensure the following variable is set in `.env`: ```bash PROGRAM_BINARY=./bridge/solana/target/deploy/bridge.so ``` Then run: ```bash make step3-write-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash BUFFER= ``` ### 1.4. Transfer buffer authority to MCM Ensure the following variable is set in `.env`: ```bash NEW_BUFFER_AUTHORITY=$(MCM_AUTHORITY) ``` Then run: ```bash make step4-transfer-buffer ``` This transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM. Copy the transaction signature from the output. ### 1.5. Generate set-buffer-authority artifacts Find the transaction signature from step 1.4 on Solana Explorer and add to `.env`: ```bash SET_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step5-generate-set-buffer-authority-artifacts ``` This creates `artifacts/set-buffer-authority-artifacts.json`. ## Phase 2: Prepare Rollback Buffer ### 2.1. Dump current program Ensure the following variable is set in `.env`: ```bash PROGRAM= ROLLBACK_PROGRAM_BINARY=./rollback.so ``` Then run: ```bash make step6-dump-current-program ``` This dumps the current on-chain program bytecode to `rollback.so`. ### 2.2. Write rollback buffer ```bash make step7-write-rollback-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash ROLLBACK_BUFFER= ``` ### 2.3. Transfer rollback buffer authority to MCM ```bash make step8-transfer-rollback-buffer ``` Copy the transaction signature from the output. ### 2.4. Generate rollback buffer artifacts Add the transaction signature to `.env`: ```bash SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step9-generate-rollback-buffer-artifacts ``` This creates `artifacts/set-rollback-buffer-authority-artifacts.json`. ## Phase 3: Create Merged Proposal ### 3.1. Ensure all MCM variables are set Verify the following variables are set in `.env`: ```bash # Common MCM Proposal Variables MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # Program upgrade variables PROGRAM= BUFFER= ROLLBACK_BUFFER= SPILL= ``` ### 3.2. Create merged proposal ```bash make step10-create-proposal ``` This creates `proposal.json` containing two instructions: - Instruction 0: Upgrade to the patched version - Instruction 1: Rollback to the original version ### 3.3. Review proposal Open and review `proposal.json` to verify: - Instructions count is 2 - First instruction uses `BUFFER` (upgrade) - Second instruction uses `ROLLBACK_BUFFER` (rollback) - Program address matches `PROGRAM` - Spill address is correct ## Phase 4: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, add to `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 5: Register and Execute Proposal ### 5.1. Add execution variables to .env Add the following variables to `.env`: ```bash AUTHORITY= ``` ### 5.2. Register the proposal ```bash make step12-register-proposal ``` This command: - Initializes signatures account - Appends signatures - Finalizes signatures - Sets root ### 5.3. Execute the upgrade ```bash make step13-execute-upgrade ``` This executes instruction 0 (upgrade to patched version). ### 5.4. Execute the rollback (if needed) If you need to rollback to the original version: ```bash make step14-execute-rollback ``` This executes instruction 1 (rollback to original version). ## Phase 6: Verification ### 6.1. Verify program upgrade on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the bridge program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still the MCM authority - The program was upgraded successfully ### 6.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.). ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # MCM Program Upgrade with Rollback Workflow ## # Step 1: Clone the bridge repo and apply patch .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning and patching the bridge repo..." @ rm -rf bridge @ git clone --filter=blob:none $(BRIDGE_REPO) bridge @ cd bridge && \ git checkout $(BRIDGE_COMMIT) && \ git apply ../$(UPGRADE_PATCH) @ cd bridge/clients/ts && \ bun install && \ bun run build @ cd bridge/scripts && \ bun install # Step 2: Build the bridge programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." mkdir -p bridge/solana/target/deploy && \ cp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \ cp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \ cd bridge/solana && \ anchor keys sync cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../$(BRIDGE_KEYPAIR) \ --base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR) # Step 3: Write program buffer .PHONY: step3-write-buffer step3-write-buffer: @echo "==> Step 3: Writing program buffer..." make sol-write-buffer # Step 4: Transfer buffer authority to MCM .PHONY: step4-transfer-buffer step4-transfer-buffer: @echo "==> Step 4: Transferring buffer authority to MCM..." make sol-set-buffer-authority # Step 5: Generate set-buffer-authority artifacts .PHONY: step5-generate-set-buffer-authority-artifacts step5-generate-set-buffer-authority-artifacts: @echo "==> Step 5: Generating MCM set-buffer-authority artifacts..." make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json ## # Rollback Buffer Preparation ## # Step 6: Dump current program to rollback.so .PHONY: step6-dump-current-program step6-dump-current-program: @echo "==> Step 6: Dumping current program to rollback.so..." solana program dump $(PROGRAM) $(ROLLBACK_PROGRAM_BINARY) --url $(SOL_RPC_URL) # Step 7: Write rollback buffer .PHONY: step7-write-rollback-buffer step7-write-rollback-buffer: @echo "==> Step 7: Writing rollback buffer..." make sol-write-buffer PROGRAM_BINARY=$(ROLLBACK_PROGRAM_BINARY) # Step 8: Transfer rollback buffer authority to MCM .PHONY: step8-transfer-rollback-buffer step8-transfer-rollback-buffer: @echo "==> Step 8: Transferring rollback buffer authority to MCM..." make sol-set-buffer-authority BUFFER=$(ROLLBACK_BUFFER) # Step 9: Generate rollback buffer artifacts .PHONY: step9-generate-rollback-buffer-artifacts step9-generate-rollback-buffer-artifacts: @echo "==> Step 9: Generating rollback buffer artifacts..." make sol-confirm SIG=$(SET_ROLLBACK_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-rollback-buffer-authority-artifacts.json ## # Proposal Creation and Execution ## # Step 10: Create merged upgrade/rollback proposal .PHONY: step10-create-proposal step10-create-proposal: @echo "==> Step 10: Creating merged upgrade/rollback MCM proposal..." @echo " → Creating upgrade proposal..." @make mcm-proposal-loader-v3-upgrade \ MCM_PROPOSAL_OUTPUT=upgrade-proposal.json @echo " → Creating rollback proposal..." @make mcm-proposal-loader-v3-upgrade \ BUFFER=$(ROLLBACK_BUFFER) \ MCM_PROPOSAL_OUTPUT=rollback-proposal.json @echo " → Merging proposals..." @jq -s '.[0] as $$upgrade | .[1] as $$rollback | $$upgrade | .instructions = ($$upgrade.instructions + $$rollback.instructions) | .rootMetadata.postOpCount = (.rootMetadata.preOpCount + 2)' \ upgrade-proposal.json rollback-proposal.json > proposal.json @rm -f upgrade-proposal.json rollback-proposal.json @echo "✓ Merged proposal created: proposal.json" @echo " - Instructions count: $$(jq '.instructions | length' proposal.json)" @echo " - preOpCount: $$(jq '.rootMetadata.preOpCount' proposal.json)" @echo " - postOpCount: $$(jq '.rootMetadata.postOpCount' proposal.json)" # Step 11: Sign proposal .PHONY: sign sign: @echo "==> Step 11: Signing proposal..." make mcm-sign # Step 12: Register proposal (signatures + set-root) .PHONY: step12-register-proposal step12-register-proposal: @echo "==> Step 12: Registering MCM proposal..." @make mcm-signatures-all @make mcm-proposal-set-root # Step 13: Execute upgrade .PHONY: step13-execute-upgrade step13-execute-upgrade: @echo "==> Step 13: Executing upgrade..." @make mcm-proposal-execute MCM_START_INDEX=0 MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-upgrade-execute.json # Step 14: Execute rollback .PHONY: step14-execute-rollback step14-execute-rollback: @echo "==> Step 14: Executing rollback..." @make mcm-proposal-execute MCM_START_INDEX=1 MCM_OPERATION_COUNT=1 @mv artifacts/mcm-proposal-execute.json artifacts/mcm-rollback-execute.json ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/README.md ================================================ # Upgrade Bridge Program with Rollback Status: [EXECUTED](https://explorer.solana.com/tx/4MWawPNfUuMquXpjjDJ8pQQ7tXrifUCQP9d96BJfJeasAGtMMmSUWK6aJJQZ2GJ5MEKvaeZBjxEwfw49YX7jaFso?cluster=mainnet) Rollback: https://explorer.solana.com/tx/3GJBmZeg4UiZSZCzjnpAUN8o7zLCbpXUuPWvvpEd5meUX1D9bjrYmYJ5ST1Qk5zDYoi7uszVTH5U7CNnxroieMc?cluster=mainnet ## Description This task performs a test upgrade of the bridge program followed by a rollback using the Multi-Chain Multisig (MCM) governance system. The proposal contains two instructions: - **Instruction 0**: Upgrade to the patched version - **Instruction 1**: Rollback to the original version ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana/mainnet/2025-12-01-upgrade-bridge-and-rollback make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal #### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade) **Program ID:** Verify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable. #### 3.2. Verify Instruction 2 (BPF Loader Upgradeable - Rollback) **Program ID:** Verify instruction 2 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is also the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[1].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This rollback instruction uses the same Upgrade discriminant but with a buffer containing the original program bytecode. ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-proposal-set-root.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3Xj8YWSuiGUsUomQbXAH4cLbbhiVVtrzDcR7bDn8JqGxmUkLo5YdcfELMQ59BkXN7G1VXSnjCRgG61U8ch4EBV2X" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 3 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "Cfd4nJhR8d9C3c1t456u4kvxaxH2vJ8YtKk65yDi39c9", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "E5NVwAu2LdC7ytZkJSjKEpeegyGsUDWZkWtfihSNWKGN", "instructions": [ { "programIdIndex": 7, "accounts": [ 1, 2, 3, 4, 5, 0, 6 ], "data": "5eKRp7yWnavbVMvLc7WTeNLXgQZHNTvquMyjaspSK7Pdjz7ZrrUaadEydVqa7WwpNFoZNj3Nuiw47tDZJteS4TEbiCEKYJN1tXbv9ufUMNrrMqJqviQ4pVC2TZFXPz579nPRkfkrS1ra4my2CQrptwsbDfuw6grGtYVZiYtNW3kFukinnhyd6caG4CAADTxmuKbYaqtQZTtfejsBCrCuKeGzDamvuNMKrpr3SEMPnE4ZGMLGPnTgJu2Pn9ACKzRb3sso1wCACaPCCuLkMBw", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 4999150771, 2345520, 1343280, 0, 1252800, 3062400, 1, 1141440 ], "postBalances": [ 5000537771, 0, 1343280, 953520, 1252800, 3062400, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 6, "accounts": [ 0, 3 ], "data": "11117UcthqATmHRa77Wg3s82tLzKywRJgz1rjE74d3DpY6sdpp9N8y8o18gibatAtTN2fi", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: SetRootEip712", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program data: 0hm7digqPXesGd+99YvebGUV7u9QPiSgwoP8kZNs5ucnBOL9KbgecBu/NWkBAAAAAAAAAMMpm7g6ahfJ/wVgN8Ww4F9n9YCqNZB8zw9o6j8G2GBQBQAAAAAAAAAHAAAAAAAAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 102241 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 102241 }, "blockTime": 1764711815, "slot": 384062747 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-rollback-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3GJBmZeg4UiZSZCzjnpAUN8o7zLCbpXUuPWvvpEd5meUX1D9bjrYmYJ5ST1Qk5zDYoi7uszVTH5U7CNnxroieMc" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 6 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ", "9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "CFSv3oCg82KMa7q2bDzKCnctqBd9p1seqhBNSsPMq7d7", "instructions": [ { "programIdIndex": 12, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "65zRtZe3ydJWJeJJEUXq3RVmLzRGFdSm94DUpibi5UNcLWiV78xjAha9PcSq7YHaLzfcDy9wRNdk32c6mpZWzuopPeyxbv1xpeXQ3gdBXoV8Bp4LpnTWu9982uW2sMrSL55mwywse", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 4985391091, 3062400, 1252800, 6131432880, 1141440, 6120992884, 6133086542, 1343280, 1, 499234400, 1009200, 1169280, 1141440 ], "postBalances": [ 4985386091, 3062400, 1252800, 6131432880, 1141440, 0, 12254079426, 1343280, 1, 499234400, 1009200, 1169280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04GAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 44217 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 44217 }, "blockTime": 1764712088, "slot": 384063455 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-append.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3HeXdfQNC5eKKMwVdjhPkNMjJMG249xGM2dWYDhgt2PRMtNtnhA5mBWFZY8mAMEyDs7inCFT6c2jyihLGwPApVZn" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "ACfKJS9TLiYV1bUiJk1sdMKXoA1xQE8wLEjM1foYeizn", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8JM1NbBrt3Xh3kxoE3gUoUhdacSAaBKUdPn3SULoy5MqoavKwgx6PuKGYXYdKE2CV5HdB4X9G8AE5ujZ8HNAjm4AhBB1sLsH7VXqeQPzznChybqPGvmNi8c5mMvUmxLaosL5Z8XWpk5dNaRoZLvMTsSGs28xnvJZuRy2Tvejj7L5ntMT3AebaH4PHywKRzrQGgdBMZ4wRrzefz9bCRu6NfPUYq4dCc9BVFHXbJnMU2j3b5uLszUS4LZtZC1rwuSUdohcHRvaVtA27HNfTT8tW6hpfv3xx2oojeexf7SiQSe18wBEeCeDMyYwd4iwDMdCt1kZnqh7rKDZ3rnJwTzu1Z5Dv6uUfAvwJ4sVvcGxwWFn9wRztd5WF6tE", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 4999160771, 2345520, 1141440 ], "postBalances": [ 4999155771, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: AppendSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 5385 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 5385 }, "blockTime": 1764711786, "slot": 384062672 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-finalize.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "2n7ZYFuuWT2CgdMnpfMxtd6VD5hPAc1W9Mejn6H3uSxxKF2YTh4bRamvu2EDC1MdTe6WRjmArcpk3LBnUYyWKUwa" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "4RjGHW3rccH7d2ZK6VB2hhC9DxyP8yRWPwvTA74cSAqw", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0 ], "data": "8VPNxavkg2Yj38NCocv5Cq5gNj6AXt2M4QRQjqgjJnXPoyHsmdy1UZE2EbTfxkVg9SVC2g4QiKsqzrEoP1CuWTkgNddqEgtM3pyihpAt", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 4999155771, 2345520, 1141440 ], "postBalances": [ 4999150771, 2345520, 1141440 ], "innerInstructions": [], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: FinalizeSignatures", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 4571 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 4571 }, "blockTime": 1764711801, "slot": 384062709 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-signatures-init.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4Zo4Yys593iZs3iFqtjKS2AAZdLMfybqMVNuMx59UDiX7tf5XkhYxG1cKNet683MHhZdXdh9Y4iApBA6cfYvbzTe" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4VRTMjHZarH1wTJKXkkW82PvK3neQoq5b189AGDHDUhP", "11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "DBCzUid35WJWNrbUnsBu7h87WcGeCs1sh2xdsw5GEbJc", "instructions": [ { "programIdIndex": 3, "accounts": [ 1, 0, 2 ], "data": "2QCcPn6AhHR9Zi4mhnFE53M8tJopZFLmSWFEPUWVFoNxRRu5UeGEiNaq8yByWveVHTHrGdUxKxiqbA2fLsXXAAigurAHKqknothtaiAUuQ", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5001511291, 0, 1, 1141440 ], "postBalances": [ 4999160771, 2345520, 1, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 2, "accounts": [ 0, 1 ], "data": "11112nodbJCN8fXPKGyCu9NpWVwv2xDdwMYHeJzX2ebt61C1xzbo3WXdusmuwBCkbU62dn", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: InitSignatures", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 7985 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 7985 }, "blockTime": 1764711770, "slot": 384062629 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/mcm-upgrade-execute.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "4MWawPNfUuMquXpjjDJ8pQQ7tXrifUCQP9d96BJfJeasAGtMMmSUWK6aJJQZ2GJ5MEKvaeZBjxEwfw49YX7jaFso" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 6 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "FDAHR8SdPZnWDcK6yvoCYHBf6ggTjLyomiQDQ767FH3c", "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2", "9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL", "8HbtqBXPeS8DPfEx1r4kDyYFXuddrvZdxXXqMYyfdiKY", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "SysvarRent111111111111111111111111111111111", "SysvarC1ock11111111111111111111111111111111", "7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY" ], "recentBlockhash": "H61b2HaFsDap3F5n1raWh13VB1VsuJuKFYefsna37486", "instructions": [ { "programIdIndex": 12, "accounts": [ 1, 7, 2, 8, 9, 0, 3, 4, 5, 6, 10, 11, 9 ], "data": "2WdZbr4cJKkR8bDbEdbqzfkAVHVTczCFDroACHGbZUy1NNEc7pxLKtYPGMYr1SGTPbPe3SxdMYgmvUdGS5T58T4mzR6gKJE9HKoPa6vQB17yNSvs2P7mydnBBDuQ7ZSiQ6bfuyR5PGTvZXya9Tj8KXGhaGPNGosSmD8bmCT3sUUK7Nxt11hdB", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 4990087771, 3062400, 1252800, 6131432880, 1141440, 6121605363, 11481179, 1343280, 1, 499234400, 1009200, 1169280, 1141440 ], "postBalances": [ 4990082771, 3062400, 1252800, 6131432880, 1141440, 0, 6133086542, 1343280, 1, 499234400, 1009200, 1169280, 1141440 ], "innerInstructions": [ { "index": 0, "instructions": [ { "programIdIndex": 8, "accounts": [ 3, 4, 5, 6, 10, 11, 9 ], "data": "5Sxr3", "stackHeight": 2 } ] } ], "logMessages": [ "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY invoke [1]", "Program log: Instruction: Execute", "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [2]", "Upgraded program HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "Program BPFLoaderUpgradeab1e11111111111111111111111 success", "Program data: 3Q/UHSP8/04FAAAAAAAAAAKo9pFOiKGw4hAVPvdjrisAwrk9FsEk0sBTehAEgAAABAAAAAMAAAA=", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY consumed 44501 of 200000 compute units", "Program 7w7ELBSd4F6xG7GNq6BU9cnMPpQYq8fZknsk6Jb9mszY success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 44501 }, "blockTime": 1764711952, "slot": 384063104 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "5EQFosN7k7HuRi8NBtDgwD9wsxqjyentbjV9RkiA6ex2y4GtTrapBtsuuDy7yXAc15Jfz3RHNSSt4cM4MFS5iiZz" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "6o1LpqrbsqNtiEGrppkKMcJ1KSvMoz5Uw2W97ceBaaP1", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 2335618847, 6121605363, 1, 499234400 ], "postBalances": [ 2335613847, 6121605363, 1, 499234400 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764629762, "slot": 383851740 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/artifacts/set-rollback-buffer-authority-artifacts.json ================================================ { "confirmationStatus": "finalized", "transaction": { "signatures": [ "3zJWuLKPkjFVQc1fvBBHGiFyRHa9xT9a4k7b3a1EXV3rbsJsNCKYxm45GxswLZKpC8hm8TeG4ydXiywJk1CMZJJg" ], "message": { "header": { "numRequiredSignatures": 1, "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 2 }, "accountKeys": [ "8QPwJM6D6eGf21Y3zFfdSSD5vcp6FVKsBaXacM3wCewp", "4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ", "BPFLoaderUpgradeab1e11111111111111111111111", "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2" ], "recentBlockhash": "GeypX2SMuNioomXc4v5WrSxijQ6waR3NJP84jtRE3FY3", "instructions": [ { "programIdIndex": 2, "accounts": [ 1, 0, 3 ], "data": "6vx8P", "stackHeight": null } ] } }, "meta": { "err": null, "status": { "Ok": null }, "fee": 5000, "preBalances": [ 5020265967, 6120992883, 1, 499234400 ], "postBalances": [ 5020260967, 6120992883, 1, 499234400 ], "innerInstructions": [], "logMessages": [ "Program BPFLoaderUpgradeab1e11111111111111111111111 invoke [1]", "New authority Some(DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2)", "Program BPFLoaderUpgradeab1e11111111111111111111111 success" ], "preTokenBalances": [], "postTokenBalances": [], "rewards": [], "loadedAddresses": { "writable": [], "readonly": [] }, "computeUnitsConsumed": 2370 }, "blockTime": 1764630791, "slot": 383854392 } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/patches/upgrade.patch ================================================ diff --git a/solana/programs/bridge/src/lib.rs b/solana/programs/bridge/src/lib.rs index 70cb385..fbdfde3 100644 --- a/solana/programs/bridge/src/lib.rs +++ b/solana/programs/bridge/src/lib.rs @@ -249,6 +249,7 @@ pub mod bridge { amount: u64, call: Option, ) -> Result<()> { + msg!("UPGRADED"); bridge_sol_handler(ctx, outgoing_message_salt, to, amount, call) } ================================================ FILE: solana/mainnet/2025-12-01-upgrade-bridge-and-rollback/proposal.json ================================================ { "multisigId": "0x0000000000000000000000000000000000000000000000000000000000000000", "validUntil": 1765130011, "instructions": [ { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "isSigner": false, "isWritable": true }, { "pubkey": "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "isSigner": false, "isWritable": true }, { "pubkey": "Z6VLMqRMBALVzdSixanC49k7TBWhu9tEdvcPGJV6cL2", "isSigner": false, "isWritable": true }, { "pubkey": "9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": false } ] }, { "programId": "BPFLoaderUpgradeab1e11111111111111111111111", "data": "AwAAAA==", "accounts": [ { "pubkey": "HFygZ3CeFb7E7j3WgVKWBn57mRWqAR6Rf5d2ekGz1bNH", "isSigner": false, "isWritable": true }, { "pubkey": "HNCne2FkVaNghhjKXapxJzPaBvAKDG1Ge3gqhZyfVWLM", "isSigner": false, "isWritable": true }, { "pubkey": "4NQJ82o44wTyA4nV7fKQArvXFXDazKzNZbzuQ9PN6ZKZ", "isSigner": false, "isWritable": true }, { "pubkey": "9WMMfXL33gXKT5E38LhojDGhbQi6TeBqvStSwchLcrDL", "isSigner": false, "isWritable": true }, { "pubkey": "SysvarRent111111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "SysvarC1ock11111111111111111111111111111111", "isSigner": false, "isWritable": false }, { "pubkey": "DZaZMpR6ZBNPKBqaweGnoPP3QLq3pyoRTDfBpYS1QMU2", "isSigner": false, "isWritable": false } ] } ], "rootMetadata": { "chainId": 1, "multisig": "E8qJNynhqf11YpnsKRgGmBmcRqhfQBWZh2vaH9xbx5p3", "preOpCount": 5, "postOpCount": 7, "overridePreviousRoot": false } } ================================================ FILE: solana/setup-templates/template-set-pause-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Bridge Pause/Unpause ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge pause/unpause configuration 2. Creating the MCM proposals (both pause and unpause) 3. Committing and pushing the proposals to the repo 4. Coordinating with Signers 5. Collecting signatures for a range of nonces 6. Executing the specific proposal (pause or unpause) onchain when needed ## Prerequisites ```bash cd contract-deployments git pull cd solana// make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposals ### 1.1. Update .env Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed # Bridge configuration BRIDGE_PROGRAM_ID= ``` ### 1.2. Generate proposals Generate both pause and unpause proposals to have them ready for any situation. ```bash # Generate Pause Proposal (proposal-pause.json) make step1-create-proposal-pause # Generate Unpause Proposal (proposal-unpause.json) make step1-create-proposal-unpause ``` ### 1.3. Review proposals Open and review the generated proposal files (`proposal-pause.json` and `proposal-unpause.json`) to verify: - Bridge program ID is correct - Pause status is correct in the instruction data (ends in `01` for pause, `00` for unpause) - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM bridge pause/unpause proposals" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Signers will generate signatures for a range of 20 nonces to ensure a valid signature is available even if other operations occur on the multisig. Ask signers to run: - `make sign-pause` (to generate `signatures-pause.txt`) - `make sign-unpause` (to generate `signatures-unpause.txt`) Collect these text files from the signers. ## Phase 3: Execute Proposal When an emergency action (Pause) or recovery (Unpause) is required: ### 3.1. Determine Current Nonce Check the current `preOpCount` (nonce) of the multisig. You can check this on the Solana Explorer by looking at the Multisig account data, or by inspecting the error if a dry-run fails. ### 3.2. aggregate Signatures Concatenate signatures in the format: `0xSIG1,0xSIG2,0xSIG3` ### 3.3. Update .env Update `.env` with the collected signatures: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ### 3.4. Execute Run the execution command for the desired action, providing the current nonce. This will update the proposal file to match the chain state and execute it. **To Pause:** ```bash NONCE= make step3-execute-proposal-pause ``` **To Unpause:** ```bash NONCE= make step3-execute-proposal-unpause ``` This command will: - Update the proposal's `preOpCount` and `postOpCount` to match the provided `NONCE`. - Initialize signatures account. - Append signatures. - Finalize signatures. - Set root. - Execute proposal. ## Phase 4: Verification ### 4.1. View transaction on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction and verify: - The transaction was successful - The program logs show `Instruction: SetPauseStatus` (Anchor log) - The pause status matches the intended action (paused or unpaused) ### 4.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` ================================================ FILE: solana/setup-templates/template-set-pause-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Bridge Pause/Unpause Workflow ## PAUSE_OUTPUT = proposal-pause.json UNPAUSE_OUTPUT = proposal-unpause.json # Step 1: Create pause/unpause proposal .PHONY: step1-create-proposal-pause step1-create-proposal-pause: @echo "==> Step 1: Creating MCM pause/unpause proposal..." MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) PAUSED=true make mcm-proposal-bridge-pause .PHONY: step1-create-proposal-unpause step1-create-proposal-unpause: @echo "==> Step 1: Creating MCM pause/unpause proposal..." MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) PAUSED=false make mcm-proposal-bridge-pause # Step 2: Sign proposals .PHONY: sign-pause sign-pause: @echo "==> Step 2: Signing proposal..." @rm -f signatures-pause.txt @for i in $$(seq 1 20); do \ echo "Iteration $$i: Incrementing preOpCount and postOpCount..."; \ jq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \ nonce=$$(jq -r '.rootMetadata.preOpCount' $(PAUSE_OUTPUT)); \ echo "Signing nonce $$nonce..."; \ MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-pause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-pause.txt || true; \ echo "" >> signatures-pause.txt; \ rm sign_output.tmp; \ done .PHONY: sign-unpause sign-unpause: @echo "==> Step 2: Signing proposal..." @rm -f signatures-unpause.txt @for i in $$(seq 1 20); do \ echo "Iteration $$i: Incrementing preOpCount and postOpCount..."; \ jq '.rootMetadata.preOpCount += 1 | .rootMetadata.postOpCount += 1' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \ nonce=$$(jq -r '.rootMetadata.preOpCount' $(UNPAUSE_OUTPUT)); \ echo "Signing nonce $$nonce..."; \ MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-sign | tee sign_output.tmp; \ echo "Nonce: $$nonce" >> signatures-unpause.txt; \ grep -E "^Data:|^Signer:|^Signature:" sign_output.tmp >> signatures-unpause.txt || true; \ echo "" >> signatures-unpause.txt; \ rm sign_output.tmp; \ done # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal-pause step3-execute-proposal-pause: @echo "==> Step 3: Executing MCM proposal..." @if [ -n "$(NONCE)" ]; then \ echo "Updating proposal with nonce $(NONCE)..."; \ jq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(PAUSE_OUTPUT) > $(PAUSE_OUTPUT).tmp && mv $(PAUSE_OUTPUT).tmp $(PAUSE_OUTPUT); \ fi MCM_PROPOSAL_OUTPUT=$(PAUSE_OUTPUT) make mcm-all .PHONY: step3-execute-proposal-unpause step3-execute-proposal-unpause: @echo "==> Step 3: Executing MCM proposal..." @if [ -n "$(NONCE)" ]; then \ echo "Updating proposal with nonce $(NONCE)..."; \ jq '.rootMetadata.preOpCount = $(NONCE) | .rootMetadata.postOpCount = ($(NONCE) + 1)' $(UNPAUSE_OUTPUT) > $(UNPAUSE_OUTPUT).tmp && mv $(UNPAUSE_OUTPUT).tmp $(UNPAUSE_OUTPUT); \ fi MCM_PROPOSAL_OUTPUT=$(UNPAUSE_OUTPUT) make mcm-all ================================================ FILE: solana/setup-templates/template-set-pause-bridge/README.md ================================================ # MCM Bridge Pause/Unpause Status: PENDING ## Description This task pauses or unpauses the Bridge program using the MCM program. This is a critical security operation that can be used to halt bridge operations in emergency situations or resume them after issues are resolved. There are two separate workflows available: 1. **Pause**: Halts all bridge operations. 2. **Unpause**: Resumes bridge operations. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana// make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal Identify which action you are signing for (Pause or Unpause) and verify the corresponding proposal file. #### If Pausing (`proposal-pause.json`) **Verify proposal-level fields:** - `proposal-pause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env` - `proposal-pause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env` - The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env` **Verify instruction data:** 1. **Discriminant:** ```bash echo -n "global:set_pause_status" | shasum -a 256 | cut -c1-16 ``` Expected output: `761991d972d1ec91` 2. **Full instruction data:** ```bash jq -r '.instructions[0].data' proposal-pause.json | base64 -d | xxd -p -c 256 ``` Expected output: `761991d972d1ec9101` (ends in `01` for `true`) #### If Unpausing (`proposal-unpause.json`) **Verify proposal-level fields:** - `proposal-unpause.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env` - `proposal-unpause.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env` - The instruction `programId` must match `BRIDGE_PROGRAM_ID` from `.env` **Verify instruction data:** 1. **Discriminant:** (Same as above) 2. **Full instruction data:** ```bash jq -r '.instructions[0].data' proposal-unpause.json | base64 -d | xxd -p -c 256 ``` Expected output: `761991d972d1ec9100` (ends in `00` for `false`) ### 4. Sign the proposal Run the signing command for the appropriate action. **Note: This process requires signing multiple times (20 times) to generate signatures for future nonces.** **To Pause:** ```bash make sign-pause ``` **To Unpause:** ```bash make sign-unpause ``` This command will: 1. Iterate 20 times, incrementing the nonce (preOpCount/postOpCount). 2. Prompt you to sign on your Ledger for each iteration. 3. Save all signatures to a text file (`signatures-pause.txt` or `signatures-unpause.txt`). **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal for each iteration. ### 5. Send signature to Facilitator Send the generated signature file (`signatures-pause.txt` or `signatures-unpause.txt`) to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/setup-templates/template-update-signers-mcm/FACILITATORS.md ================================================ # Facilitator Instructions: MCM Signers Update ## Overview As a Facilitator, you are responsible for: 1. Preparing the new signers configuration 2. Creating the MCM proposal 3. Committing and pushing the proposal to the repo 4. Coordinating with Signers 5. Collecting signatures 6. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana// make deps ``` Ensure you have: - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare and Generate Proposal ### 1.1. Update .env with signers configuration Set the following in `.env`: ```bash MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json # New signers configuration MCM_NEW_SIGNERS=0xADDRESS1,0xADDRESS2,0xADDRESS3 MCM_SIGNER_GROUPS=0,0,1 MCM_GROUP_QUORUMS=2,1 MCM_GROUP_PARENTS=0,0 MCM_CLEAR_SIGNERS=false # or true if needed MCM_CLEAR_ROOT=false # or true if needed ``` ### 1.2. Generate proposal ```bash make step1-create-proposal ``` This creates the proposal file (default `proposal.json` or whatever is set in `MCM_PROPOSAL_OUTPUT`). ### 1.3. Review proposal Open and review the generated proposal file to verify: - All new signers are included - Signer groups are correctly assigned - Group quorums are appropriate - Group parent relationships are correct - Valid until timestamp is appropriate ### 1.4. Commit and push ```bash git add . git commit -m "Add MCM signers update proposal" git push ``` ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, update `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ```bash make step3-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute proposal - Print the new configuration ## Phase 4: Verification ### 4.1. Verify MCM configuration Check that: - All new signers are present - Old signers (if removed) are no longer present - Signers are in the correct groups - Group quorums are set correctly - Group parent relationships are correct ### 4.2. View on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the execution transaction to verify the update. ### 4.3. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, mainnet-beta, etc.). ================================================ FILE: solana/setup-templates/template-update-signers-mcm/Makefile ================================================ include ../.env include .env include ../../Makefile ## # MCM Signers Update Workflow ## # Step 1: Create signers update proposal .PHONY: step1-create-proposal step1-create-proposal: @echo "==> Step 1: Creating MCM signers update proposal..." make mcm-proposal-update-signers # Step 2: Sign proposal .PHONY: sign sign: @echo "==> Step 2: Signing proposal..." make mcm-sign # Step 3: Execute proposal (signatures + set-root + execute) .PHONY: step3-execute-proposal step3-execute-proposal: @echo "==> Step 3: Executing MCM proposal..." make mcm-all make mcm-signers-print-config ================================================ FILE: solana/setup-templates/template-update-signers-mcm/README.md ================================================ # MCM Signers Update via Multi-Chain Multisig Status: PENDING ## Description This task updates the signers configuration for a Multi-Chain Multisig (MCM) instance. This includes adding or removing signers, modifying signer groups, adjusting group quorums, and updating group parent relationships. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana// make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal Before signing, verify the proposal contents to ensure it matches expectations. #### 3.1. Verify Program ID Open `proposal.json` and verify that all instructions use the MCM program ID. The program ID should be documented in the task-specific README or deployment artifacts. #### 3.2. Verify Instruction Sequence The MCM signer update process involves multiple instructions in a specific sequence: - **(Optional) ClearSigners** - only if `MCM_CLEAR_SIGNERS=true` in `.env` - **0: InitSigners** - **1..N: AppendSigners** - one or more (batches of max 10 signers each) - **N+1: FinalizeSigners** - **N+2: SetConfig** **Before verifying individual instructions, check:** - All instructions must use `MCM_PROGRAM_ID` as their `programId` - `proposal.json` root field `multisigId` must match `MCM_MULTISIG_ID` from `.env` - `proposal.json` root field `validUntil` must match `MCM_VALID_UNTIL` from `.env` #### 3.2.1. (Optional) ClearSigners This instruction is only present if `MCM_CLEAR_SIGNERS=true` in `.env`. **Verify discriminant:** ```bash echo -n "global:clear_signers" | shasum -a 256 | cut -c1-16 ``` Expected output: `5a8caa92804b64af` **Verify full instruction data:** ```bash jq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output format: `5a8caa92804b64af[MULTISIG_ID (32 bytes)]` **Parameters:** - **multisig_id** (32 bytes): The multisig instance identifier - **Verify:** Must match `MCM_MULTISIG_ID` from `.env` #### 3.2.2. Instruction 0: InitSigners Initializes the signer storage. **Verify discriminant:** ```bash echo -n "global:init_signers" | shasum -a 256 | cut -c1-16 ``` Expected output: `66b681108a8edfc4` **Verify full instruction data:** ```bash jq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output format: `66b681108a8edfc4[MULTISIG_ID (32 bytes)][TOTAL_SIGNERS (1 byte)]` **Parameters:** - **multisig_id** (32 bytes): The multisig instance identifier - **Verify:** Must match `MCM_MULTISIG_ID` from `.env` - **total_signers** (u8, 1 byte): Total number of signers to be added - **Verify:** Must equal the count of comma-separated addresses in `MCM_NEW_SIGNERS` from `.env` #### 3.2.3. Instructions 1..N: AppendSigners Adds signer addresses in batches. May appear multiple times (max 10 signers per batch). **Verify discriminant:** ```bash echo -n "global:append_signers" | shasum -a 256 | cut -c1-16 ``` Expected output: `eed1fb2729f19219` **Verify full instruction data:** ```bash jq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output format: `eed1fb2729f19219[MULTISIG_ID (32 bytes)][VEC_LENGTH (u32 LE, 4 bytes)][SIGNER_1 (20 bytes)]...[SIGNER_N (20 bytes)]` **Parameters:** - **multisig_id** (32 bytes): The multisig instance identifier - **Verify:** Must match `MCM_MULTISIG_ID` from `.env` - **signers_batch** (Vec<[u8; 20]>): - Length (u32 little-endian, 4 bytes): Number of signers in this batch - Signer addresses (20 bytes each): Ethereum addresses - **Verify:** All signer addresses across all AppendSigners instructions (concatenated in order) must match the comma-separated addresses in `MCM_NEW_SIGNERS` from `.env` **Note:** Total signers across all AppendSigners instructions must match `total_signers` from InitSigners. #### 3.2.4. Instruction N+1: FinalizeSigners Finalizes the signer list. **Verify discriminant:** ```bash echo -n "global:finalize_signers" | shasum -a 256 | cut -c1-16 ``` Expected output: `31fe9ae289c7783f` **Verify full instruction data:** ```bash jq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output format: `31fe9ae289c7783f[MULTISIG_ID (32 bytes)]` **Parameters:** - **multisig_id** (32 bytes): The multisig instance identifier - **Verify:** Must match `MCM_MULTISIG_ID` from `.env` #### 3.2.5. Instruction N+2: SetConfig Sets the final multisig configuration (groups, quorums, and parents). **Verify discriminant:** ```bash echo -n "global:set_config" | shasum -a 256 | cut -c1-16 ``` Expected output: `6c9e9aafd4623442` **Verify full instruction data:** ```bash jq -r '.instructions[N].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output format: `6c9e9aafd4623442[MULTISIG_ID (32 bytes)][SIGNER_GROUPS_VEC_LENGTH (u32 LE, 4 bytes)][SIGNER_GROUPS (N bytes)][GROUP_QUORUMS (32 bytes)][GROUP_PARENTS (32 bytes)][CLEAR_ROOT (1 byte)]` **Parameters:** - **multisig_id** (32 bytes): The multisig instance identifier - **Verify:** Must match `MCM_MULTISIG_ID` from `.env` - **signer_groups** (Vec): - Length (u32 little-endian, 4 bytes): Number of signers - Group assignments (u8, 1 byte each): Group ID for each signer - **Verify:** Must match comma-separated values in `MCM_SIGNER_GROUPS` from `.env` - **group_quorums** (array of 32 u8): Quorum threshold for each group - **Verify:** Must match comma-separated values in `MCM_GROUP_QUORUMS` from `.env` (remaining bytes padded with zeros) - **group_parents** (array of 32 u8): Parent group ID for each group - **Verify:** Must match comma-separated values in `MCM_GROUP_PARENTS` from `.env` (remaining bytes padded with zeros) - **clear_root** (bool, 1 byte): Whether to clear the previous root - **Verify:** Must match `MCM_CLEAR_ROOT` from `.env`: `true` = `01`, `false` or omitted = `00` #### 3.3. Verify Proposal Metadata Check the proposal metadata in `proposal.json`: - **validUntil**: Unix timestamp - verify this is in the future (typically within 7 days) - **multisig**: The MCM multisig address for this network - **preOpCount**: The operation count before this proposal - **postOpCount**: Should be preOpCount + total number of instructions ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: solana/setup-templates/template-upgrade-bridge/.gitignore ================================================ bridge/ *keypair.json ================================================ FILE: solana/setup-templates/template-upgrade-bridge/FACILITATORS.md ================================================ # Facilitator Instructions: Bridge Program Upgrade ## Overview As a Facilitator, you are responsible for: 1. Preparing the bridge program upgrade buffer 2. Creating the upgrade proposal 3. Coordinating with Signers and collecting signatures 4. Executing the proposal on-chain ## Prerequisites ```bash cd contract-deployments git pull cd solana// make setup-deps ``` Ensure you have: - Rust toolchain installed (via `make setup-deps`) - Solana CLI installed and configured (via `make setup-deps`) - Anchor CLI installed - `mcmctl` installed (via `make deps`) - `eip712sign` installed (via `make deps`) - A funded Solana wallet configured ## Phase 1: Prepare Bridge Program Upgrade ### 1.1. Update .env for bridge program upgrade Set the following in `.env`: ```bash BRIDGE_REPO= BRIDGE_COMMIT= BRIDGE_KEYPAIR= BASE_RELAYER_KEYPAIR= DEPLOY_ENV= ``` Then run: ```bash make step1-clone-bridge ``` This will: - Remove any existing `bridge` directory - Clone the bridge repository - Checkout the specified commit - Install and build TypeScript clients - Install script dependencies ### 1.2. Build the bridge programs ```bash make step2-build-programs ``` This builds the bridge programs. The compiled binary will be in `bridge/solana/target/deploy/bridge.so`. The build process: - Copies keypairs to the target directory - Synchronizes Anchor keys - Builds using the bridge CLI script ### 1.3. Write program buffer Add the following variable to `.env`: ```bash PROGRAM_BINARY=bridge/solana/target/deploy/bridge.so ``` Then run: ```bash make step3-write-buffer ``` This will output a buffer address. Copy it and add to `.env`: ```bash BUFFER= ``` ### 1.4. Transfer buffer authority to MCM Add the following variables to `.env`: ```bash MCM_AUTHORITY= ``` Then run: ```bash make step4-transfer-buffer ``` This transfers the buffer authority from your wallet to the MCM authority PDA. The buffer is now controlled by MCM. Copy the transaction signature from the output. ### 1.5. Generate set-buffer-authority artifacts Find the transaction signature from step 1.4 on Solana Explorer and add to `.env`: ```bash SET_BUFFER_AUTHORITY_SIGNATURE= ``` Then generate the artifacts: ```bash make step5-generate-set-buffer-authority-artifacts ``` This creates `artifacts/set-buffer-authority-artifacts.json` which will be used in the upgrade proposal. ### 1.6. Create upgrade proposal Add the following variables to `.env`: ```bash # Common MCM Proposal Variables MCM_PROGRAM_ID= MCM_MULTISIG_ID= MCM_VALID_UNTIL= MCM_OVERRIDE_PREVIOUS_ROOT=false # or true if needed MCM_PROPOSAL_OUTPUT=proposal.json PROGRAM= SPILL= ``` Then run: ```bash make step6-create-upgrade-proposal ``` This creates `upgrade-proposal.json` with the program upgrade instruction. ### 1.7. Review upgrade proposal Open and review `upgrade-proposal.json` to verify: - Program address matches `PROGRAM` - Buffer address matches `BUFFER` - Spill address is correct - All instructions are correct ## Phase 2: Coordinate with Signers and Collect Signatures Coordinate with Signers to collect their signatures. Each Signer will run `make sign` and provide their signature. Concatenate all signatures in the format: `0xSIG1,0xSIG2,0xSIG3` Once you have all required signatures, add to `.env`: ```bash MCM_SIGNATURES_COUNT= MCM_SIGNATURES=0xSIG1,0xSIG2,0xSIG3 ``` ## Phase 3: Execute Proposal ### 3.1. Add execution variables to .env Add the following variables to `.env`: ```bash AUTHORITY= ``` ### 3.2. Execute the proposal ```bash make step8-execute-proposal ``` This command executes all the necessary steps: - Initialize signatures account - Append signatures - Finalize signatures - Set root - Execute both operations (config update + program upgrade) ## Phase 4: Verification ### 4.1. Verify program upgrade on Solana Explorer Visit the Solana Explorer for your network: - Mainnet: https://explorer.solana.com/ - Devnet: https://explorer.solana.com/?cluster=devnet Search for the bridge program address (`$PROGRAM`) and verify: - The "Last Deployed Slot" is recent - The upgrade authority is still the MCM authority - The program was upgraded successfully ### 4.2. Update README Update the Status line in README.md to: ```markdown Status: [EXECUTED](https://explorer.solana.com/tx/?cluster=) ``` Replace `` with the execution transaction signature and `` with the appropriate cluster (devnet, devnet-alpha, mainnet-beta, etc.). ================================================ FILE: solana/setup-templates/template-upgrade-bridge/Makefile ================================================ include ../.env include .env include ../../Makefile .PHONY: install-rust install-rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustup toolchain install $(RUST_TOOLCHAIN) && \ rustup default $(RUST_TOOLCHAIN) .PHONY: install-solana-cli install-solana-cli: curl -sSfL https://release.anza.xyz/v$(SOLANA_VERSION)/install | sh .PHONY: install-anchor install-anchor: cargo install --git https://github.com/coral-xyz/anchor --tag v$(ANCHOR_VERSION) anchor-cli --force .PHONY: setup-deps setup-deps: install-rust install-solana-cli install-anchor ## # MCM Program Upgrade Workflow ## # Step 1: Clone the bridge repo .PHONY: step1-clone-bridge step1-clone-bridge: @echo "==> Step 1: Cloning the bridge repo..." @ rm -rf bridge @ git clone --filter=blob:none $(BRIDGE_REPO) bridge @ cd bridge && \ git checkout $(BRIDGE_COMMIT) @ cd bridge/clients/ts && \ bun install && \ bun run build @ cd bridge/scripts && \ bun install # Step 2: Build the bridge programs .PHONY: step2-build-programs step2-build-programs: @echo "==> Step 2: Building bridge programs..." mkdir -p bridge/solana/target/deploy && \ cp $(BRIDGE_KEYPAIR) bridge/solana/target/deploy/bridge-keypair.json && \ cp $(BASE_RELAYER_KEYPAIR) bridge/solana/target/deploy/base_relayer-keypair.json && \ cd bridge/solana && \ anchor keys sync cd bridge/scripts && \ bun cli sol build \ --deploy-env $(DEPLOY_ENV) \ --bridge-program-kp ../../$(BRIDGE_KEYPAIR) \ --base-relayer-program-kp ../../$(BASE_RELAYER_KEYPAIR) # Step 3: Write program buffer .PHONY: step3-write-buffer step3-write-buffer: @echo "==> Step 3: Writing program buffer..." make sol-write-buffer # Step 4: Transfer buffer authority to MCM .PHONY: step4-transfer-buffer step4-transfer-buffer: @echo "==> Step 4: Transferring buffer authority to MCM..." make sol-set-buffer-authority # Step 5: Generate set-buffer-authority artifacts (use solana explorer to get the signature of the set-buffer-authority tx) .PHONY: step5-generate-set-buffer-authority-artifacts step5-generate-set-buffer-authority-artifacts: @echo "==> Step 5: Generating MCM set-buffer-authority artifacts..." make sol-confirm SIG=$(SET_BUFFER_AUTHORITY_SIGNATURE) output=artifacts/set-buffer-authority-artifacts.json # Step 6: Create upgrade proposal .PHONY: step6-create-proposal step6-create-proposal: @echo "==> Step 6: Creating MCM upgrade proposal..." make mcm-proposal-loader-v3-upgrade # Step 7: Sign proposal .PHONY: sign sign: @echo "==> Step 7: Signing proposal..." make mcm-sign # Step 8: Execute proposal (signatures + set-root + execute) .PHONY: step8-execute-proposal step8-execute-proposal: @echo "==> Step 8: Executing MCM proposal..." make mcm-all ================================================ FILE: solana/setup-templates/template-upgrade-bridge/README.md ================================================ # Upgrade Bridge Program Status: PENDING ## Description This task upgrades the bridge program using the Multi-Chain Multisig (MCM) governance system. ## Procedure for Signers ### 1. Update repo ```bash cd contract-deployments git pull cd solana// make deps ``` ### 2. Setup Ledger Your Ledger needs to be connected and unlocked. The **Ethereum application** needs to be opened on Ledger with the message "Application is ready". ### 3. Verify the Proposal #### 3.1. Verify Instruction 1 (BPF Loader Upgradeable - Upgrade) **Program ID:** Verify instruction 1 has program ID: `BPFLoaderUpgradeab1e11111111111111111111111` **Instruction Data:** Verify this is the Upgrade instruction (discriminant = 3): ```bash jq -r '.instructions[0].data' proposal.json | base64 -d | xxd -p -c 256 ``` Expected output: `03000000` This is the u32 little-endian representation of 3, which corresponds to the [Upgrade](https://github.com/solana-program/loader-v3/blob/main/program/src/instruction.rs#L223) instruction in BPF Loader Upgradeable. ### 4. Sign the proposal ```bash make sign ``` This command will: 1. Display the proposal hash 2. Prompt you to sign on your Ledger 3. Output your signature **Verify on your Ledger**: Check that the data you're signing matches the proposal hash displayed in the terminal. After signing, you will see output like: ``` Signature: 1234567890abcdef... ``` ### 5. Send signature to Facilitator Copy the **entire signature** and send it to the Facilitator via your secure communication channel. **That's it!** The Facilitator will collect all signatures and execute the proposal. ## For Facilitators See [FACILITATORS.md](./FACILITATORS.md) for complete instructions on preparing, executing, and verifying this task. ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/DeployNestedOwnership.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.24; import {Script} from "forge-std/Script.sol"; import {Safe} from "safe-smart-account/contracts/Safe.sol"; import {SafeProxyFactory} from "safe-smart-account/contracts/proxies/SafeProxyFactory.sol"; import {stdJson} from "forge-std/StdJson.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {console} from "forge-std/console.sol"; // Deploys a nested 3-Safe ownership structure for use as proxyAdminOwner. // // Structure: // SafeA — 3-of-13 multisig (individual signers) // SafeB — 1-of-13 multisig (same individual signers) // SafeC — 2-of-2 multisig owned by SafeA and SafeB // // SafeC becomes the proxyAdminOwner / l1ProxyAdminOwner. // l2ProxyAdminOwner = uint160(SafeC) + 0x1111000000000000000000000000000000001111 // // Required env vars: // L1_GNOSIS_SAFE_IMPLEMENTATION — address of Gnosis Safe singleton // L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER — address of compatibility fallback handler // SAFE_PROXY_FACTORY — address of SafeProxyFactory // // Required input file (same directory as this script): // addresses.json — { "owners": ["0x...", ...] } (exactly 13 addresses) // // Output file written after deployment: // deployed-addresses.json — { "SafeA": "0x...", "SafeB": "0x...", "SafeC": "0x..." } // // Run: // forge script DeployNestedOwnership.sol --rpc-url $L1_RPC_URL --broadcast --sender $DEPLOYER contract DeployNestedOwnership is Script { using Strings for address; using stdJson for string; address public immutable SAFE_IMPLEMENTATION; address public immutable FALLBACK_HANDLER; address public immutable SAFE_PROXY_FACTORY; address public zAddr; uint256 constant SAFE_A_THRESHOLD = 3; uint256 constant SAFE_B_THRESHOLD = 1; uint256 constant SAFE_C_THRESHOLD = 2; uint256 constant EXPECTED_OWNER_COUNT = 13; constructor() { SAFE_IMPLEMENTATION = vm.envAddress("L1_GNOSIS_SAFE_IMPLEMENTATION"); FALLBACK_HANDLER = vm.envAddress("L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER"); SAFE_PROXY_FACTORY = vm.envAddress("SAFE_PROXY_FACTORY"); } function run() public { string memory json = vm.readFile("addresses.json"); address[] memory owners = abi.decode(json.parseRaw(".owners"), (address[])); require(owners.length == EXPECTED_OWNER_COUNT, "Expected 13 owners in addresses.json"); console.log("Deploying SafeA (3-of-13) with owners:"); _printOwners(owners); console.log("Deploying SafeB (1-of-13) with same owners"); vm.startBroadcast(); address safeA = _createAndInitProxy(owners, SAFE_A_THRESHOLD); address safeB = _createAndInitProxy(owners, SAFE_B_THRESHOLD); address[] memory safeCOwners = new address[](2); safeCOwners[0] = safeA; safeCOwners[1] = safeB; address safeC = _createAndInitProxy(safeCOwners, SAFE_C_THRESHOLD); vm.stopBroadcast(); _postCheck(safeA, safeB, safeC, owners); vm.writeFile( "deployed-addresses.json", string.concat( "{", "\"SafeA\": \"", safeA.toHexString(), "\",", "\"SafeB\": \"", safeB.toHexString(), "\",", "\"SafeC\": \"", safeC.toHexString(), "\"", "}" ) ); } function _postCheck( address safeAAddr, address safeBAddr, address safeCAddr, address[] memory expectedOwners ) private view { Safe safeA = Safe(payable(safeAAddr)); Safe safeB = Safe(payable(safeBAddr)); Safe safeC = Safe(payable(safeCAddr)); require(safeA.getThreshold() == SAFE_A_THRESHOLD, "PostCheck: SafeA threshold"); require(safeB.getThreshold() == SAFE_B_THRESHOLD, "PostCheck: SafeB threshold"); require(safeC.getThreshold() == SAFE_C_THRESHOLD, "PostCheck: SafeC threshold"); address[] memory safeAOwners = safeA.getOwners(); address[] memory safeBOwners = safeB.getOwners(); address[] memory safeCOwners = safeC.getOwners(); require(safeAOwners.length == EXPECTED_OWNER_COUNT, "PostCheck: SafeA owner count"); require(safeBOwners.length == EXPECTED_OWNER_COUNT, "PostCheck: SafeB owner count"); require(safeCOwners.length == 2, "PostCheck: SafeC owner count"); for (uint256 i; i < expectedOwners.length; i++) { require(safeAOwners[i] == expectedOwners[i], "PostCheck: SafeA owner mismatch"); require(safeBOwners[i] == expectedOwners[i], "PostCheck: SafeB owner mismatch"); } require(safeC.isOwner(safeAAddr), "PostCheck: SafeC should have SafeA as owner"); require(safeC.isOwner(safeBAddr), "PostCheck: SafeC should have SafeB as owner"); console.log("PostCheck passed"); console.log("SafeA:", safeAAddr); console.log("SafeB:", safeBAddr); console.log("SafeC:", safeCAddr); } function _createAndInitProxy(address[] memory owners, uint256 threshold) private returns (address) { bytes memory initializer = abi.encodeCall(Safe.setup, (owners, threshold, zAddr, "", FALLBACK_HANDLER, zAddr, 0, payable(zAddr))); return address(SafeProxyFactory(SAFE_PROXY_FACTORY).createProxyWithNonce(SAFE_IMPLEMENTATION, initializer, 0)); } function _printOwners(address[] memory owners) private pure { for (uint256 i; i < owners.length; i++) { console.logAddress(owners[i]); } } } ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/Makefile ================================================ include ../../Makefile include ../.env include .env ifndef LEDGER_ACCOUNT override LEDGER_ACCOUNT = 1 endif .PHONY: deps deps: forge install --no-git safe-global/safe-smart-account@21dc82410445637820f600c7399a804ad55841d5 .PHONY: dryrun dryrun: forge script --rpc-url $(L1_RPC_URL) DeployNestedOwnership --account testnet-admin -vvvv .PHONY: deploy deploy: forge script --rpc-url $(L1_RPC_URL) DeployNestedOwnership --account testnet-admin --broadcast -vvvv ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/README.md ================================================ # Deploy Proxy Admin (Nested Safe Ownership) Status: EXECUTED ## Overview Deploys a nested 3-Safe ownership structure to serve as the `proxyAdminOwner` on Zedinet (Hoodi testnet, L1 chain ID 560048). Structure: - **SafeA** — 3-of-13 multisig (individual signers) - **SafeB** — 1-of-13 multisig (same individual signers) - **SafeC** — 2-of-2 multisig owned by SafeA and SafeB SafeC becomes the `proxyAdminOwner` / `l1ProxyAdminOwner`. ## Procedure ### 1. Update repo and install dependencies ```bash cd contract-deployments git pull cd zedinet/2026-03-19-deploy-proxy-admin make deps ``` ### 2. Configure environment Ensure the following variables are set (in `zedinet/.env` or a local `.env`): ``` L1_GNOSIS_SAFE_IMPLEMENTATION=
L1_GNOSIS_COMPATIBILITY_FALLBACK_HANDLER=
SAFE_PROXY_FACTORY=
``` ### 3. Verify `addresses.json` Confirm that `addresses.json` contains exactly 13 owner addresses: ```json { "owners": ["0x...", ...] } ``` ### 4. Deploy the Safes ```bash make deploy ``` This will deploy SafeA, SafeB, and SafeC onchain and write their addresses to `deployed-addresses.json`. Commit this file to the repo. ### 5. Update `zedinet/.env` After deployment, populate the following variables in `zedinet/.env` with the SafeC address from `deployed-addresses.json`: ``` BASE_SECURITY_COUNCIL= CB_COORDINATOR_MULTISIG= CB_MULTISIG= INCIDENT_MULTISIG= OP_MULTISIG= PROXY_ADMIN_OWNER= ``` ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/addresses.json ================================================ { "owners": [ "0x931E24B032511d8dD029AedeB44837FAc251f3d8", "0x0CF2F86C3338993ce10F74d6f4B095712c7efe26", "0x420c8fE1dDb0593c71487445576c87c17f177179", "0xE45AC81eA7f53dea5f0bd6Caa0733DD5c02d3b60", "0x9986ccaf9E3DE0fFEF82a0f7fA3a06D5aFe07252", "0x4ffd98B5EEA905eC25aA3daF180552F67873Ed78", "0x5F1955729e3D6129FB73813E891742D473fc74F7", "0x6e427c3212C0b63BE0C382F97715D49b011bFF33", "0xEdecf2c444559210a865a22acfc6A2a25590Ab1b", "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "0x644d0F5c2C55A4679b4BFe057B87ba203AF9aC0D", "0x7f10098BD53519c739cA8A404afE127647D94774", "0xEE316Db0eDaee45347DfC498795a01311F085225" ] } ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/deployed-addresses.json ================================================ {"SafeA": "0x856611ed7e07d83243b15e93f6321f2df6865852","SafeB": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba","SafeC": "0x3d59999977e0896ee1f8783bb8251df16fb483e9"} ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/foundry.toml ================================================ [profile.default] src = '.' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 solc_version = "0.8.24" via-ir = false remappings = [ 'forge-std/=lib/forge-std/src/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/', 'safe-smart-account/=lib/safe-smart-account/', ] skip = [ "lib/**/test/**", "lib/**/tests/**", "lib/**/certora/**", ] [lint] lint_on_build = false ================================================ FILE: zeronet/2026-03-19-deploy-proxy-admin/records/DeployNestedOwnership.sol/560048/run-1773955648605.json ================================================ { "transactions": [ { "hash": "0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0xc1064", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e4b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x3", "chainId": "0x88bb0" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false }, { "hash": "0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f0852250000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0xc1064", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e4b63e800d00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x4", "chainId": "0x88bb0" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false }, { "hash": "0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28", "transactionType": "CALL", "contractName": null, "contractAddress": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "function": "createProxyWithNonce(address,bytes,uint256)", "arguments": [ "0x41675C099F32341bf84BFc5382aF534df5C7461a", "0xb63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba0000000000000000000000000000000000000000000000000000000000000000", "0" ], "transaction": { "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "gas": "0x5f377", "value": "0x0", "input": "0x1688f0b900000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000184b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x5", "chainId": "0x88bb0" }, "additionalContracts": [ { "transactionType": "CREATE2", "contractName": null, "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "initCode": "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f766964656400000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a" } ], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2497bd", "logs": [ { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329", "transactionIndex": "0xb", "logIndex": "0xe", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329", "transactionIndex": "0xb", "logIndex": "0xf", "removed": false } ], "logsBloom": "0x00000000000000000000000000000200000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000008000000000000000000000000000000000500000000000000000000000100000000000000000000000800000000000200000000200000000000008000000000000000000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000200000000000000000000000000", "type": "0x2", "transactionHash": "0x14f8e13fd77c6491d89db143d53ec302916f38442d14731f292db6532b474329", "transactionIndex": "0xb", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "gasUsed": "0x83fb9", "effectiveGasPrice": "0x3e2e47b4", "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x2cd776", "logs": [ { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000931e24b032511d8dd029aedeb44837fac251f3d80000000000000000000000000cf2f86c3338993ce10f74d6f4b095712c7efe26000000000000000000000000420c8fe1ddb0593c71487445576c87c17f177179000000000000000000000000e45ac81ea7f53dea5f0bd6caa0733dd5c02d3b600000000000000000000000009986ccaf9e3de0ffef82a0f7fa3a06d5afe072520000000000000000000000004ffd98b5eea905ec25aa3daf180552f67873ed780000000000000000000000005f1955729e3d6129fb73813e891742d473fc74f70000000000000000000000006e427c3212c0b63be0c382f97715d49b011bff33000000000000000000000000edecf2c444559210a865a22acfc6a2a25590ab1b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b000000000000000000000000644d0f5c2c55a4679b4bfe057b87ba203af9ac0d0000000000000000000000007f10098bd53519c739ca8a404afe127647d94774000000000000000000000000ee316db0edaee45347dfc498795a01311f085225", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5", "transactionIndex": "0xc", "logIndex": "0x10", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5", "transactionIndex": "0xc", "logIndex": "0x11", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000800000008000000001000000008000000000000000500000000000000800000000100000000000000000000000800000000000200000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9c41c6acd0edf4bd18d3ad581cd59a68e002ccaa88fb1b2a06bc3447458018e5", "transactionIndex": "0xc", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "gasUsed": "0x83fb9", "effectiveGasPrice": "0x3e2e47b4", "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x31266d", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8", "0x0000000000000000000000004e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67" ], "data": "0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec990000000000000000000000000000000000000000000000000000000000000002000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28", "transactionIndex": "0xd", "logIndex": "0x12", "removed": false }, { "address": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "topics": [ "0x4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235", "0x0000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e9" ], "data": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "blockTimestamp": "0x69bc6a3c", "transactionHash": "0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28", "transactionIndex": "0xd", "logIndex": "0x13", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000000000000010000000000000000000000000000000000000000008000000000000000000000000000000000500000000000000000000000100000000000000000000100800000000000200000000000000000000000000000000000000000000000000000000000000000000100000000000000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000100020000000400000000000000000000000", "type": "0x2", "transactionHash": "0x012c9b49abc7a701bae729d4bbf3a11315d0516450e2e5301a1df8d3f3edbc28", "transactionIndex": "0xd", "blockHash": "0x71df3a8e1bb424458242efd65c323e9a4b9174807e410030ebb12904dedd3e2e", "blockNumber": "0x25625a", "gasUsed": "0x44ef7", "effectiveGasPrice": "0x3e2e47b4", "from": "0x70ef7bd10e24f6a24418015f6052b480d366fbf8", "to": "0x4e1dcf7ad4e460cfd30791ccc4f9c8a4f820ec67", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1773955648605, "chain": 560048, "commit": "2a91156" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete all deploy steps: ```bash cd contract-deployments git pull cd zeronet/2026-04-01-activate-multiproof make deps make deploy-cb-multicall make deploy-nitro-verifier make deploy-multiproof make setup-nitro ``` `make deploy-cb-multicall` deploys the canonical `CBMulticall` helper used by `MultisigScript` signer-side simulations on zeronet. `make deploy-nitro-verifier` deploys `RiscZeroSetVerifier` and `NitroEnclaveVerifier` (with the deployer as temporary owner) and wires the RiscZero verify route. Initializes `addresses.json`. `make deploy-multiproof` deploys the remaining contracts (TEEProverRegistry, DelayedWETH, TEEVerifier, AggregateVerifier, etc.). The TEEProverRegistry and DelayedWETH proxies are initialized at deploy time and their admin is transferred to the L1 ProxyAdmin. Appends addresses to `addresses.json`. `make setup-nitro` configures the NitroEnclaveVerifier: sets the `proofSubmitter` to the TEEProverRegistry proxy and transfers ownership to the multisig (`TEE_PROVER_REGISTRY_OWNER`). This step runs directly via the deployer Ledger (no multisig signatures required). ## Generate validation files ```bash cd contract-deployments git pull cd zeronet/2026-04-01-activate-multiproof make deps make gen-validation-multiproof-cb make gen-validation-multiproof-sc ``` This produces: - `validations/multiproof-cb-signer.json` - `validations/multiproof-sc-signer.json` ## Pre-sign check: `STARTING_ANCHOR_*` correctness `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical. Before collecting signatures, verify both values against the target RPC endpoints. ### 1. Validate that the anchor block number is expected Confirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value (if one was agreed) ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER cast block $BLOCK --rpc-url $L2_RPC_URL ``` ### 2. Derive output root from that exact block Use `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`. ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER OUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot') echo $OUTPUT_ROOT echo $STARTING_ANCHOR_ROOT ``` Expected result: - `OUTPUT_ROOT == STARTING_ANCHOR_ROOT` ### 3. RPC requirements - `L2_RPC_URL` should point to the target L2 execution RPC. - `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock` (typically an OP node RPC). - Depending on block age and provider retention, an archive-capable RPC may be required. ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-01-activate-multiproof make deps ``` ### 2. Collect signatures for `CB_SIGNER_SAFE_ADDR` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-multiproof-cb ``` ### 3. Collect signatures for `CB_SC_SAFE_ADDR` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-multiproof-sc ``` ### 4. Execute the multiproof activation batch ```bash make execute-activate-multiproof ``` ================================================ FILE: zeronet/2026-04-01-activate-multiproof/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER := $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) ACTIVATE_MULTIPROOF_SCRIPT_NAME = script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack MULTIPROOF_CB_SENDER := $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) MULTIPROOF_SC_SENDER := $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches apply-patches: cd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch .PHONY: deps deps: task-extra-deps apply-patches .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment ## .PHONY: deploy-cb-multicall deploy-cb-multicall: forge script --rpc-url $(L1_RPC_URL) script/DeployCBMulticall.s.sol:DeployCBMulticall \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv .PHONY: deploy-nitro-verifier deploy-nitro-verifier: forge script --rpc-url $(L1_RPC_URL) script/DeployNitroVerifier.s.sol:DeployNitroVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) .PHONY: deploy-multiproof deploy-multiproof: forge script --rpc-url $(L1_RPC_URL) script/DeployMultiproofStack.s.sol:DeployMultiproofStack \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) .PHONY: setup-nitro setup-nitro: forge script --rpc-url $(L1_RPC_URL) script/SetupNitroEnclaveVerifier.s.sol:SetupNitroEnclaveVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast -vvvv --sender $(DEPLOYER) ## # Activate Multiproof ## .PHONY: gen-validation-multiproof-cb gen-validation-multiproof-cb: deps-signer-tool $(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(CB_MULTISIG),$(MULTIPROOF_CB_SENDER),multiproof-cb-signer.json,) .PHONY: gen-validation-multiproof-sc gen-validation-multiproof-sc: deps-signer-tool $(call GEN_VALIDATION,$(ACTIVATE_MULTIPROOF_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(MULTIPROOF_SC_SENDER),multiproof-sc-signer.json,) .PHONY: approve-multiproof-cb approve-multiproof-cb: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) approve-multiproof-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-multiproof-sc approve-multiproof-sc: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) approve-multiproof-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-activate-multiproof execute-activate-multiproof: SCRIPT_NAME := $(ACTIVATE_MULTIPROOF_SCRIPT_NAME) execute-activate-multiproof: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: zeronet/2026-04-01-activate-multiproof/README.md ================================================ # Activate Multiproof Status: [EXECUTED](https://hoodi.etherscan.io/tx/0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804) ## Description This task activates multiproof on `zeronet`. This task does not include the proposer-side follow-up steps after the upgrade. ## Procedure ## Sign Task ### 1. Update repo ```bash cd contract-deployments git pull ``` ### 2. Run the signing tool ```bash cd contract-deployments make sign-task ``` ### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. ### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-01-activate-multiproof/addresses.json ================================================ { "nitroEnclaveVerifier": "0x5eD42a8Eb9E1F0B466047c02156d894968d42FF9", "riscZeroSetVerifier": "0x5492E1ecd7867AeAd78464EbD5def30F96d462ba", "riscZeroVerifierRouter": "0x32Db7dc407AC886807277636a1633A1381748DD8", "teeProverRegistryImpl": "0x3b0D2F6A1F9d9De3A163e1F0aaF845dD47Ce3122", "teeProverRegistryProxy": "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc", "teeVerifier": "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "zkVerifier": "0x4730CEc510E664838B20B576881702b64651Cc45", "delayedWETHImpl": "0xF5f747bB3bBb45bB019fc49Bf2E9F2Ee93158C72", "delayedWETHProxy": "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "aggregateVerifier": "0x6Ed60b2e1bdc8Bcf333e12e716AF2bC63BB263d6", "optimismPortal2Impl": "0x27b8D2D28540B133f9454535867e3b89b78d88B0", "disputeGameFactoryImpl": "0xC5942bF8039CEf74414305A67384C382fB5E0Bb4", "anchorStateRegistryImpl": "0x144A55c8d46a347cD08204c0327cB411527F846e" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@rari-capital/solmate/=lib/solmate/', '@base-contracts/=lib/contracts/', 'solady/=lib/solady/src/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', '@lib-keccak/=lib/lib-keccak/contracts/lib', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'src/dispute/=lib/contracts/src/dispute/', 'src/multiproof/=lib/contracts/src/multiproof/', 'src/universal/=lib/contracts/src/universal/', 'src/L1/=lib/contracts/src/L1/', 'src/cannon/=lib/contracts/src/cannon/', 'src/vendor/=lib/contracts/src/vendor/', 'src/libraries/=lib/contracts/src/libraries/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', ] ================================================ FILE: zeronet/2026-04-01-activate-multiproof/patch/asr-reset-anchor-game.patch ================================================ diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol --- a/src/dispute/AnchorStateRegistry.sol +++ b/src/dispute/AnchorStateRegistry.sol @@ -101,6 +101,7 @@ // Now perform initialization logic. systemConfig = _systemConfig; disputeGameFactory = _disputeGameFactory; startingAnchorRoot = _startingAnchorRoot; + anchorGame = IFaultDisputeGame(address(0)); respectedGameType = _startingRespectedGameType; // Set the retirement timestamp to the current timestamp the first time the contract is ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/approve-latest.json ================================================ { "transactions": [ { "hash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x21395", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x26", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xfe5bd", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "blockTimestamp": "0x69ce817c", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "logIndex": "0x7", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x72cd6c07eb200bb92f727e94d9bf1e51d4bba6f244748744c6721d1be94aa26e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "blockTimestamp": "0x69ce817c", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "logIndex": "0x8", "removed": false } ], "logsBloom": "0x00000000400000010000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000080000000800000000000000001000000008000000400000000000400000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000200000000080000000000200000000000000000000800000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "gasUsed": "0x180dc", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775141247929, "chain": 560048, "commit": "6d9ab82" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141210100.json ================================================ { "transactions": [ { "hash": "0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x413b332fcdebdcd8a658b9aae42ffebf755679f968295d27fe67ae1b6f92d1201886e1ebae1bbe183e672ff2877a7b25fb4257bbaf314bf18aade3a7cc31e98c1c036dfbd53fd28a05041d1fe81642165b317c3a327ed2ee7a0937ee505a3cbd5e59ce34e3823bcd2a18797d6697c464227e20a99d28412a3a740689afe22280f21bd9848efdff1d875e4800d96815bfb3a833ecb5594aae2a8993ea16ae44e851c109741569abdd97a50223ef99650c7e005520932bc459e3e67345b2516dbd22b51c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x25fb4", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3413b332fcdebdcd8a658b9aae42ffebf755679f968295d27fe67ae1b6f92d1201886e1ebae1bbe183e672ff2877a7b25fb4257bbaf314bf18aade3a7cc31e98c1c036dfbd53fd28a05041d1fe81642165b317c3a327ed2ee7a0937ee505a3cbd5e59ce34e3823bcd2a18797d6697c464227e20a99d28412a3a740689afe22280f21bd9848efdff1d875e4800d96815bfb3a833ecb5594aae2a8993ea16ae44e851c109741569abdd97a50223ef99650c7e005520932bc459e3e67345b2516dbd22b51c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x25", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4256c3", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf", "blockNumber": "0x26ba2e", "blockTimestamp": "0x69ce8158", "transactionHash": "0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9", "transactionIndex": "0x6", "logIndex": "0x10", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x0fd93c1be8910e174a826dca8b286076506a87c88859519c52c585c39c214495" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf", "blockNumber": "0x26ba2e", "blockTimestamp": "0x69ce8158", "transactionHash": "0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9", "transactionIndex": "0x6", "logIndex": "0x11", "removed": false } ], "logsBloom": "0x00000000400000010000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000008000240000000000008000000000020000000000000000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000200000000100000000000000000", "type": "0x2", "transactionHash": "0xdcc7310fbe84d628b8e8e5cc94d3270e336bedff29b0680e85e1f2aec8ccdeb9", "transactionIndex": "0x6", "blockHash": "0x4485c14579987da112fc7dcca037a3df39ed836ab7a3e70abfdf019abe50faaf", "blockNumber": "0x26ba2e", "gasUsed": "0x1b7f8", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775141210100, "chain": 560048, "commit": "6d9ab82" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141247929.json ================================================ { "transactions": [ { "hash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x21395", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412599eda6a2cbebd66be855a8a22d789c9229ae3d1bf9459c1313ad96dee2543f506dcf9646e4d260e9e5a883c984fa95b4c42bd5751cfbc73fe5e6e5a421a9881b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x26", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xfe5bd", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "blockTimestamp": "0x69ce817c", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "logIndex": "0x7", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x72cd6c07eb200bb92f727e94d9bf1e51d4bba6f244748744c6721d1be94aa26e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "blockTimestamp": "0x69ce817c", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "logIndex": "0x8", "removed": false } ], "logsBloom": "0x00000000400000010000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000080000000800000000000000001000000008000000400000000000400000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000200000000080000000000200000000000000000000800000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xffc986d3dd269d9eebf9ebc58b84c5ccd8e507e68a24507f17c9c1e55886f644", "transactionIndex": "0x18", "blockHash": "0x6d55086279b23c7dc7825512d5cf54acb79719fc9b2ae245d7e44a596b8c7ab1", "blockNumber": "0x26ba31", "gasUsed": "0x180dc", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775141247929, "chain": 560048, "commit": "6d9ab82" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/ActivateMultiproofStack.s.sol/560048/run-1775141298391.json ================================================ { "transactions": [ { "hash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionType": "CALL", "contractName": null, "contractAddress": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000007b9fb81a8e041814903c9385b22d88ac303df69900000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b00000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb40000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090aaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a00000000000000000000000000000000000000000000000000000000000867a4000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "gas": "0x69262", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c5801303000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000b64858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000092000000000000000000000000000000000000000000000000000000000000009a00000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000074482ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000066000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec40000000000000000000000007b9fb81a8e041814903c9385b22d88ac303df69900000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b00000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb40000000000000000000000000000000000000000000000000000000000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090aaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a00000000000000000000000000000000000000000000000000000000000867a4000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d60000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000441e334240000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004d5a3e12e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x27", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2d0bfc", "logs": [ { "address": "0x7b9fb81a8e041814903c9385b22d88ac303df699", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0" ], "data": "0x", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x13", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4" ], "data": "0x", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x14", "removed": false }, { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e" ], "data": "0x", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x15", "removed": false }, { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000002", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x16", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x17", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x18", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0x74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca", "0x000000000000000000000000000000000000000000000000000000000000026d", "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000" ], "data": "0x", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x19", "removed": false }, { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0x6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a7" ], "data": "0x0000000000000000000000000000000000000000000000000000000069ce81ac", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x1a", "removed": false }, { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x22bb7f4bf895f73b31b2e96523769dc5fdad9324a33bb0cb8ed68837639225b6" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "blockTimestamp": "0x69ce81ac", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "logIndex": "0x1b", "removed": false } ], "logsBloom": "0x00000000400000010000000000000000400000000000800000000080040004000109000000000020000000001000000200000000000008000008000000000000300000000400000000000000000002084020000000100000004002000020001002000100000000800000000000000000000000000000000000000000000000000000000000400000000000000000000000000000008080000000000000000200000000000000108000012000000404000000200000000080000000000000000020000020000000000000002002050000000000000000000200008000000000000000000000000000000000200000000000000000000000000000000000004100", "type": "0x2", "transactionHash": "0xbe0eb99650a815fbfed83ba6063a4c1dbe9444e2a55acda4d3a850fb825a5804", "transactionIndex": "0x1a", "blockHash": "0x4718af96ff82993b15719f2f9c1087e313cad578180217d834a377fdf6027c53", "blockNumber": "0x26ba35", "gasUsed": "0x47e59", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775141298391, "chain": 560048, "commit": "6d9ab82" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/DeployMultiproofStack.s.sol/560048/run-1775133494692.json ================================================ { "transactions": [ { "hash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionType": "CREATE", "contractName": "TEEProverRegistry", "contractAddress": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "function": null, "arguments": [ "0x5eD42a8Eb9E1F0B466047c02156d894968d42FF9", "0x154972aB98A5e321a9c7aB7677973f1F501a8090" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x20fe9a", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b50604051620022c0380380620022c08339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa61760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022a083398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b6024820152600080516020620022a083398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002280833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200228083398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611b2e62000752600039600081816101ff0152610d9d0152600081816102ac01526107340152611b2e6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611284565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e366004611379565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611480565b61014f6101ed3660046114b3565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611284565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114ce565b61014f61027d366004611564565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611284565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611284565b6108f4565b61014f610322366004611284565b610940565b6102f1610335366004611284565b60686020526000908152604090205460ff1681565b61014f6103583660046115d0565b6109c2565b61014f61036b366004611284565b610a29565b610378610ab5565b6103826000610b43565b565b61038c610ab5565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b95565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce0565b6104d085610a29565b6104d984610940565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160e565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160e565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160e565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163a565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d0f565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d79565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d0f565b6103826000610ee4565b6000610701610d79565b905090565b60606107016069610f36565b61071a610ab5565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611692565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b991908101906118c8565b90506000815160038111156107d0576107d061167c565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611a21565b6108189190611a43565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b60006108458260e0015161100b565b60c08301518051919250906041146108705760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b46069826110e2565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093a575061091f610d79565b6001600160a01b038316600090815260676020526040902054145b92915050565b610948610ab5565b6001600160a01b0381166109b65760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109bf81610b43565b50565b6109ca610d0f565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a31610d0f565b6001600160a01b038116610a9d5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109bf81610ee4565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad857506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd25763f5a267f16000526004601cfd5b82610be45768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c675760019350848260601c03610c2257600183018054845560028401805490915560009055610cd7565b84600184015460601c03610c4457600283018054600185015560009055610cd7565b84600284015460601c03610c5e5760006002840155610cd7565b60009350610cd7565b82602052846000526040600020805480610c82575050610cd7565b60018360011c039250826001820314610cba578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d075760405162461bcd60e51b815260040161049390611a5b565b610382611236565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e109190611aa6565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e569190611ac3565b600060405180830381855afa9150503d8060008114610e91576040519150601f19603f3d011682016040523d82523d6000602084013e610e96565b606091505b5091509150811580610eaa57508051602014155b15610ec857604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edc9190611adf565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc5578215610fc057600191508185015460601c92508215610fc0578284141590920260208301525060028381015460601c918215610fc0576003915083831415830260408201525b610ff5565b600191821c915b82811015610ff3578581015460601c858114158102600583901b8401529350600101610fcc565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c85782818151811061102a5761102a61160e565b60200260200101516000015167ffffffffffffffff166000036110b657600083828151811061105b5761105b61160e565b6020026020010151602001519050806000015181602001516040516020016110979291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c08161163a565b91505061100f565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be19830161111f5763f5a267f16000526004601cfd5b826111315768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111f9578160601c80611164578560601b84556001945050610cd7565b8581036111715750610cd7565b600184015460601c80611192578660601b6001860155600195505050610cd7565b8681036111a0575050610cd7565b600285015460601c806111c2578760601b600287015560019650505050610cd7565b8781036111d157505050610cd7565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122c578160011c91508560601b828501558160010181558260020184556001945050610cd7565b5050505092915050565b600054610100900460ff1661125d5760405162461bcd60e51b815260040161049390611a5b565b61126633610ee4565b61038233610b43565b6001600160a01b03811681146109bf57600080fd5b60006020828403121561129657600080fd5b81356112a18161126f565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e1576112e16112a8565b60405290565b604051610120810167ffffffffffffffff811182821017156112e1576112e16112a8565b604051601f8201601f1916810167ffffffffffffffff81118282101715611334576113346112a8565b604052919050565b600067ffffffffffffffff821115611356576113566112a8565b5060051b60200190565b803563ffffffff8116811461137457600080fd5b919050565b6000806000806080858703121561138f57600080fd5b843561139a8161126f565b93506020858101356113ab8161126f565b9350604086013567ffffffffffffffff8111156113c757600080fd5b8601601f810188136113d857600080fd5b80356113eb6113e68261133c565b61130b565b81815260059190911b8201830190838101908a83111561140a57600080fd5b928401925b828410156114315783356114228161126f565b8252928401929084019061140f565b809650505050505061144560608601611360565b905092959194509250565b60005b8381101561146b578181015183820152602001611453565b8381111561147a576000848401525b50505050565b602081526000825180602084015261149f816040850160208701611450565b601f01601f19169190910160400192915050565b6000602082840312156114c557600080fd5b6112a182611360565b6020808252825182820181905260009190848201906040850190845b8181101561150f5783516001600160a01b0316835292840192918401916001016114ea565b50909695505050505050565b60008083601f84011261152d57600080fd5b50813567ffffffffffffffff81111561154557600080fd5b60208301915083602082850101111561155d57600080fd5b9250929050565b6000806000806040858703121561157a57600080fd5b843567ffffffffffffffff8082111561159257600080fd5b61159e8883890161151b565b909650945060208701359150808211156115b757600080fd5b506115c48782880161151b565b95989497509550505050565b600080604083850312156115e357600080fd5b82356115ee8161126f565b91506020830135801515811461160357600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164c5761164c611624565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a6606083018789611653565b600386106116c457634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116dd818587611653565b98975050505050505050565b80516004811061137457600080fd5b805160ff8116811461137457600080fd5b805167ffffffffffffffff8116811461137457600080fd5b600082601f83011261173257600080fd5b815160206117426113e68361133c565b82815260059290921b8401810191818101908684111561176157600080fd5b8286015b8481101561177c5780518352918301918301611765565b509695505050505050565b600082601f83011261179857600080fd5b815167ffffffffffffffff8111156117b2576117b26112a8565b6117c5601f8201601f191660200161130b565b8181528460208386010111156117da57600080fd5b6117eb826020830160208701611450565b949350505050565b600082601f83011261180457600080fd5b815160206118146113e68361133c565b8281526060928302850182019282820191908785111561183357600080fd5b8387015b858110156118bb57808903828112156118505760008081fd5b6118586112be565b61186183611709565b8152604080601f19840112156118775760008081fd5b61187f6112be565b848901518152908401519092506001600160801b0319811681146118a35760008081fd5b82880152808701919091528452928401928101611837565b5090979650505050505050565b6000602082840312156118da57600080fd5b815167ffffffffffffffff808211156118f257600080fd5b90830190610120828603121561190757600080fd5b61190f6112e7565b611918836116e9565b8152611926602084016116f8565b602082015261193760408401611709565b604082015260608301518281111561194e57600080fd5b61195a87828601611721565b60608301525060808301518281111561197257600080fd5b61197e87828601611787565b60808301525060a08301518281111561199657600080fd5b6119a287828601611787565b60a08301525060c0830151828111156119ba57600080fd5b6119c687828601611787565b60c08301525060e0830151828111156119de57600080fd5b6119ea878286016117f3565b60e0830152506101008084015183811115611a0457600080fd5b611a1088828701611787565b918301919091525095945050505050565b600082611a3e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611a5657611a56611624565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611ab857600080fd5b81516112a18161126f565b60008251611ad5818460208701611450565b9190910192915050565b600060208284031215611af157600080fd5b505191905056fea264697066735822122049eb4151bc35b6e4dee87f1ae07cf06f358a54acac02b5c9e84e35da76c085e364736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000005ed42a8eb9e1f0b466047c02156d894968d42ff9000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090", "nonce": "0x15", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297", "transactionType": "CREATE", "contractName": "DelayedWETH", "contractAddress": "0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72", "function": null, "arguments": [ "86400" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x165c8c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161144138038061144183398101604081905261002f91610106565b600160805260a0819052610041610047565b5061011f565b600054610100900460ff16156100b35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610104576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011857600080fd5b5051919050565b60805160a0516112ef6101526000396000818161035d0152610f2d0152600081816102e40152610c2401526112ef6000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063d0e30db011610064578063d0e30db014610179578063dad544e0146104ed578063dd62ed3e14610502578063f3fef3a31461054857610179565b8063a9059cbb14610459578063c4d66de814610479578063cd47bde11461049957610179565b806370a082311461038157806379502c55146103b75780637eee288d146103cc57806395d89b41146103ec578063977a5ec514610419578063a7e21e801461043957610179565b8063313ce56711610123578063313ce5671461027657806333d7e2bd1461029d57806338d38c97146102d55780633e47158c1461030857806354fd4d501461031d5780636a42b8f81461034e57610179565b806306fdde0314610181578063095ea7b3146101c95780630ca35682146101f957806318160ddd1461021957806323b872dd146102365780632e1a7d4d1461025657610179565b3661017957610177610568565b005b610177610568565b34801561018d57600080fd5b5060408051808201909152600d81526c2bb930b83832b21022ba3432b960991b60208201525b6040516101c091906110d0565b60405180910390f35b3480156101d557600080fd5b506101e96101e436600461113a565b6105c3565b60405190151581526020016101c0565b34801561020557600080fd5b50610177610214366004611166565b61062f565b34801561022557600080fd5b50475b6040519081526020016101c0565b34801561024257600080fd5b506101e961025136600461117f565b610746565b34801561026257600080fd5b50610177610271366004611166565b6108a0565b34801561028257600080fd5b5061028b601281565b60405160ff90911681526020016101c0565b3480156102a957600080fd5b506004546102bd906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b3480156102e157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061028b565b34801561031457600080fd5b506102bd6108ad565b34801561032957600080fd5b506101b3604051806040016040528060058152602001640312e352e360dc1b81525081565b34801561035a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610228565b34801561038d57600080fd5b5061022861039c3660046111c0565b6001600160a01b031660009081526001602052604090205490565b3480156103c357600080fd5b506102bd610a5f565b3480156103d857600080fd5b506101776103e736600461113a565b610add565b3480156103f857600080fd5b506040805180820190915260048152630ae8aa8960e31b60208201526101b3565b34801561042557600080fd5b5061017761043436600461113a565b610b24565b34801561044557600080fd5b506101776104543660046111c0565b610beb565b34801561046557600080fd5b506101e961047436600461113a565b610c0e565b34801561048557600080fd5b506101776104943660046111c0565b610c22565b3480156104a557600080fd5b506104d86104b43660046111dd565b60036020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101c0565b3480156104f957600080fd5b506102bd610d41565b34801561050e57600080fd5b5061022861051d3660046111dd565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561055457600080fd5b5061017761056336600461113a565b610d88565b336000908152600160205260408120805434929061058790849061122c565b909155505060405134815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9060200160405180910390a2565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061061e9086815260200190565b60405180910390a350600192915050565b610637610d41565b6001600160a01b0316336001600160a01b0316146106955760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b60448201526064015b60405180910390fd5b60004782106106a457476106a6565b815b604051909150600090339083908381818185875af1925050503d80600081146106eb576040519150601f19603f3d011682016040523d82523d6000602084013e6106f0565b606091505b50509050806107415760405162461bcd60e51b815260206004820152601b60248201527f44656c61796564574554483a207265636f766572206661696c65640000000000604482015260640161068c565b505050565b6001600160a01b03831660009081526001602052604081205482111561076b57600080fd5b6001600160a01b03841660008181526002602090815260408083203380855292529091205491148015906107a157506000198114155b156107ec57828110156107b357600080fd5b6001600160a01b0385166000908152600260209081526040808320338452909152812080548592906107e6908490611244565b90915550505b6001600160a01b03851660009081526001602052604081208054859290610814908490611244565b90915550506001600160a01b0384166000908152600160205260408120805485929061084190849061122c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161088d91815260200190565b60405180910390a3506001949350505050565b6108aa3382610d88565b50565b6000806108d87fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156108ee57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000815250516002610931919061125b565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061098c906060015b604051602081830303815290604052805190602001205490565b146109aa576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906109cc90606001610972565b90506001600160a01b03811615610a4657806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061127a565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad8919061127a565b905090565b3360009081526003602090815260408083206001600160a01b03861684529091528120426001820155805490918391839190610b1a90849061122c565b9091555050505050565b610b2c610d41565b6001600160a01b0316336001600160a01b031614610b855760405162461bcd60e51b81526020600482015260166024820152752232b630bcb2b22ba2aa241d103737ba1037bbb732b960511b604482015260640161068c565b6001600160a01b03821660008181526002602090815260408083203380855290835292819020859055518481529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3610741823383610746565b6108aa81610434836001600160a01b031660009081526001602052604090205490565b6000610c1b338484610746565b9392505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c62575060005460ff8083169116105b610cc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068c565b6000805461ffff191660ff831617610100179055610ce1610fda565b600480546001600160a01b0319166001600160a01b0384161790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d4b6108ad565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b6004805460408051635c975abb60e01b815290516001600160a01b0390921692635c975abb9282820192602092908290030181865afa158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190611297565b15610e405760405162461bcd60e51b815260206004820152601f60248201527f44656c61796564574554483a20636f6e74726163742069732070617573656400604482015260640161068c565b3360009081526003602090815260408083206001600160a01b038616845290915290208054821115610eca5760405162461bcd60e51b815260206004820152602d60248201527f44656c61796564574554483a20696e73756666696369656e7420756e6c6f636b60448201526c1959081dda5d1a191c985dd85b609a1b606482015260840161068c565b6000816001015411610f2a5760405162461bcd60e51b8152602060048201526024808201527f44656c61796564574554483a207769746864726177616c206e6f7420756e6c6f60448201526318dad95960e21b606482015260840161068c565b427f00000000000000000000000000000000000000000000000000000000000000008260010154610f5b919061122c565b1115610fb75760405162461bcd60e51b815260206004820152602560248201527f44656c61796564574554483a207769746864726177616c2064656c6179206e6f6044820152641d081b595d60da1b606482015260840161068c565b81816000016000828254610fcb9190611244565b9091555061074190508261102a565b33610fe36108ad565b6001600160a01b03161415801561100a575033610ffe610d41565b6001600160a01b031614155b1561102857604051636202851360e11b815260040160405180910390fd5b565b3360009081526001602052604090205481111561104657600080fd5b3360009081526001602052604081208054839290611065908490611244565b9091555050604051339082156108fc029083906000818181858888f19350505050158015611097573d6000803e3d6000fd5b5060405181815233907f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b659060200160405180910390a250565b600060208083528351808285015260005b818110156110fd578581018301518582016040015282016110e1565b8181111561110f576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146108aa57600080fd5b6000806040838503121561114d57600080fd5b823561115881611125565b946020939093013593505050565b60006020828403121561117857600080fd5b5035919050565b60008060006060848603121561119457600080fd5b833561119f81611125565b925060208401356111af81611125565b929592945050506040919091013590565b6000602082840312156111d257600080fd5b8135610c1b81611125565b600080604083850312156111f057600080fd5b82356111fb81611125565b9150602083013561120b81611125565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561123f5761123f611216565b500190565b60008282101561125657611256611216565b500390565b600081600019048311821515161561127557611275611216565b500290565b60006020828403121561128c57600080fd5b8151610c1b81611125565b6000602082840312156112a957600080fd5b81518015158114610c1b57600080fdfea264697066735822122033c67988de809e4c5b2b93a62924bf8a4a8026929b429359ecf0d885e5c557a064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000015180", "nonce": "0x16", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "nonce": "0x17", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0x3b0D2F6A1F9d9De3A163e1F0aaF845dD47Ce3122", "0x2712e20d000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "gas": "0x439ab", "value": "0x0", "input": "0x4f1ef2860000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e42712e20d000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e000000000000000000000000000000000000000000000000000000000", "nonce": "0x18", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "function": "changeAdmin(address)", "arguments": [ "0x44F00318360258744A0dAa957c2d15080A473469" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "gas": "0x99b4", "value": "0x0", "input": "0x8f28397000000000000000000000000044f00318360258744a0daa957c2d15080a473469", "nonce": "0x19", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b", "transactionType": "CREATE", "contractName": "Proxy", "contractAddress": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x8b589", "value": "0x0", "input": "0x608060405234801561001057600080fd5b5060405161078e38038061078e83398101604081905261002f916100b5565b6100388161003e565b506100e5565b600061005660008051602061076e8339815191525490565b60008051602061076e833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b6000602082840312156100c757600080fd5b81516001600160a01b03811681146100de57600080fd5b9392505050565b61067a806100f46000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100ae5780638f283970146100db578063f851a440146100fb5761005d565b3661005d5761005b610110565b005b61005b610110565b34801561007157600080fd5b5061005b610080366004610521565b6101c8565b61009861009336600461053c565b61020e565b6040516100a591906105bf565b60405180910390f35b3480156100ba57600080fd5b506100c361033e565b6040516001600160a01b0390911681526020016100a5565b3480156100e757600080fd5b5061005b6100f6366004610521565b6103a9565b34801561010757600080fd5b506100c36103e4565b600061013a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90506001600160a01b0381166101a55760405162461bcd60e51b815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e697469616044820152641b1a5e995960da1b60648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e806101c2573d6000fd5b503d6000f35b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806101f5575033155b156102065761020381610432565b50565b610203610110565b60606102266000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610243575033155b1561032f5761025184610432565b600080856001600160a01b0316858560405161026e929190610614565b600060405180830381855af49150503d80600081146102a9576040519150601f19603f3d011682016040523d82523d6000602084013e6102ae565b606091505b5091509150816103265760405162461bcd60e51b815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c656400000000000000606482015260840161019c565b91506103379050565b610337610110565b9392505050565b60006103566000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610373575033155b1561039e57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6103a6610110565b90565b600080516020610625833981519152546001600160a01b0316336001600160a01b031614806103d6575033155b15610206576102038161048e565b60006103fc6000805160206106258339815191525490565b6001600160a01b0316336001600160a01b03161480610419575033155b1561039e57506000805160206106258339815191525490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006104a66000805160206106258339815191525490565b600080516020610625833981519152838155604080516001600160a01b0380851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b80356001600160a01b038116811461051c57600080fd5b919050565b60006020828403121561053357600080fd5b61033782610505565b60008060006040848603121561055157600080fd5b61055a84610505565b9250602084013567ffffffffffffffff8082111561057757600080fd5b818601915086601f83011261058b57600080fd5b81358181111561059a57600080fd5b8760208285010111156105ac57600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156105ec578581018301518582016040015282016105d0565b818111156105fe576000604083870101525b50601f01601f1916929092016040019392505050565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220e57aa3e97a31d2fac4bc10410d79155cadf30ff00bb10cb44a6bb3913b6877c264736f6c634300080f0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "nonce": "0x1a", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "function": "upgradeToAndCall(address,bytes)", "arguments": [ "0xF5f747bB3bBb45bB019fc49Bf2E9F2Ee93158C72", "0xc4d66de8000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "gas": "0x22ede", "value": "0x0", "input": "0x4f1ef286000000000000000000000000f5f747bb3bbb45bb019fc49bf2e9f2ee93158c7200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea8000000000000000000000000000000000000000000000000000000000", "nonce": "0x1b", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5", "transactionType": "CALL", "contractName": "Proxy", "contractAddress": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "function": "changeAdmin(address)", "arguments": [ "0x44F00318360258744A0dAa957c2d15080A473469" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "gas": "0x99b4", "value": "0x0", "input": "0x8f28397000000000000000000000000044f00318360258744a0daa957c2d15080a473469", "nonce": "0x1c", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x5c3f7b44a83863b0cd16137e2d8654183dd6087327bfe7a177be817795475b7a", "transactionType": "CREATE", "contractName": "TEEVerifier", "contractAddress": "0x6f3db1c1f5110b20efbbccd13367bca8898092e6", "function": null, "arguments": [ "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc", "0x60A6C389F0BC5cE4269A40d9695927bC58700328" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0xa893c", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b5060405161097c38038061097c83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161089e6100de60003960008181606c01528181610245015281816102fc01526103b101526000818160d70152818161047001526104ff015261089e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806318efb9c21461006757806354fd4d50146100ab5780635e02132e146100d2578063ab750e75146100f9578063ece20f361461011c578063f9df65eb14610126575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60408051808201825260058152640302e322e360dc1b602082015290516100a291906106dd565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61010c610107366004610732565b610133565b60405190151581526020016100a2565b61012461045b565b005b60005461010c9060ff1681565b6000805460ff161561015857604051632f3cfa1960e21b815260040160405180910390fd5b605584101561017a57604051632d0e1a9d60e11b815260040160405180910390fd5b600061018960148287896107b1565b610192916107db565b60601c90503660006101a860556014898b6107b1565b915091506000806101ef8785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d492505050565b9092509050600081600481111561020857610208610810565b1461022657604051638baa579f60e01b815260040160405180910390fd5b60405163e8533e2960e01b81526001600160a01b0386811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063e8533e2990602401602060405180830381865afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610826565b6102dd576040516377f1708f60e01b81526001600160a01b03861660048201526024015b60405180910390fd5b60405163692b002b60e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063d256005690602401602060405180830381865afa158015610343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103679190610826565b61038f5760405163bf18af4360e01b81526001600160a01b03831660048201526024016102d4565b6040516386b4ebd360e01b81526001600160a01b0383811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906386b4ebd390602401602060405180830381865afa1580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041e919061084f565b905088811461044a5760405163415e3f9d60e01b815260048101829052602481018a90526044016102d4565b5060019a9950505050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa1580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610826565b158061057457506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa15801561054e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105729190610826565b155b1561059257604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b600080825160410361060a5760208301516040840151606085015160001a6105fe87828585610619565b94509450505050610612565b506000905060025b9250929050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561065057506000905060036106d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156106a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166106cd576000600192509250506106d4565b9150600090505b94509492505050565b600060208083528351808285015260005b8181101561070a578581018301518582016040015282016106ee565b8181111561071c576000604083870101525b50601f01601f1916929092016040019392505050565b6000806000806060858703121561074857600080fd5b843567ffffffffffffffff8082111561076057600080fd5b818701915087601f83011261077457600080fd5b81358181111561078357600080fd5b88602082850101111561079557600080fd5b6020928301999098509187013596604001359550909350505050565b600080858511156107c157600080fd5b838611156107ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156108085780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561083857600080fd5b8151801515811461084857600080fd5b9392505050565b60006020828403121561086157600080fd5b505191905056fea264697066735822122006032e206a992891847092ead96bad5e2fc8b34f9ec8727bad9fae1d434ecbe564736f6c634300080f0033000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328", "nonce": "0x1d", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xcf5c5f428fa1591b89e486bf04941ecb878271853aacf5c4f0e7be7e9a6425bc", "transactionType": "CREATE", "contractName": "MockVerifier", "contractAddress": "0x4730cec510e664838b20b576881702b64651cc45", "function": null, "arguments": [ "0x60A6C389F0BC5cE4269A40d9695927bC58700328" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x4bdc6", "value": "0x0", "input": "0x60a060405234801561001057600080fd5b506040516103ee3803806103ee83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516103566100986000396000818160560152818161011401526101a301526103566000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635e02132e14610051578063ab750e7514610095578063ece20f36146100b8578063f9df65eb146100c2575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610278565b6100cf565b604051901515815260200161008c565b6100c06100ff565b005b6000546100a89060ff1681565b6000805460ff16156100f457604051632f3cfa1960e21b815260040160405180910390fd5b506001949350505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa158015610163573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018791906102f7565b158061021857506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156101f2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021691906102f7565b155b1561023657604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000806000806060858703121561028e57600080fd5b843567ffffffffffffffff808211156102a657600080fd5b818701915087601f8301126102ba57600080fd5b8135818111156102c957600080fd5b8860208285010111156102db57600080fd5b6020928301999098509187013596604001359550909350505050565b60006020828403121561030957600080fd5b8151801515811461031957600080fd5b939250505056fea26469706673582212201f342f597ebc70538a5723a92e29cdbd7357eb0213d342d393f58b3c9d73a3ca64736f6c634300080f003300000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328", "nonce": "0x1e", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa10119fb6b09dc357b76f78deb0a328e3efc3f482074325c084ce648504126fc", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0x6ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "function": null, "arguments": [ "621", "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "0x4730CEc510E664838B20B576881702b64651Cc45", "0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e", "(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)", "0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e", "763360", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3be96c", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b5060405162003add38038062003add833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990607e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161354f6200058e600039600081816103930152610f17015260008181610992015281816114b40152612149015260006110d2015260008181610704015281816119b801528181612a660152612aa101526000818161055d015281816113e50152818161142001526119d90152600061080c015260008181610a8b01528181612b840152612d010152600081816108740152612db90152600081816108400152612d220152600081816108f901528181611c200152612d8801526000818161034c01528181612ba50152612c6101526000818161044a01528181611cb10152612c32015260008181610a0001528181610c1d01528181610cd301526116880152600081816107d80152818161119e01526121a101526000818161068d01528181611350015281816114df0152818161179d0152818161188f015281816119370152818161225e015281816122f20152818161241d015281816124b00152612543015261354f6000f3fe6080604052600436106103355760003560e01c806370872aa5116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a62578063d28cb06f14610a79578063e41f96ad14610aad578063fa24f74314610acd57600080fd5b8063c26783e9146109ee578063cf09e0d014610a22578063cfcf984b14610a4257600080fd5b8063b97cb80f116100d1578063b97cb80f14610963578063bbdc02db14610983578063bcef3b55146109b6578063bdb337d1146109cb57600080fd5b80639ded3952146108e7578063addecc061461091b578063b74df35a1461094e57600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e146108625780639730163d146108965780639840fd84146108ac57806399735e32146108d257600080fd5b806382ff53a1146107c65780638417d3c2146107fa57806387d34f161461082e57600080fd5b806370872aa51461072657806374f8bf321461073b578063786b844b146107505780637948690a146107655780637a6bc9e11461078f57806380f323a7146107b057600080fd5b806335c4377b1161028557806354fd4d5011610223578063609d3334116101fd578063609d3334146106b15780636361506d146106c657806364d12136146106db5780636dc86e81146106f257600080fd5b806354fd4d501461062057806357da950e1461064e5780635c0cba331461067e57600080fd5b80634224b1e71161025f5780634224b1e7146105b557806342316182146105c857806349edf35a146105ea5780634e95eb581461060a57600080fd5b806335c4377b1461054b57806337b1b2291461057f5780633fada3fd1461059457600080fd5b8063200d2ed2116102f257806325fc2ace116102cc57806325fc2ace146104eb5780632810e1d6146105005780632845e5bb14610515578063324a13c91461053557600080fd5b8063200d2ed21461046c57806323edb2e01461049a578063250e69bd146104ba57600080fd5b80630183fd441461033a57806310fbee28146103815780631333db2e146103b557806319effeb4146103cc5780631ee5d7c81461040b5780631f83757414610438575b600080fd5b34801561034657600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b34801561038d57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103c157600080fd5b506103ca610af1565b005b3480156103d857600080fd5b506000546103f390600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610378565b34801561041757600080fd5b50610420610dff565b6040516001600160a01b039091168152602001610378565b34801561044457600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561047857600080fd5b5060005461048d90600160801b900460ff1681565b6040516103789190612fad565b3480156104a657600080fd5b50600354610420906001600160a01b031681565b3480156104c657600080fd5b506000546104db90600160901b900460ff1681565b6040519015158152602001610378565b3480156104f757600080fd5b5060015461036e565b34801561050c57600080fd5b5061048d610e36565b34801561052157600080fd5b506007546103f3906001600160401b031681565b34801561054157600080fd5b5061036e60055481565b34801561055757600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561058b57600080fd5b5061042061105e565b3480156105a057600080fd5b506003546104db90600160a01b900460ff1681565b6103ca6105c336600461300f565b61106f565b3480156105d457600080fd5b506105dd6116f2565b60405161037891906130a8565b3480156105f657600080fd5b5061036e6106053660046130c2565b611711565b34801561061657600080fd5b5061036e61010081565b34801561062c57600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105dd565b34801561065a57600080fd5b50600154600254610669919082565b60408051928352602083019190915201610378565b34801561068a57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610420565b3480156106bd57600080fd5b506105dd61175e565b3480156106d257600080fd5b5061036e611783565b3480156106e757600080fd5b506103f36201518081565b3480156106fe57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073257600080fd5b5060025461036e565b34801561074757600080fd5b5061042061178f565b34801561075c57600080fd5b506103ca61179b565b34801561077157600080fd5b5061077a611999565b60405163ffffffff9091168152602001610378565b34801561079b57600080fd5b506003546104db90600160a81b900460ff1681565b3480156107bc57600080fd5b5061036e60045481565b3480156107d257600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561080657600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561083a57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561086e57600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156108a257600080fd5b5061036e611fff81565b3480156108b857600080fd5b5061042071f90827f1c53a10cb7a02335b17532000293581565b3480156108de57600080fd5b5061036e6119a5565b3480156108f357600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b34801561092757600080fd5b5060075461093c90600160401b900460ff1681565b60405160ff9091168152602001610378565b34801561095a57600080fd5b5061036e6119b1565b34801561096f57600080fd5b506103ca61097e3660046130db565b6119fd565b34801561098f57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061077a565b3480156109c257600080fd5b5061036e611d14565b3480156109d757600080fd5b50600754426001600160401b0390911611156104db565b3480156109fa57600080fd5b506104207f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2e57600080fd5b506000546103f3906001600160401b031681565b348015610a4e57600080fd5b506103ca610a5d36600461300f565b611d20565b348015610a6e57600080fd5b506103f362093a8081565b348015610a8557600080fd5b5061036e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab957600080fd5b506103ca610ac83660046130db565b611e52565b348015610ad957600080fd5b50610ae2612142565b6040516103789392919061312b565b600268929eee149b4bd212685403610b115763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b49576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610b9d57600054600160401b90046001600160401b03166001600160401b0316600003610b9857604051636082930560e11b815260040160405180910390fd5b610bdf565b6000546001600160401b0316610bb6906212750061316f565b6001600160401b0316421015610bdf576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c945760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6357600080fd5b505af1158015610c77573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df09050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d82576040519150601f19603f3d011682016040523d82523d6000602084013e610d87565b606091505b5050905080610da9576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e1757610e17612f97565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e5757610e57612f97565b14610e755760405163f1a9458160e01b815260040160405180910390fd5b6000610e7f612183565b90506000816002811115610e9557610e95612f97565b03610eb357604051634962835760e11b815260040160405180910390fd5b6001816002811115610ec757610ec7612f97565b03610ee4576000805460ff60801b1916600160801b179055610fde565b600754426001600160401b039091161115610f12576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f605760405163344de4bf60e01b815260040160405180910390fd5b60055415610fca576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fde565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104491600160801b90910460ff1690612fad565b60405180910390a15050600054600160801b900460ff1690565b600061106a60006123d8565b905090565b600054600160881b900460ff16156110995760405162dc149f60e41b815260040160405180910390fd5b6000602060016110a9848361319a565b6110b391906131b2565b6110bd91906131c9565b6110c89060206131eb565b90506000816110f87f0000000000000000000000000000000000000000000000000000000000000000604061319a565b611102919061319a565b905080361461111957639824bdab6000526004601cfd5b611127611124611d14565b90565b61113e60016111346119b1565b61060591906131b2565b146111825761115060016111346119b1565b61115b611124611d14565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b63ffffffff61118f611999565b63ffffffff161461134e5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb8aa1fc6111d3611999565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401606060405180830381865afa158015611215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112399190613223565b92505050611246816123fb565b6112635760405163346119f760e01b815260040160405180910390fd5b60405180604001604052806112d3836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111249190613285565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a9190613285565b9052805160015560200151600255506113dc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa1580156113ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cf919061329e565b8051600155602001516002555b60025461140a907f00000000000000000000000000000000000000000000000000000000000000009061319a565b6114126119a5565b1461146f57600254611445907f00000000000000000000000000000000000000000000000000000000000000009061319a565b61144d6119a5565b60405163043d96bb60e11b815260048101929092526024820152604401611179565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f91906132fa565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff199091161790558484828161159c5761159c613315565b919091013560f81c905060018111156115b7576115b7612f97565b905060006115c960216001878961332b565b6115d291613355565b905060006115e460416021888a61332b565b6115ed91613355565b90506115f98282612634565b61163b611609876041818b61332b565b8561161261105e565b60015487905b600254611626611124611d14565b61162e6119a5565b6116366116f2565b6127e4565b61164c8361164761105e565b612884565b61165461105e565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b1580156116d057600080fd5b505af11580156116e4573d6000803e3d6000fd5b505050505050505050505050565b606061106a60786117016119b1565b61170c9060206131eb565b612967565b600061171b6119b1565b821061173a5760405163a6c661fd60e01b815260040160405180910390fd5b6117586117488360206131eb565b61175390607861319a565b6129a9565b92915050565b606061106a605461176d6119b1565b6117789060206131eb565b61170c90602461319a565b600061106a60346129a9565b60006006816001610e06565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181d9190613373565b1561183b5760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361187757604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa1580156118de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119029190613373565b90508061192257604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561198357600080fd5b505af1925050508015611994575060015b505b50565b600061106a60746129c9565b600061106a60546129a9565b600061106a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006131c9565b60008054600160801b900460ff166002811115611a1c57611a1c612f97565b14611a3a5760405163f1a9458160e01b815260040160405180910390fd5b600084846000818110611a4f57611a4f613315565b919091013560f81c90506001811115611a6a57611a6a612f97565b90506000600681836001811115611a8357611a83612f97565b6001811115611a9457611a94612f97565b81526020810191909152604001600020546001600160a01b031603611ace57806040516304b045a760e31b81526004016111799190613395565b60055415611b54576001600554611ae591906131b2565b8314611b045760405163a6c661fd60e01b815260040160405180910390fd5b611b0d83611711565b8214611b1d578161115b84611711565b6001816001811115611b3157611b31612f97565b14611b4f576040516369ed70ab60e01b815260040160405180910390fd5b611b5e565b611b5e83836129ec565b6000806000611b6c86612a3b565b91945092509050611bbb611b83886001818c61332b565b8633611b90611124611783565b88888c898e604051602001611ba791815260200190565b6040516020818303038152906040526127e4565b611bc484612ad4565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611c1357611c13612f97565b03611c96576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c7957600080fd5b505af1158015611c8d573d6000803e3d6000fd5b50505050611d0a565b6000846001811115611caa57611caa612f97565b03611d0a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116d057600080fd5b5050505050505050565b600061106a60146129a9565b60008054600160801b900460ff166002811115611d3f57611d3f612f97565b14611d5d5760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d8a5760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d9f57611d9f613315565b919091013560f81c90506001811115611dba57611dba612f97565b90506000600681836001811115611dd357611dd3612f97565b6001811115611de457611de4612f97565b81526020810191909152604001600020546001600160a01b031614611e1e57806040516338a094bd60e11b81526004016111799190613395565b611e43611e2e836001818761332b565b8333611e3b611124611783565b600154611618565b611e4d8133612884565b505050565b60008054600160801b900460ff166002811115611e7157611e71612f97565b14611e8f5760405163f1a9458160e01b815260040160405180910390fd5b611e98306123fb565b611eb5576040516357e25a0960e01b815260040160405180910390fd5b6001611ebf612183565b6002811115611ed057611ed0612f97565b03611eee5760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611f425760006040516304b045a760e31b81526004016111799190613395565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f985760016040516338a094bd60e11b81526004016111799190613395565b600084846000818110611fad57611fad613315565b919091013560f81c90506001811115611fc857611fc8612f97565b90506001816001811115611fde57611fde612f97565b14611ffc576040516369ed70ab60e01b815260040160405180910390fd5b61200683836129ec565b600080600061201486612a3b565b9194509250905061202b611b83886001818c61332b565b336006600086600181111561204257612042612f97565b600181111561205357612053612f97565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166120a491906133a9565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b0316426120d4919061319a565b6007805467ffffffffffffffff19166001600160401b039290921691909117905561210086600161319a565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f0000000000000000000000000000000000000000000000000000000000000000612170611d14565b61217861175e565b925092509250909192565b600063ffffffff612192611999565b63ffffffff16146123d25760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb8aa1fc6121d6611999565b6040516001600160e01b031960e084901b16815263ffffffff919091166004820152602401606060405180830381865afa158015612218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223c9190613223565b604051631a51a37560e11b81526001600160a01b0380831660048301529194507f000000000000000000000000000000000000000000000000000000000000000090911692506334a346ea9150602401602060405180830381865afa1580156122a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cd9190613373565b8061235d5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235d9190613373565b1561236a57600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cc91906133ce565b91505090565b50600290565b6000806123ed3660011981013560f01c900390565b929092013560601c92915050565b6040516304e50fed60e01b81526001600160a01b0382811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906304e50fed90602401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a9190613373565b801561251d5750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251b9190613373565b155b80156125b05750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa15801561258a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ae9190613373565b155b801561175857506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261b91906133ce565b600281111561262c5761262c612f97565b141592915050565b43811061265d5760405163096fec2960e21b815260048101829052436024820152604401611179565b60008061266a83436131b2565b9050610100811161267e578240915061278d565b611fff811161276b5760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b0316856040516020016126b991815260200190565b60408051601f19818403018152908290526126d3916133ef565b600060405180830381855afa9150503d806000811461270e576040519150601f19603f3d011682016040523d82523d6000602084013e612713565b606091505b509150915081158061272757508051602014155b1561274e57604051630f0b8f8160e01b815260048101869052436024820152604401611179565b808060200190518101906127629190613285565b9350505061278d565b604051630f0b8f8160e01b815260048101849052436024820152604401611179565b816127b457604051630f0b8f8160e01b815260048101849052436024820152604401611179565b8382146127de576040516380b1ae5160e01b81526004810185905260248101839052604401611179565b50505050565b6001891015612806576040516309bde33960e01b815260040160405180910390fd5b600088600181111561281a5761281a612f97565b03612835576128308a8a89898989898989612b79565b612878565b600188600181111561284957612849612f97565b0361285f576128308a8a89898989898989612cf6565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561289b5761289b612f97565b60018111156128ac576128ac612f97565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128fd91906133a9565b92506101000a81548160ff021916908360ff16021790555061291d612e41565b81600181111561292f5761292f612f97565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b6060600061297d3660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129be3660011981013560f01c900390565b929092013592915050565b6000806129de3660011981013560f01c900390565b929092013560e01c92915050565b6129f46119b1565b8210612a135760405163a6c661fd60e01b815260040160405180910390fd5b80612a1d83611711565b0361199457604051635de57d7360e11b815260040160405180910390fd5b60008080808415612a5957612a546106056001876131b2565b612a5d565b6001545b90506000612a8b7f0000000000000000000000000000000000000000000000000000000000000000876131eb565b600254612a98919061319a565b90506000612ac67f00000000000000000000000000000000000000000000000000000000000000008361316f565b929791965091945092505050565b60066000826001811115612aea57612aea612f97565b6001811115612afb57612afb612f97565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612b475760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff000000000000000019909116179055611996612edf565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612bdc9998979695949392919061340b565b6040516020818303038152906040528051906020012090506000888b8b604051602001612c0b93929190613488565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c8b9084907f00000000000000000000000000000000000000000000000000000000000000009087906004016134b4565b602060405180830381865afa158015612ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ccc9190613373565b612ce9576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612d599998979695949392919061340b565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612de3908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016134d9565b602060405180830381865afa158015612e00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e249190613373565b612878576040516309bde33960e01b815260040160405180910390fd5b6000612e4b612f4f565b905067fffffffffffffffe196001600160401b03821601612e8357506007805467ffffffffffffffff19166001600160401b03179055565b6000612e8f824261316f565b600754909150612eba906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612ee9612f4f565b905067fffffffffffffffe196001600160401b03821601612f2157506007805467ffffffffffffffff19166001600160401b03179055565b612f2b814261316f565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612f6f57506201518090565b600754600160401b900460ff16600103612f8b575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612fc157612fc1612f97565b91905290565b60008083601f840112612fd957600080fd5b5081356001600160401b03811115612ff057600080fd5b60208301915083602082850101111561300857600080fd5b9250929050565b6000806020838503121561302257600080fd5b82356001600160401b0381111561303857600080fd5b61304485828601612fc7565b90969095509350505050565b60005b8381101561306b578181015183820152602001613053565b838111156127de5750506000910152565b60008151808452613094816020860160208601613050565b601f01601f19169290920160200192915050565b6020815260006130bb602083018461307c565b9392505050565b6000602082840312156130d457600080fd5b5035919050565b600080600080606085870312156130f157600080fd5b84356001600160401b0381111561310757600080fd5b61311387828801612fc7565b90989097506020870135966040013595509350505050565b63ffffffff84168152826020820152606060408201526000613150606083018461307c565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b0380831681851680830382111561319157613191613159565b01949350505050565b600082198211156131ad576131ad613159565b500190565b6000828210156131c4576131c4613159565b500390565b6000826131e657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561320557613205613159565b500290565b805163ffffffff8116811461321e57600080fd5b919050565b60008060006060848603121561323857600080fd5b6132418461320a565b925060208401516001600160401b038116811461325d57600080fd5b60408501519092506001600160a01b038116811461327a57600080fd5b809150509250925092565b60006020828403121561329757600080fd5b5051919050565b6000604082840312156132b057600080fd5b604051604081018181106001600160401b03821117156132e057634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561330c57600080fd5b6130bb8261320a565b634e487b7160e01b600052603260045260246000fd5b6000808585111561333b57600080fd5b8386111561334857600080fd5b5050820193919092039150565b8035602083101561175857600019602084900360031b1b1692915050565b60006020828403121561338557600080fd5b815180151581146130bb57600080fd5b6020810160028310612fc157612fc1612f97565b600060ff821660ff84168060ff038211156133c6576133c6613159565b019392505050565b6000602082840312156133e057600080fd5b8151600381106130bb57600080fd5b60008251613401818460208701613050565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613469816084850160208901613050565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006134c7606083018661307c565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea264697066735822122059bd1c62d99c1e3063b7a40f25a4933f5fd17d2b4dc926e03d3a6a69cc48d01064736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x1f", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d", "transactionType": "CREATE", "contractName": "OptimismPortal2", "contractAddress": "0x27b8d2d28540b133f9454535867e3b89b78d88b0", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x4c26b4", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b506040516200455838038062004558833981016040819052620000349162000110565b600360805260a0819052620000486200004f565b506200012a565b600054610100900460ff1615620000bc5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200010e576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012357600080fd5b5051919050565b60805160a0516143fa6200015e600039600081816105d001526117580152600081816102630152610e8a01526143fa6000f3fe6080604052600436106101d15760003560e01c806371c1566e116100f7578063a3860f4811610095578063cff0ab9611610064578063cff0ab96146105f4578063dad544e01461065f578063e9e05c4214610674578063f2b4e6171461068757600080fd5b8063a3860f4814610507578063b682c44414610527578063bb2c727e14610547578063bf653a5c146105c157600080fd5b8063952b2797116100d1578063952b2797146104825780639bf62d8214610497578063a14238e7146104b7578063a35d99df146104e757600080fd5b806371c1566e146104425780638b4c40b0146101f65780638c3152e91461046257600080fd5b806345884d321161016f578063513747ab1161013e578063513747ab1461039e57806354fd4d50146103d95780635c0cba331461040d5780635c975abb1461042d57600080fd5b806345884d3214610301578063485cc955146103315780634870496f146103515780634fd0434c1461037157600080fd5b80633c9f397c116101ab5780633c9f397c1461028d5780633e47158c146102b757806343ca1c50146102cc578063452a9320146102ec57600080fd5b806333d7e2bd146101fd57806335e80ab31461023a57806338d38c971461024f57600080fd5b366101f8576101f63334620186a060006040518060200160405280600081525061069c565b005b600080fd5b34801561020957600080fd5b5060375461021d906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561024657600080fd5b5061021d610893565b34801561025b57600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610231565b34801561029957600080fd5b506102a2610906565b60405163ffffffff9091168152602001610231565b3480156102c357600080fd5b5061021d610974565b3480156102d857600080fd5b506101f66102e7366004613aa9565b610b26565b3480156102f857600080fd5b5061021d610dc9565b34801561030d57600080fd5b5061032161031c366004613afa565b610e13565b6040519015158152602001610231565b34801561033d57600080fd5b506101f661034c366004613b17565b610e88565b34801561035d57600080fd5b506101f661036c366004613b45565b610ff7565b34801561037d57600080fd5b5061038661155f565b6040516001600160401b039091168152602001610231565b3480156103aa57600080fd5b506103cb6103b9366004613c02565b6000908152603c602052604090205490565b604051908152602001610231565b3480156103e557600080fd5b5060408051808201825260058152640352e322e360dc1b602082015290516102319190613c73565b34801561041957600080fd5b50603e5461021d906001600160a01b031681565b34801561043957600080fd5b506103216115cd565b34801561044e57600080fd5b506101f661045d366004613c86565b61163b565b34801561046e57600080fd5b506101f661047d366004613cab565b61183b565b34801561048e57600080fd5b506103cb611848565b3480156104a357600080fd5b5060325461021d906001600160a01b031681565b3480156104c357600080fd5b506103216104d2366004613c02565b60336020526000908152604090205460ff1681565b3480156104f357600080fd5b50610386610502366004613cfc565b6118b6565b34801561051357600080fd5b5061021d610522366004613d19565b6118cf565b34801561053357600080fd5b50603f5461021d906001600160a01b031681565b34801561055357600080fd5b5061059a610562366004613c86565b60396020908152600092835260408084209091529082529020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b03909116602083015201610231565b3480156105cd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006103cb565b34801561060057600080fd5b50600154610630906001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b039283166020850152911690820152606001610231565b34801561066b57600080fd5b5061021d611907565b6101f6610682366004613d49565b61069c565b34801561069357600080fd5b5061021d61194e565b8260005a90506106aa611998565b156106ce5734156106ce57604051635eac705160e11b815260040160405180910390fd5b6106d66119f4565b1561074b57341561074b57603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561073157600080fd5b505af1158015610745573d6000803e3d6000fd5b50505050505b83801561076057506001600160a01b03871615155b1561077e5760405163c5defbad60e01b815260040160405180910390fd5b61078883516118b6565b6001600160401b0316856001600160401b031610156107ba576040516370c8bdbd60e01b815260040160405180910390fd5b6201d4c0835111156107df57604051635aa3bac960e01b815260040160405180910390fd5b336107e8611a88565b610805575033731111000000000000000000000000000000001111015b60003488888888604051602001610820959493929190613dc7565b60405160208183030381529060405290506000896001600160a01b0316836001600160a01b03167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108769190613c73565b60405180910390a4505061088a8282611ac5565b50505050505050565b603754604080516335e80ab360e01b815290516000926001600160a01b0316916335e80ab39160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e16565b905090565b603e5460408051630f27ce5f60e21b815290516000926001600160a01b031691633c9f397c9160048083019260209291908290030181865afa158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e45565b60008061099f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156109b557919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000008152505160026109f89190613e78565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610a53906060015b604051602081830303815290604052805190602001205490565b14610a71576040516354e433cd60e01b815260040160405180910390fd5b60408051306020820152600191810191909152600090610a9390606001610a39565b90506001600160a01b03811615610b0d57806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b069190613e16565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b610b2e611d09565b610b36611998565b15610b5e57606082015115610b5e57604051635eac705160e11b815260040160405180910390fd5b6032546001600160a01b031661dead14610b8b57604051631bfd55d760e31b815260040160405180910390fd5b610b988260400151611d2f565b15610bb65760405163c5defbad60e01b815260040160405180910390fd5b6000610bc183611d58565b9050610bcd818361163b565b6000818152603360205260409020805460ff19166001179055610bee6119f4565b15610c6757606083015115610c6757603f5460608401516040516308d445bd60e41b81526001600160a01b0390921691638d445bd091610c349160040190815260200190565b600060405180830381600087803b158015610c4e57600080fd5b505af1158015610c62573d6000803e3d6000fd5b505050505b8260200151603260006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000610cb08460400151856080015186606001518760a00151611da5565b603280546001600160a01b03191661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610cfd90841515815260200190565b60405180910390a2610d0d6119f4565b15610d975780158015610d24575060008460600151115b15610d9757603f60009054906101000a90046001600160a01b03166001600160a01b0316631ee116bf85606001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b50505050505b80158015610da55750326001145b15610dc3576040516355ac081b60e11b815260040160405180910390fd5b50505050565b60375460408051630229549960e51b815290516000926001600160a01b03169163452a93209160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b603e546040516322c4269960e11b81526001600160a01b03838116600483015260009216906345884d3290602401602060405180830381865afa158015610e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190613e97565b92915050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610ec8575060005460ff8083169116105b610f305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610f4c611e03565b603780546001600160a01b038086166001600160a01b031992831617909255603e805492851692909116919091179055610f84611e51565b6032546001600160a01b0316610fa957603280546001600160a01b03191661dead1790555b610fb1611f95565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b610fff611d09565b61100c8560400151611d2f565b1561102a5760405163c5defbad60e01b815260040160405180910390fd5b611032611998565b1561105a5760608501511561105a57604051635eac705160e11b815260040160405180910390fd5b600061106461194e565b6001600160a01b031663bb8aa1fc866040518263ffffffff1660e01b815260040161109191815260200190565b606060405180830381865afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d29190613eb4565b603e546040516324b5ce0b60e11b81526001600160a01b0380841660048301529295509116925063496b9c169150602401602060405180830381865afa158015611120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111449190613e97565b611161576040516379ca920760e11b815260040160405180910390fd5b603e546040516304e50fed60e01b81526001600160a01b038381166004830152909116906304e50fed90602401602060405180830381865afa1580156111ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190613e97565b6111ec5760405163e29927ed60e01b815260040160405180910390fd5b6001816001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190613f17565b600281111561126157611261613f01565b0361127f5760405163e29927ed60e01b815260040160405180910390fd5b6112f0816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190613f38565b6001600160401b031690565b6001600160401b031642116113185760405163b4caa4e560e01b815260040160405180910390fd5b61132f61132a36869003860186613f55565b612050565b611397826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113949190613fba565b90565b146113b55760405163426149af60e01b815260040160405180910390fd5b60006113c087611d58565b905060008160006040516020016113e1929190918252602082015260400190565b60408051601f198184030181528282528051602091820120908301819052925061143c910160408051601f1981840301815282820190915260018252600160f81b6020830152906114328789613fd3565b896040013561208f565b151560000361145e5760405163172bf79d60e11b815260040160405180910390fd5b6040805180820182526001600160a01b0380861682526001600160401b03428116602080850191825260008881526039825286812033808352908352878220965187549451909516600160a01b026001600160e01b03199094169486169490941792909217909455868152603c845284812080546001810182559082528482200180546001600160a01b0319169092179091558b840151928c01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a35050505050505050565b603e5460408051634086d18360e01b815290516000926001600160a01b031691634086d1839160048083019260209291908290030181865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613f38565b60375460408051635c975abb60e01b815290516000926001600160a01b031691635c975abb9160048083019260209291908290030181865afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613e97565b60008281526039602090815260408083206001600160a01b038581168552908352818420825180840184529054918216808252600160a01b9092046001600160401b031681850152868552603390935292205490919060ff16156116b257604051631cc2841d60e21b815260040160405180910390fd5b81602001516001600160401b03166000036116e05760405163665357ed60e11b815260040160405180910390fd5b611721816001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c0573d6000803e3d6000fd5b6001600160401b031682602001516001600160401b0316116117565760405163b4caa4e560e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000082602001516001600160401b0316426117909190614056565b116117ae57604051636cde00df60e11b815260040160405180910390fd5b603e54604051636c4f446760e01b81526001600160a01b03838116600483015290911690636c4f446790602401602060405180830381865afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613e97565b610dc3576040516306654aff60e31b815260040160405180910390fd5b565b6118458133610b26565b50565b603e546040805163952b279760e01b815290516000926001600160a01b03169163952b27979160048083019260209291908290030181865afa158015611892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190613fba565b60006118c382602861406d565b610e829061520861409c565b603c60205281600052604060002081815481106118eb57600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000611911610974565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108dd573d6000803e3d6000fd5b603e546040805163f2b4e61760e01b815290516000926001600160a01b03169163f2b4e6179160048083019260209291908290030181865afa1580156108dd573d6000803e3d6000fd5b6037546040516347af267b60e01b81526f21aaa9aa27a6afa3a0a9afaa27a5a2a760811b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611617573d6000803e3d6000fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526000916001600160a01b0316906347af267b90602401602060405180830381865afa158015611a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6f9190613e97565b8015610901575050603f546001600160a01b0316151590565b6000323303611a975750600190565b333b601703611abf57604051602081016040526020600082333c5160e81c62ef010014905090565b50600090565b600154600090611ae590600160c01b90046001600160401b031643614056565b90506000611af16120b3565b90506000816020015160ff16826000015163ffffffff16611b1291906140dd565b90508215611c0157600154600090611b3b908390600160801b90046001600160401b031661410b565b90506000836040015160ff1683611b52919061414a565b600154611b699084906001600160801b031661414a565b611b7391906140dd565b600154909150600090611bb290611b949084906001600160801b03166141cf565b866060015163ffffffff168760a001516001600160801b0316612153565b90506001861115611be157611bde611b9482876040015160ff1660018a611bd99190614056565b612172565b90505b6001600160801b0316600160c01b6001600160401b034316021760015550505b60018054869190601090611c26908490600160801b90046001600160401b031661409c565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550816000015163ffffffff16600160000160109054906101000a90046001600160401b03166001600160401b03161315611c96576040516377ebef4d60e01b815260040160405180910390fd5b600154600090611cb8906001600160801b03166001600160401b038816613e78565b90506000611cca48633b9aca006121c7565b611cd49083614210565b905060005a611ce39088614056565b905080821115611cff57611cff611cfa8284614056565b6121dd565b5050505050505050565b611d116115cd565b156118395760405163b9c3c2ef60e01b815260040160405180910390fd5b60006001600160a01b038216301480610e82575050603f546001600160a01b0390811691161490565b80516020808301516040808501516060860151608087015160a08801519351600097611d88979096959101614224565b604051602081830303815290604052805190602001209050919050565b6000806000611db586600061220b565b905080611deb576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b33611e0c610974565b6001600160a01b031614158015611e33575033611e27611907565b6001600160a01b031614155b1561183957604051636202851360e11b815260040160405180910390fd5b6037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190613e97565b8015611ee05750603f546001600160a01b0316155b80611f7757506037546040516347af267b60e01b81526a08aa890be989e8696849eb60ab1b60048201526001600160a01b03909116906347af267b90602401602060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f609190613e97565b158015611f775750603f546001600160a01b031615155b1561183957604051639c46cd7960e01b815260040160405180910390fd5b600054610100900460ff166120005760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610f27565b600154600160c01b90046001600160401b03166000036118395760408051606081018252633b9aca0080825260006020830152436001600160401b031691909201819052600160c01b0217600155565b60008160000151826020015183604001518460600151604051602001611d88949392919093845260208401929092526040830152606082015260800190565b60008061209b86612229565b90506120a98186868661225b565b9695505050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152603754604080516366398d8160e11b815290516000926001600160a01b03169163cc731b029160048083019260c09291908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e829190614286565b6000612168612162858561228b565b8361229a565b90505b9392505050565b6000670de0b6b3a76400006121b361218a85836140dd565b61219c90670de0b6b3a764000061410b565b6121ae85670de0b6b3a764000061414a565b6122a9565b6121bd908661414a565b61216891906140dd565b60008183116121d6578161216b565b5090919050565b6000805a90505b825a6121f09083614056565b1015612206576121ff82614338565b91506121e4565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161224591815260200190565b6040516020818303038152906040529050919050565b60006122828461226c8786866122da565b8051602091820120825192909101919091201490565b95945050505050565b60008183136121d6578161216b565b60008183126121d6578161216b565b600061216b670de0b6b3a7640000836122c186612b70565b6122cb919061414a565b6122d591906140dd565b612d4b565b606060008451116123255760405162461bcd60e51b81526020600482015260156024820152744d65726b6c65547269653a20656d707479206b657960581b6044820152606401610f27565b600061233084612ef4565b9050600061233d86612fdf565b905060008460405160200161235491815260200190565b60405160208183030381529060405290506000805b8451811015612b1957600085828151811061238657612386614351565b6020026020010151905084518311156123f85760405162461bcd60e51b815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201526d0e8c2d840d6caf240d8cadccee8d60931b6064820152608401610f27565b8260000361249757805180516020918201206040516124469261242092910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6124925760405162461bcd60e51b815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610f27565b61258d565b80515160201161251d57805180516020918201206040516124c19261242092910190815260200190565b6124925760405162461bcd60e51b815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e6044820152660c2d840d0c2e6d60cb1b6064820152608401610f27565b80518451602080870191909120825191909201201461258d5760405162461bcd60e51b815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f646044820152650ca40d0c2e6d60d31b6064820152608401610f27565b61259960106001614367565b8160200151510361274157845183036126d9576125d381602001516010815181106125c6576125c6614351565b6020026020010151613042565b9650600087511161264c5760405162461bcd60e51b815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610f27565b6001865161265a9190614056565b82146126ce5760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610f27565b50505050505061216b565b60008584815181106126ed576126ed614351565b602001015160f81c60f81b60f81c9050600082602001518260ff168151811061271857612718614351565b6020026020010151905061272b816130c4565b9550612738600186614367565b94505050612b06565b600281602001515103612aad576000612759826130e9565b905060008160008151811061277057612770614351565b016020015160f81c9050600061278760028361437f565b6127929060026143a1565b905060006127a3848360ff1661310d565b905060006127b18a8961310d565b905060006127bf8383613143565b9050808351146128375760405162461bcd60e51b815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610f27565b60ff85166002148061284c575060ff85166003145b156129ed57808251146128c75760405162461bcd60e51b815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610f27565b6128e187602001516001815181106125c6576125c6614351565b9c5060008d511161295a5760405162461bcd60e51b815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610f27565b60018c516129689190614056565b88146129dc5760405162461bcd60e51b815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610f27565b50505050505050505050505061216b565b60ff85161580612a00575060ff85166001145b15612a3f57612a2c8760200151600181518110612a1f57612a1f614351565b60200260200101516130c4565b9950612a38818a614367565b9850612aa2565b60405162461bcd60e51b815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f64652077697468604482015271040c2dc40eadcd6dcdeeedc40e0e4caccd2f60731b6064820152608401610f27565b505050505050612b06565b60405162461bcd60e51b815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e706172736561604482015267626c65206e6f646560c01b6064820152608401610f27565b5080612b1181614338565b915050612369565b5060405162461bcd60e51b815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c656044820152646d656e747360d81b6064820152608401610f27565b6000808213612bad5760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b60006060612bba846131c7565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd1901909102780a09507084cc699bb0e71ea869ffffffffffffffffffffffff190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b6000680248ce36a70cb26b3e198213612d6657506000919050565b680755bf798b4a1bf1e58212612dad5760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610f27565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b8051606090806001600160401b03811115612f1157612f11613931565b604051908082528060200260200182016040528015612f5657816020015b6040805180820190915260608082526020820152815260200190600190039081612f2f5790505b50915060005b81811015612fd8576040518060400160405280858381518110612f8157612f81614351565b60200260200101518152602001612fb0868481518110612fa357612fa3614351565b6020026020010151613265565b815250838281518110612fc557612fc5614351565b6020908102919091010152600101612f5c565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613037578060011b82018184015160001a8060041c8253600f811660018301535050600101613009565b509295945050505050565b6060600080600061305285613278565b91945092509050600081600181111561306d5761306d613f01565b1461308b576040516307fe6cb960e21b815260040160405180910390fd5b6130958284614367565b8551146130b557604051630b8aa6f760e31b815260040160405180910390fd5b6122828560200151848461356e565b606060208260000151106130e0576130db82613042565b610e82565b610e8282613601565b6060610e8261310883602001516000815181106125c6576125c6614351565b612fdf565b60608251821061312c5750604080516020810190915260008152610e82565b61216b838384865161313e9190614056565b613617565b6000808251845110613156578251613159565b83515b90505b80821080156131b0575082828151811061317857613178614351565b602001015160f81c60f81b6001600160f81b03191684838151811061319f5761319f614351565b01602001516001600160f81b031916145b156131c05781600101915061315c565b5092915050565b60008082116132045760405162461bcd60e51b815260206004820152600960248201526815539111519253915160ba1b6044820152606401610f27565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060610e8261327383613759565b6137ad565b600080600083600001516000036132a257604051635ab458fb60e01b815260040160405180910390fd5b6020840151805160001a607f81116132c7576000600160009450945094505050613567565b60b7811161335f5760006132dc608083614056565b905080876000015111613302576040516366c9448560e01b815260040160405180910390fd5b6001838101516001600160f81b031916908214801561332e5750600160ff1b6001600160f81b03198216105b1561334c5760405163babb01dd60e01b815260040160405180910390fd5b5060019550935060009250613567915050565b60bf811161344157600061337460b783614056565b90508087600001511161339a576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036133cb5760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116133fa5760405163babb01dd60e01b815260040160405180910390fd5b6134048184614367565b895111613424576040516366c9448560e01b815260040160405180910390fd5b61342f836001614367565b97509550600094506135679350505050565b60f7811161348d57600061345660c083614056565b90508087600001511161347c576040516366c9448560e01b815260040160405180910390fd5b600195509350849250613567915050565b600061349a60f783614056565b9050808760000151116134c0576040516366c9448560e01b815260040160405180910390fd5b60018301516001600160f81b03191660008190036134f15760405163babb01dd60e01b815260040160405180910390fd5b600184015160088302610100031c603781116135205760405163babb01dd60e01b815260040160405180910390fd5b61352a8184614367565b89511161354a576040516366c9448560e01b815260040160405180910390fd5b613555836001614367565b97509550600194506135679350505050565b9193909250565b6060816001600160401b0381111561358857613588613931565b6040519080825280601f01601f1916602001820160405280156135b2576020820181803683370190505b509050811561216b5760006135c78486614367565b90506020820160005b848110156135e85782810151828201526020016135d0565b848111156135f7576000858301525b5050509392505050565b6060610e8282602001516000846000015161356e565b60608182601f01101561365d5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b8282840110156136a05760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f27565b818301845110156136e75760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f27565b6060821580156137065760405191506000825260208201604052613750565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561373f578051835260209283019201613727565b5050858452601f01601f1916604052505b50949350505050565b6040805180820190915260008082526020820152815160000361378f57604051635ab458fb60e01b815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b606060008060006137bd85613278565b9194509250905060018160018111156137d8576137d8613f01565b146137f6576040516325ce355f60e11b815260040160405180910390fd5b84516138028385614367565b1461382057604051630b8aa6f760e31b815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816138375790505093506000835b8651811015613925576000806138aa6040518060400160405280858c6000015161388e9190614056565b8152602001858c602001516138a39190614367565b9052613278565b5091509150604051806040016040528083836138c69190614367565b8152602001848b602001516138db9190614367565b8152508885815181106138f0576138f0614351565b6020908102919091010152613906600185614367565b93506139128183614367565b61391c9084614367565b92505050613864565b50845250919392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561396f5761396f613931565b604052919050565b6001600160a01b038116811461184557600080fd5b600082601f83011261399d57600080fd5b81356001600160401b038111156139b6576139b6613931565b6139c9601f8201601f1916602001613947565b8181528460208386010111156139de57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215613a0d57600080fd5b60405160c081016001600160401b038282108183111715613a3057613a30613931565b816040528293508435835260208501359150613a4b82613977565b81602084015260408501359150613a6182613977565b816040840152606085013560608401526080850135608084015260a0850135915080821115613a8f57600080fd5b50613a9c8582860161398c565b60a0830152505092915050565b60008060408385031215613abc57600080fd5b82356001600160401b03811115613ad257600080fd5b613ade858286016139fb565b9250506020830135613aef81613977565b809150509250929050565b600060208284031215613b0c57600080fd5b813561216b81613977565b60008060408385031215613b2a57600080fd5b8235613b3581613977565b91506020830135613aef81613977565b600080600080600085870360e0811215613b5e57600080fd5b86356001600160401b0380821115613b7557600080fd5b613b818a838b016139fb565b9750602089013596506080603f1984011215613b9c57600080fd5b60408901955060c0890135925080831115613bb657600080fd5b828901925089601f840112613bca57600080fd5b8235915080821115613bdb57600080fd5b508860208260051b8401011115613bf157600080fd5b959894975092955050506020019190565b600060208284031215613c1457600080fd5b5035919050565b60005b83811015613c36578181015183820152602001613c1e565b83811115610dc35750506000910152565b60008151808452613c5f816020860160208601613c1b565b601f01601f19169290920160200192915050565b60208152600061216b6020830184613c47565b60008060408385031215613c9957600080fd5b823591506020830135613aef81613977565b600060208284031215613cbd57600080fd5b81356001600160401b03811115613cd357600080fd5b613cdf848285016139fb565b949350505050565b6001600160401b038116811461184557600080fd5b600060208284031215613d0e57600080fd5b813561216b81613ce7565b60008060408385031215613d2c57600080fd5b50508035926020909101359150565b801515811461184557600080fd5b600080600080600060a08688031215613d6157600080fd5b8535613d6c81613977565b9450602086013593506040860135613d8381613ce7565b92506060860135613d9381613d3b565b915060808601356001600160401b03811115613dae57600080fd5b613dba8882890161398c565b9150509295509295909350565b8581528460208201526001600160401b0360c01b8460c01b16604082015282151560f81b604882015260008251613e05816049850160208701613c1b565b919091016049019695505050505050565b600060208284031215613e2857600080fd5b815161216b81613977565b63ffffffff8116811461184557600080fd5b600060208284031215613e5757600080fd5b815161216b81613e33565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613e9257613e92613e62565b500290565b600060208284031215613ea957600080fd5b815161216b81613d3b565b600080600060608486031215613ec957600080fd5b8351613ed481613e33565b6020850151909350613ee581613ce7565b6040850151909250613ef681613977565b809150509250925092565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613f2957600080fd5b81516003811061216b57600080fd5b600060208284031215613f4a57600080fd5b815161216b81613ce7565b600060808284031215613f6757600080fd5b604051608081018181106001600160401b0382111715613f8957613f89613931565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215613fcc57600080fd5b5051919050565b60006001600160401b0380841115613fed57613fed613931565b8360051b6020613ffe818301613947565b86815291850191818101903684111561401657600080fd5b865b8481101561404a578035868111156140305760008081fd5b61403c36828b0161398c565b845250918301918301614018565b50979650505050505050565b60008282101561406857614068613e62565b500390565b60006001600160401b038083168185168183048111821515161561409357614093613e62565b02949350505050565b60006001600160401b038083168185168083038211156140be576140be613e62565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826140ec576140ec6140c7565b600160ff1b82146000198414161561410657614106613e62565b500590565b60008083128015600160ff1b85018412161561412957614129613e62565b6001600160ff1b038401831381161561414457614144613e62565b50500390565b60006001600160ff1b038184138284138082168684048611161561417057614170613e62565b600160ff1b600087128281168783058912161561418f5761418f613e62565b600087129250878205871284841616156141ab576141ab613e62565b878505871281841616156141c1576141c1613e62565b505050929093029392505050565b600080821280156001600160ff1b03849003851316156141f1576141f1613e62565b600160ff1b839003841281161561420a5761420a613e62565b50500190565b60008261421f5761421f6140c7565b500490565b8681526001600160a01b03868116602083015285166040820152606081018490526080810183905260c060a0820181905260009061426490830184613c47565b98975050505050505050565b805160ff8116811461428157600080fd5b919050565b600060c0828403121561429857600080fd5b60405160c081018181106001600160401b03821117156142ba576142ba613931565b60405282516142c881613e33565b81526142d660208401614270565b60208201526142e760408401614270565b604082015260608301516142fa81613e33565b6060820152608083015161430d81613e33565b608082015260a08301516001600160801b038116811461432c57600080fd5b60a08201529392505050565b60006001820161434a5761434a613e62565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6000821982111561437a5761437a613e62565b500190565b600060ff831680614392576143926140c7565b8060ff84160691505092915050565b600060ff821660ff8416808210156143bb576143bb613e62565b9003939250505056fea264697066735822122061ac961cebb2674aa5ef9662b2cc0e585955b5a6a7b88f1913278c38e01d474064736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x20", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e", "transactionType": "CREATE", "contractName": "DisputeGameFactory", "contractAddress": "0xc5942bf8039cef74414305a67384c382fb5e0bb4", "function": null, "arguments": null, "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1ecb45", "value": "0x0", "input": "0x60a060405234801561001057600080fd5b50600160805261001e610023565b6100e3565b600054610100900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611aa4610105600039600081816102180152610c100152611aa46000f3fe60806040526004361061012a5760003560e01c80636593dc6e116100ab57806396cd97201161006f57806396cd97201461038e578063b1070957146103ae578063bb8aa1fc146103ce578063c4d66de814610421578063dad544e014610441578063f2fde38b1461045657600080fd5b80636593dc6e146102fb578063715018a61461032857806374cc86ac1461033d57806382ecf2f61461035d5780638da5cb5b1461037057600080fd5b806338d38c97116100f257806338d38c97146102045780633e47158c146102425780634d1975b41461025757806354fd4d50146102765780635f0150cb146102b457600080fd5b80631011f3771461012f57806314f6b1a31461015f5780631b685b9e146101815780631e334240146101b7578063254bd683146101d7575b600080fd5b61014261013d366004611344565b610476565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016b57600080fd5b5061017f61017a3660046113e2565b6104fe565b005b34801561018d57600080fd5b5061014261019c366004611419565b6065602052600090815260409020546001600160a01b031681565b3480156101c357600080fd5b5061017f6101d2366004611434565b610563565b3480156101e357600080fd5b506101f76101f236600461145e565b6105af565b60405161015691906114ed565b34801561021057600080fd5b5060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610156565b34801561024e57600080fd5b5061014261078e565b34801561026357600080fd5b506068545b604051908152602001610156565b34801561028257600080fd5b506102a7604051806040016040528060058152602001640312e342e360dc1b81525081565b604051610156919061158b565b3480156102c057600080fd5b506102d46102cf36600461159e565b610940565b604080516001600160a01b0390931683526001600160401b03909116602083015201610156565b34801561030757600080fd5b50610268610316366004611419565b60666020526000908152604090205481565b34801561033457600080fd5b5061017f610985565b34801561034957600080fd5b506102a7610358366004611419565b610999565b61014261036b36600461159e565b610a33565b34801561037c57600080fd5b506033546001600160a01b0316610142565b34801561039a57600080fd5b506102686103a936600461159e565b610aac565b3480156103ba57600080fd5b5061017f6103c93660046115f7565b610ae5565b3480156103da57600080fd5b506103ee6103e9366004611641565b610bb3565b6040805163ffffffff90941684526001600160401b0390921660208401526001600160a01b031690820152606001610156565b34801561042d57600080fd5b5061017f61043c36600461165a565b610c0e565b34801561044d57600080fd5b50610142610d28565b34801561046257600080fd5b5061017f61047136600461165a565b610d98565b600061048487878787610e11565b9050806001600160a01b0316634224b1e73485856040518463ffffffff1660e01b81526004016104b59291906116a0565b6000604051808303818588803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b50505050506104f48787878785610fb7565b9695505050505050565b610506611090565b63ffffffff821660008181526065602052604080822080546001600160a01b0319166001600160a01b038616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b61056b611090565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806105c1575081155b610787575060408051600583901b8101602001909152825b838111610785576000606882815481106105f5576105f56116b4565b600091825260209091200154905060e081901c60a082901c6001600160401b03166001600160a01b03831663ffffffff8916830361077457600186510186526000816001600160a01b031663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa158015610674573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261069c91908101906116e0565b90506000826001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610702919061178c565b90506040518060a00160405280888152602001878152602001856001600160401b03168152602001828152602001838152508860018a5161074391906117bb565b81518110610753576107536116b4565b60200260200101819052508888511061077157505050505050610785565b50505b505060001990920191506105d99050565b505b9392505050565b6000806107b97fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107cf57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081291906117d2565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000000919091179061086d906060015b604051602081830303815290604052805190602001205490565b1461088b576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108ad90606001610853565b90506001600160a01b0381161561092757806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906117f1565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b600080600061095187878787610aac565b6000908152606760205260409020546001600160a01b0381169860a09190911c6001600160401b0316975095505050505050565b61098d611090565b61099760006110ea565b565b606960205260009081526040902080546109b29061180e565b80601f01602080910402602001604051908101604052809291908181526020018280546109de9061180e565b8015610a2b5780601f10610a0057610100808354040283529160200191610a2b565b820191906000526020600020905b815481529060010190602001808311610a0e57829003601f168201915b505050505081565b6000610a4185858585610e11565b9050806001600160a01b0316638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a7e57600080fd5b505af1158015610a92573d6000803e3d6000fd5b5050505050610aa48585858585610fb7565b949350505050565b600084848484604051602001610ac59493929190611848565b604051602081830303815290604052805190602001209050949350505050565b610aed611090565b63ffffffff8416600090815260656020908152604080832080546001600160a01b0319166001600160a01b03881617905560699091529020610b308284836118bd565b5060405163ffffffff8516906001600160a01b038516907fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de90600090a38363ffffffff167fa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f98383604051610ba59291906116a0565b60405180910390a250505050565b600080600080600080610bfe60688881548110610bd257610bd26116b4565b906000526020600020015460e081901c9160a082901c6001600160401b0316916001600160a01b031690565b9199909850909650945050505050565b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff16158015610c4e575060005460ff8083169116105b610cb65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff831617610100179055610cd261113c565b610cda61118a565b610ce3826110ea565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000610d3261078e565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9391906117f1565b905090565b610da0611090565b6001600160a01b038116610e055760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cad565b610e0e816110ea565b50565b63ffffffff84166000908152606560205260408120546001600160a01b031680610e555760405162c71b7960e21b815263ffffffff87166004820152602401610cad565b63ffffffff86166000908152606660205260409020543414610e8a57604051638620aa1960e01b815260040160405180910390fd5b6000610e976001436117bb565b63ffffffff881660009081526069602052604081208054924093509091610ebd9061180e565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee99061180e565b8015610f365780601f10610f0b57610100808354040283529160200191610f36565b820191906000526020600020905b815481529060010190602001808311610f1957829003601f168201915b505050505090508051600003610f8957610f823388848989604051602001610f6295949392919061197d565b60408051601f198184030181529190526001600160a01b038516906111b9565b9350610fac565b610fa93388848b8a8a87604051602001610f6297969594939291906119b7565b93505b505050949350505050565b6000610fc586868686610aac565b60008181526067602052604090205490915015610ff85760405163014f6fe560e01b815260048101829052602401610cad565b60004260a01b60e088901b178317600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250879163ffffffff8a16916001600160a01b038716917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050505050565b6033546001600160a01b031633146109975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cad565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3361114561078e565b6001600160a01b03161415801561116c575033611160610d28565b6001600160a01b031614155b1561099757604051636202851360e11b815260040160405180910390fd5b600054610100900460ff166111b15760405162461bcd60e51b8152600401610cad90611a23565b6109976111c7565b6000610787600084846111f7565b600054610100900460ff166111ee5760405162461bcd60e51b8152600401610cad90611a23565b610997336110ea565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf0975050866112c35763301164256000526004601cfd5b90528552601f19850152603f19840152605f199092019190915292915050565b803563ffffffff811681146112f757600080fd5b919050565b60008083601f84011261130e57600080fd5b5081356001600160401b0381111561132557600080fd5b60208301915083602082850101111561133d57600080fd5b9250929050565b6000806000806000806080878903121561135d57600080fd5b611366876112e3565b95506020870135945060408701356001600160401b038082111561138957600080fd5b6113958a838b016112fc565b909650945060608901359150808211156113ae57600080fd5b506113bb89828a016112fc565b979a9699509497509295939492505050565b6001600160a01b0381168114610e0e57600080fd5b600080604083850312156113f557600080fd5b6113fe836112e3565b9150602083013561140e816113cd565b809150509250929050565b60006020828403121561142b57600080fd5b610787826112e3565b6000806040838503121561144757600080fd5b611450836112e3565b946020939093013593505050565b60008060006060848603121561147357600080fd5b61147c846112e3565b95602085013595506040909401359392505050565b60005b838110156114ac578181015183820152602001611494565b838111156114bb576000848401525b50505050565b600081518084526114d9816020860160208601611491565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157d57888303603f190185528151805184528781015188850152868101516001600160401b0316878501526060808201519085015260809081015160a091850182905290611569818601836114c1565b968901969450505090860190600101611514565b509098975050505050505050565b60208152600061078760208301846114c1565b600080600080606085870312156115b457600080fd5b6115bd856112e3565b93506020850135925060408501356001600160401b038111156115df57600080fd5b6115eb878288016112fc565b95989497509550505050565b6000806000806060858703121561160d57600080fd5b611616856112e3565b93506020850135611626816113cd565b925060408501356001600160401b038111156115df57600080fd5b60006020828403121561165357600080fd5b5035919050565b60006020828403121561166c57600080fd5b8135610787816113cd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610aa4602083018486611677565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6000602082840312156116f257600080fd5b81516001600160401b038082111561170957600080fd5b818401915084601f83011261171d57600080fd5b81518181111561172f5761172f6116ca565b604051601f8201601f19908116603f01168101908382118183101715611757576117576116ca565b8160405282815287602084870101111561177057600080fd5b611781836020830160208801611491565b979650505050505050565b60006020828403121561179e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156117cd576117cd6117a5565b500390565b60008160001904831182151516156117ec576117ec6117a5565b500290565b60006020828403121561180357600080fd5b8151610787816113cd565b600181811c9082168061182257607f821691505b60208210810361184257634e487b7160e01b600052602260045260246000fd5b50919050565b63ffffffff851681528360208201526060604082015260006104f4606083018486611677565b601f8211156118b857600081815260208120601f850160051c810160208610156118955750805b601f850160051c820191505b818110156118b4578281556001016118a1565b5050505b505050565b6001600160401b038311156118d4576118d46116ca565b6118e8836118e2835461180e565b8361186e565b6000601f84116001811461191c57600085156119045750838201355b600019600387901b1c1916600186901b178355611976565b600083815260209020601f19861690835b8281101561194d578685013582556020948501946001909201910161192d565b508682101561196a5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6bffffffffffffffffffffffff198660601b1681528460148201528360348201528183605483013760009101605401908152949350505050565b6bffffffffffffffffffffffff198860601b16815286601482015285603482015263ffffffff60e01b8560e01b16605482015282846058830137600083820160588101600081528451611a0e818360208901611491565b919091016058019a9950505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212200def0cc9a62325f1474f0037d35bef684db64d0a5872dcd0dc996ddc28c30aa264736f6c634300080f0033", "nonce": "0x21", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575", "transactionType": "CREATE", "contractName": "AnchorStateRegistry", "contractAddress": "0x144a55c8d46a347cd08204c0327cb411527f846e", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1b5d4d", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600260805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea2646970667358221220dce406ba98bc3c85475773886650fef7fe190ae1457e7e0faf970ac184def94764736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x22", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3ca363", "logs": [ { "address": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "logIndex": "0xc", "removed": false }, { "address": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "logIndex": "0xd", "removed": false }, { "address": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "logIndex": "0xe", "removed": false }, { "address": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "logIndex": "0xf", "removed": false }, { "address": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "logIndex": "0x10", "removed": false } ], "logsBloom": "0x00000000000410000200000000000000000000000000000000800000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000084000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000008000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x35ef6c628c2ec239750e05e58c35deaa4928306d77c4dd8249e59822113bacae", "transactionIndex": "0x1c", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "gasUsed": "0x196163", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x3b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122" }, { "status": "0x1", "cumulativeGasUsed": "0x4dd6e3", "logs": [ { "address": "0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297", "transactionIndex": "0x1d", "logIndex": "0x11", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000002000000000000000000000200000000000000000000040000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xbb456df7116616c6b21cad61c62cc2065cc9fbd1ea9b2b8ae3a634ebbbcb2297", "transactionIndex": "0x1d", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "gasUsed": "0x113380", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xf5f747bb3bbb45bb019fc49bf2e9f2ee93158c72" }, { "status": "0x1", "cumulativeGasUsed": "0x5489ea", "logs": [ { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "blockTimestamp": "0x69ce6304", "transactionHash": "0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a", "transactionIndex": "0x1e", "logIndex": "0x12", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000004000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x5b53b767060403df37054fd9dbbb65ec64198fde74388e97ccdb7ab0a3b5e83a", "transactionIndex": "0x1e", "blockHash": "0x5a96c5330e800e0e5619bd27424ac69ab94956cd762e97eb5ef08d1e8b9eb4ce", "blockNumber": "0x26b7ea", "gasUsed": "0x6b307", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc" }, { "status": "0x1", "cumulativeGasUsed": "0xf7b65", "logs": [ { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122" ], "data": "0x", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xa", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xb", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xc", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xd", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd9" ], "data": "0x", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xe", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x0000000000000000000000005679a6b3817a014d6f3dcd64569d6858f4e92f5e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0xf", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0xfc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2", "0x000000000000000000000000ad3b1402b3ec6a23c3913258d3811f132e7e35e0" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0x10", "removed": false }, { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "logIndex": "0x11", "removed": false } ], "logsBloom": "0x0000000000040000020000000000020040000000000000000080000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000200000100000000000000000000000000000000000202080000004000000000080000000000000000000040000020000240002000000000000000000000000000000000000000008000000000000000008000000a000008000000000040000400000000000000000000000000000000000000042020000000000000000000040004000000000000080400004000800020000000000000000002000004001000000000000200000000000000000000000000", "type": "0x2", "transactionHash": "0x7e503c1d0e0f142224604ef67a14a9fa3fd5b7b49cb092b077f7210f0a27806d", "transactionIndex": "0x4", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "gasUsed": "0x30f1d", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1e7479", "logs": [ { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b00000000000000000000000044f00318360258744a0daa957c2d15080a473469", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d", "transactionIndex": "0x7", "logIndex": "0x19", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000020000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000004000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xd4a4c4950b58794d7129534e65790baafe0afad64ed0410de803a203c05a3a5d", "transactionIndex": "0x7", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "gasUsed": "0x6f48", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x33b1db", "logs": [ { "address": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "blockTimestamp": "0x69ce6310", "transactionHash": "0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b", "transactionIndex": "0xa", "logIndex": "0x22", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xaa95384d7629e843c40152b945c202a071e1a45a7425f41cca0f3ab778e7df1b", "transactionIndex": "0xa", "blockHash": "0xf2de622c14b15a2f6ced9bbf09383556d3e5c914cec1aa6d4a05f0c6f1aaa2c1", "blockNumber": "0x26b7eb", "gasUsed": "0x6b307", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3" }, { "status": "0x1", "cumulativeGasUsed": "0x1713c0", "logs": [ { "address": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000f5f747bb3bbb45bb019fc49bf2e9f2ee93158c72" ], "data": "0x", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "blockTimestamp": "0x69ce631c", "transactionHash": "0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f", "transactionIndex": "0x1b", "logIndex": "0x7", "removed": false }, { "address": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "blockTimestamp": "0x69ce631c", "transactionHash": "0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f", "transactionIndex": "0x1b", "logIndex": "0x8", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000020000000000000000000000000000020004000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000400000000000000000000000002000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x7e3dfe6038fe823f629b82a3f28732ec7102c44a0a6fc3b3e065b397264ac41f", "transactionIndex": "0x1b", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "gasUsed": "0x17e22", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x178308", "logs": [ { "address": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "topics": [ "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b00000000000000000000000044f00318360258744a0daa957c2d15080a473469", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "blockTimestamp": "0x69ce631c", "transactionHash": "0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5", "transactionIndex": "0x1c", "logIndex": "0x9", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x1a193465d57530fd91ca64fef9a199c2029c38cfd7bce3e35fcc65df59f6dce5", "transactionIndex": "0x1c", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "gasUsed": "0x6f48", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x8ff945fcad2ca8d66fa1ba63c70440328bb14ff3", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1f9dd4", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x5c3f7b44a83863b0cd16137e2d8654183dd6087327bfe7a177be817795475b7a", "transactionIndex": "0x1d", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "gasUsed": "0x81acc", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x6f3db1c1f5110b20efbbccd13367bca8898092e6" }, { "status": "0x1", "cumulativeGasUsed": "0x234380", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xcf5c5f428fa1591b89e486bf04941ecb878271853aacf5c4f0e7be7e9a6425bc", "transactionIndex": "0x1e", "blockHash": "0x34b2f12d622e3347fe88aa24ff379f5be9eb98f200fbeb4437c1614245d4ab07", "blockNumber": "0x26b7ec", "gasUsed": "0x3a5ac", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x4730cec510e664838b20b576881702b64651cc45" }, { "status": "0x1", "cumulativeGasUsed": "0x30c790", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa10119fb6b09dc357b76f78deb0a328e3efc3f482074325c084ce648504126fc", "transactionIndex": "0x2", "blockHash": "0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199", "blockNumber": "0x26b7ed", "gasUsed": "0x2e1605", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x6ed60b2e1bdc8bcf333e12e716af2bc63bb263d6" }, { "status": "0x1", "cumulativeGasUsed": "0x78bbaf", "logs": [ { "address": "0x27b8d2d28540b133f9454535867e3b89b78d88b0", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199", "blockNumber": "0x26b7ed", "blockTimestamp": "0x69ce6328", "transactionHash": "0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d", "transactionIndex": "0x6", "logIndex": "0xf", "removed": false } ], "logsBloom": "0x00000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000001000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000", "type": "0x2", "transactionHash": "0x614d5130b03d132b6c8ca5facf7e71ba54683169ecf155aa2c8d9bd71918a23d", "transactionIndex": "0x6", "blockHash": "0x0e46a186825d4bf020b8ccb4456f8c627845c5aec474cda71a144daaa6f7e199", "blockNumber": "0x26b7ed", "gasUsed": "0x3a93ed", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x27b8d2d28540b133f9454535867e3b89b78d88b0" }, { "status": "0x1", "cumulativeGasUsed": "0x1dd512", "logs": [ { "address": "0xc5942bf8039cef74414305a67384c382fb5e0bb4", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349", "blockNumber": "0x26b7ee", "blockTimestamp": "0x69ce6334", "transactionHash": "0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e", "transactionIndex": "0x1", "logIndex": "0x2", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x442a7ac7df330c93c4dc668fa6d407e8a91b90bdc6d9e6de73d0d77d84472e5e", "transactionIndex": "0x1", "blockHash": "0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349", "blockNumber": "0x26b7ee", "gasUsed": "0x17b00e", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xc5942bf8039cef74414305a67384c382fb5e0bb4" }, { "status": "0x1", "cumulativeGasUsed": "0x43dbf2", "logs": [ { "address": "0x144a55c8d46a347cd08204c0327cb411527f846e", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349", "blockNumber": "0x26b7ee", "blockTimestamp": "0x69ce6334", "transactionHash": "0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575", "transactionIndex": "0x6", "logIndex": "0xc", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xc61329af049d69001f25369a9dbb4bd0ab766c245443675d7292ff54f2a25575", "transactionIndex": "0x6", "blockHash": "0x3cb8f35e030e9e18f25517c8139c7cce98a5a6bb88a5cc3f878e5d56feb34349", "blockNumber": "0x26b7ee", "gasUsed": "0x150cb2", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x144a55c8d46a347cd08204c0327cb411527f846e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775133494692, "chain": 560048, "commit": "589455d" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/DeployNitroVerifier.s.sol/560048/run-1775133374708.json ================================================ { "transactions": [ { "hash": "0x00b5ff21775f2a77d33f4a7ca389ba1d4316de4a9d689db7c1b6b29cc77f5e2b", "transactionType": "CREATE", "contractName": "RiscZeroSetVerifier", "contractAddress": "0x5492e1ecd7867aead78464ebd5def30f96d462ba", "function": null, "arguments": [ "0x32Db7dc407AC886807277636a1633A1381748DD8", "0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9", "https://gateway.pinata.cloud/ipfs/bafybeicclqbjn5ief3ycqif6wv3n3wr43szv2locrmml5h7d4fkrz4jrum" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x140584", "value": "0x0", "input": "0x60e060405234801561000f575f5ffd5b5060405161139a38038061139a83398101604081905261002e916101a8565b6001600160a01b0383166100555760405163217b186d60e21b815260040160405180910390fd5b6001600160a01b03831660805260c08290525f6100728282610303565b5061007c82610092565b6001600160e01b03191660a052506103ea915050565b5f6002806040516100da907f72697363302e536574496e636c7573696f6e526563656970745665726966696581526a72506172616d657465727360a81b6020820152602b0190565b602060405180830381855afa1580156100f5573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061011891906103bd565b6040805160208101929092528101849052600160f81b606082015260620160408051601f1981840301815290829052610150916103d4565b602060405180830381855afa15801561016b573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061018e91906103bd565b92915050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156101ba575f5ffd5b83516001600160a01b03811681146101d0575f5ffd5b6020850151604086015191945092506001600160401b038111156101f2575f5ffd5b8401601f81018613610202575f5ffd5b80516001600160401b0381111561021b5761021b610194565b604051601f8201601f19908116603f011681016001600160401b038111828210171561024957610249610194565b604052818152828201602001881015610260575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b600181811c9082168061029357607f821691505b6020821081036102b157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102fe57805f5260205f20601f840160051c810160208510156102dc5750805b601f840160051c820191505b818110156102fb575f81556001016102e8565b50505b505050565b81516001600160401b0381111561031c5761031c610194565b6103308161032a845461027f565b846102b7565b6020601f821160018114610362575f831561034b5750848201515b5f19600385901b1c1916600184901b1784556102fb565b5f84815260208120601f198516915b828110156103915787850151825560209485019460019092019101610371565b50848210156103ae57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156103cd575f5ffd5b5051919050565b5f82518060208501845e5f920191825250919050565b60805160a05160c051610f576104435f395f81816102170152818161035901528181610588015261068801525f8181608e0152818161044101526104a501525f818160d3015281816101e601526105540152610f575ff3fe608060405234801561000f575f5ffd5b5060043610610085575f3560e01c80636691f647116100585780636691f64714610154578063ab750e7514610167578063cdc971231461017a578063ffa1ad7414610190575f5ffd5b8063053c238d1461008957806308c84e70146100ce5780631599ead51461010d57806348cbdfca14610122575b5f5ffd5b6100b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020015b60405180910390f35b6100f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c5565b61012061011b366004610a02565b6101ca565b005b610144610130366004610a39565b5f9081526001602052604090205460ff1690565b60405190151581526020016100c5565b610120610162366004610a95565b6101e4565b610120610175366004610add565b610332565b610182610354565b6040516100c5929190610b58565b6101bd6040518060400160405280600e81526020016d302e31302e302d616c7068612e3160901b81525081565b6040516100c59190610b78565b6101e16101d78280610b8a565b836020013561040b565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab750e7583837f0000000000000000000000000000000000000000000000000000000000000000600261024189610682565b60405161024e9190610bcd565b602060405180830381855afa158015610269573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061028c9190610be3565b6040518563ffffffff1660e01b81526004016102ab9493929190610c22565b5f6040518083038186803b1580156102c1575f5ffd5b505afa1580156102d3573d5f5f3e3d5ffd5b5050505f84815260016020819052604091829020805460ff19169091179055518491507fcb874ca5a04ca17d10924a9784b666fb412b518f2394912f61f4ddf614c5de16906103259085908590610c48565b60405180910390a2505050565b61034e848461034961034486866106d0565b61075a565b61040b565b50505050565b5f60607f00000000000000000000000000000000000000000000000000000000000000005f80805461038590610c5b565b80601f01602080910402602001604051908101604052809291908181526020018280546103b190610c5b565b80156103fc5780601f106103d3576101008083540402835291602001916103fc565b820191905f5260205f20905b8154815290600101906020018083116103df57829003601f168201915b50505050509050915091509091565b604080518082019091526060808252602082015261042c60045f8587610c93565b61043591610cba565b6001600160e01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160e01b031916146104d85761047c60045f8587610c93565b61048591610cba565b604051632e2ce35360e21b81526001600160e01b031991821660048201527f0000000000000000000000000000000000000000000000000000000000000000909116602482015260440160405180910390fd5b60048311156104fe576104ee8360048187610c93565b8101906104fb9190610dcc565b90505b604051674c4541465f54414760c01b6020820152602881018390525f906048016040516020818303038152906040528051906020012090505f610544835f0151836108ba565b6020840151519091501561064c577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ab750e7584602001517f000000000000000000000000000000000000000000000000000000000000000060026105b286610682565b6040516105bf9190610bcd565b602060405180830381855afa1580156105da573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105fd9190610be3565b6040518463ffffffff1660e01b815260040161061b93929190610ed5565b5f6040518083038186803b158015610631575f5ffd5b505afa158015610643573d5f5f3e3d5ffd5b5050505061067a565b5f8181526001602052604090205460ff1661067a5760405163439cc0cd60e01b815260040160405180910390fd5b505050505050565b604080517f00000000000000000000000000000000000000000000000000000000000000006020820152600160ff1b8183015260608082019390935281518082039093018352608001905290565b6106d86109c0565b6040805160a0810182528481527fa3acc27117418996340b84e5a90f3ef4c49d22c79e44aad822ec9c313e1eb8e26020820152815180830183529091820190805f81526020015f60ff1681525081526020015f5f1b815260200161075160405180604001604052808681526020015f5f1b8152506108fc565b90529392505050565b5f600280604051610783907172697363302e52656365697074436c61696d60701b815260120190565b602060405180830381855afa15801561079e573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107c19190610be3565b606084015184516020860151608087015160408801515160189060028111156107ec576107ec610ef9565b60408a810151602090810151825191820199909952908101969096526060860194909452608085019290925260a084015263ffffffff909116901b60e01b6001600160e01b03191660c082015260f89190911b6001600160f81b03191660c4820152600160fa1b60c882015260ca015b60408051601f198184030181529082905261087691610bcd565b602060405180830381855afa158015610891573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906108b49190610be3565b92915050565b5f81815b84518110156108f4576108ea828683815181106108dd576108dd610f0d565b6020026020010151610991565b91506001016108be565b509392505050565b5f60028060405161091f906b1c9a5cd8cc0b93dd5d1c1d5d60a21b8152600c0190565b602060405180830381855afa15801561093a573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061095d9190610be3565b83516020808601516040805192830194909452928101919091526060810191909152600160f91b608082015260820161085c565b5f8183106109ab575f8281526020849052604090206109b9565b5f8381526020839052604090205b9392505050565b6040518060a001604052805f81526020015f81526020016109f0604080518082019091525f808252602082015290565b81526020015f81526020015f81525090565b5f60208284031215610a12575f5ffd5b813567ffffffffffffffff811115610a28575f5ffd5b8201604081850312156109b9575f5ffd5b5f60208284031215610a49575f5ffd5b5035919050565b5f5f83601f840112610a60575f5ffd5b50813567ffffffffffffffff811115610a77575f5ffd5b602083019150836020828501011115610a8e575f5ffd5b9250929050565b5f5f5f60408486031215610aa7575f5ffd5b83359250602084013567ffffffffffffffff811115610ac4575f5ffd5b610ad086828701610a50565b9497909650939450505050565b5f5f5f5f60608587031215610af0575f5ffd5b843567ffffffffffffffff811115610b06575f5ffd5b610b1287828801610a50565b90989097506020870135966040013595509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b828152604060208201525f610b706040830184610b2a565b949350505050565b602081525f6109b96020830184610b2a565b5f5f8335601e19843603018112610b9f575f5ffd5b83018035915067ffffffffffffffff821115610bb9575f5ffd5b602001915036819003821315610a8e575f5ffd5b5f82518060208501845e5f920191825250919050565b5f60208284031215610bf3575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f610c35606083018688610bfa565b6020830194909452506040015292915050565b602081525f610b70602083018486610bfa565b600181811c90821680610c6f57607f821691505b602082108103610c8d57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f5f85851115610ca1575f5ffd5b83861115610cad575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610ceb576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715610d2957610d29610cf2565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610d5857610d58610cf2565b604052919050565b5f82601f830112610d6f575f5ffd5b813567ffffffffffffffff811115610d8957610d89610cf2565b610d9c601f8201601f1916602001610d2f565b818152846020838601011115610db0575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215610ddc575f5ffd5b813567ffffffffffffffff811115610df2575f5ffd5b820160408185031215610e03575f5ffd5b610e0b610d06565b813567ffffffffffffffff811115610e21575f5ffd5b8201601f81018613610e31575f5ffd5b803567ffffffffffffffff811115610e4b57610e4b610cf2565b8060051b610e5b60208201610d2f565b91825260208184018101929081019089841115610e76575f5ffd5b6020850194505b83851015610e9c57843580835260209586019590935090910190610e7d565b855250505050602082013567ffffffffffffffff811115610ebb575f5ffd5b610ec786828501610d60565b602083015250949350505050565b606081525f610ee76060830186610b2a565b60208301949094525060400152919050565b634e487b7160e01b5f52602160045260245ffd5b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220c21567f963e567ba9fef74ac30d62d2b1df40472cb9f5823d5d86dec974ebb1164736f6c634300081c003300000000000000000000000032db7dc407ac886807277636a1633a1381748dd870909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000005d68747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f6261667962656963636c71626a6e35696566337963716966367776336e3377723433737a76326c6f63726d6d6c3568376434666b727a346a72756d000000", "nonce": "0x12", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionType": "CREATE", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "3600", "[]", "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "0x856611eD7E07D83243b15E93f6321f2df6865852", "1", "(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x2fbdc1", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b50604051612cbf380380612cbf83398101604081905261002e9161039c565b866001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b600380546001600160401b0319166001600160401b0389161790555f5b86518110156100c457600160025f898481518110610094576100946104c1565b60209081029190910181015182528101919091526040015f20805460ff1916911515919091179055600101610074565b506100ce886100f8565b6100d785610133565b6100e08461016f565b6100eb8383836101e2565b505050505050505061053e565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60048190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661019557604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610164565b8160015f8560028111156101f8576101f86104d5565b6002811115610209576102096104d5565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b0390921691909117905581511561028e578060065f85600281111561026c5761026c6104d5565b600281111561027d5761027d6104d5565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef8383836040516102c1939291906104e9565b60405180910390a1505050565b80516001600160a01b03811681146102e4575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715610325576103256102e9565b604052919050565b8051600381106102e4575f5ffd5b5f6060828403121561034b575f5ffd5b604051606081016001600160401b038111828210171561036d5761036d6102e9565b6040908152835182526020808501519083015290915081906103909084016102ce565b60408201525092915050565b5f5f5f5f5f5f5f5f610140898b0312156103b4575f5ffd5b6103bd896102ce565b60208a01519098506001600160401b03811681146103d9575f5ffd5b60408a01519097506001600160401b038111156103f4575f5ffd5b8901601f81018b13610404575f5ffd5b80516001600160401b0381111561041d5761041d6102e9565b8060051b61042d602082016102fd565b9182526020818401810192908101908e841115610448575f5ffd5b6020850194505b8385101561046e5784518083526020958601959093509091019061044f565b60608e0151909a50985061048b93505060808c0191506102ce9050565b935061049960a08a0161032d565b92506104a88a60c08b0161033b565b6101209990990151979a96995094979396929591945050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061050957634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6127748061054b5f395ff3fe6080604052600436106101af575f3560e01c80638cb50c44116100e7578063e3f4769511610087578063f2fde38b11610062578063f2fde38b146104d7578063f8b507c7146104ea578063f9f91b1314610516578063fee81cf41461057c575f5ffd5b8063e3f4769514610486578063ea9e4857146104a5578063f04e283e146104c4575f5ffd5b8063c9569bc3116100c2578063c9569bc3146103de578063cc05c0b31461040a578063d06d558714610429578063dd4a471d14610448575f5ffd5b80638cb50c44146103885780638da5cb5b146103a7578063a12b896a146103bf575f5ffd5b806363cd345611610152578063715018a61161012d578063715018a61461032d5780637221e6fc1461033557806374c183aa1461034a57806386546a4914610369575f5ffd5b806363cd3456146102b657806367451515146102d55780636d114be314610301575f5ffd5b80633a837cc21161018d5780633a837cc21461022657806354d1f13d1461024557806354fd4d501461024d5780635875335714610280575f5ffd5b806325692962146101b357806331b361e0146101bd578063369855e6146101ef575b5f5ffd5b6101bb6105ad565b005b3480156101c8575f5ffd5b506101dc6101d73660046119ac565b6105f9565b6040519081526020015b60405180910390f35b3480156101fa575f5ffd5b5060035461020e906001600160401b031681565b6040516001600160401b0390911681526020016101e6565b348015610231575f5ffd5b506101bb610240366004611a71565b610635565b6101bb61064d565b348015610258575f5ffd5b5060408051808201825260058152640302e312e360dc1b602082015290516101e69190611b28565b34801561028b575f5ffd5b505f5461029e906001600160a01b031681565b6040516001600160a01b0390911681526020016101e6565b3480156102c1575f5ffd5b506101bb6102d0366004611b51565b610686565b3480156102e0575f5ffd5b506102f46102ef3660046119ac565b6107c2565b6040516101e69190611b82565b34801561030c575f5ffd5b5061032061031b366004611bf0565b610853565b6040516101e69190611e04565b6101bb61095a565b348015610340575f5ffd5b506101dc60045481565b348015610355575f5ffd5b506101bb610364366004611e16565b61096d565b348015610374575f5ffd5b506101bb610383366004611e2d565b610981565b348015610393575f5ffd5b506101bb6103a2366004611e16565b610b15565b3480156103b2575f5ffd5b50638b78c6d8195461029e565b3480156103ca575f5ffd5b5061029e6103d9366004611b51565b610ba0565b3480156103e9575f5ffd5b506103fd6103f8366004611bf0565b610c82565b6040516101e69190611e6d565b348015610415575f5ffd5b506101bb610424366004611ed0565b610ecb565b348015610434575f5ffd5b506101bb610443366004611f00565b610ffe565b348015610453575f5ffd5b50610476610462366004611e16565b60026020525f908152604090205460ff1681565b60405190151581526020016101e6565b348015610491575f5ffd5b506101bb6104a0366004611f2f565b61100f565b3480156104b0575f5ffd5b506101bb6104bf366004611f48565b61108f565b6101bb6104d2366004611f00565b611188565b6101bb6104e5366004611f00565b6111c2565b3480156104f5575f5ffd5b50610509610504366004611f70565b6111e8565b6040516101e69190611fdf565b348015610521575f5ffd5b506105586105303660046119ac565b600160208190525f91825260409091208054918101546002909101546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101e6565b348015610587575f5ffd5b506101dc610596366004611f00565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60065f83600281111561060f5761060f611c6f565b600281111561062057610620611c6f565b81526020019081526020015f20549050919050565b61063d611357565b610648838383611371565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b61068e611357565b5f60055f8460028111156106a4576106a4611c6f565b60028111156106b5576106b5611c6f565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107165782826040516253454d60e31b815260040161070d929190612034565b60405180910390fd5b61dead60055f85600281111561072e5761072e611c6f565b600281111561073f5761073f611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b03939093169290921790915583600281111561079557610795611c6f565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b6107ec60405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60015f83600281111561080157610801611c6f565b600281111561081257610812611c6f565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b61085b611943565b5f546001600160a01b031633146108855760405163fe0232c360e01b815260040160405180910390fd5b5f60015f86600281111561089b5761089b611c6f565b60028111156108ac576108ac611c6f565b81526020019081526020015f205f015490506108cc85828989888861145d565b6108d886880188612388565b91506108e3826115a5565b91508460028111156108f7576108f7611c6f565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f01518460405160200161092d9190611e04565b60408051601f198184030181529082905261094892916123c1565b60405180910390a25095945050505050565b610962611357565b61096b5f6116dd565b565b610975611357565b61097e8161171a565b50565b610989611357565b6001600160a01b0381166109b057604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b038216016109dc5760405163043103a360e21b815260040160405180910390fd5b61dead60055f8560028111156109f4576109f4611c6f565b6002811115610a0557610a05611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610a565782826040516253454d60e31b815260040161070d929190612034565b8060055f856002811115610a6c57610a6c611c6f565b6002811115610a7d57610a7d611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610ad357610ad3611c6f565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b610b1d611357565b5f8181526002602052604090205460ff16610b4e57604051630eb0bcc760e31b81526004810182905260240161070d565b5f8181526002602052604090819020805460ff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610b959083815260200190565b60405180910390a150565b5f5f60055f856002811115610bb757610bb7611c6f565b6002811115610bc857610bc8611c6f565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610c205783836040516253454d60e31b815260040161070d929190612034565b6001600160a01b038116610c795760015f856002811115610c4357610c43611c6f565b6002811115610c5457610c54611c6f565b815260208101919091526040015f20600201546001600160a01b03169150610c7c9050565b90505b92915050565b5f546060906001600160a01b03163314610caf5760405163fe0232c360e01b815260040160405180910390fd5b5f60015f866002811115610cc557610cc5611c6f565b6002811115610cd657610cd6611c6f565b81526020019081526020015f206001015490505f60015f876002811115610cff57610cff611c6f565b6002811115610d1057610d10611c6f565b81526020019081526020015f205f015490505f60065f886002811115610d3857610d38611c6f565b6002811115610d4957610d49611c6f565b81526020019081526020015f20549050610d6787848b8b8a8a61145d565b5f610d74898b018b6123e0565b80519091508214610da557805160405163086e561f60e21b815261070d918491600401918252602082015260400190565b602081015151806001600160401b03811115610dc357610dc36119cc565b604051908082528060200260200182016040528015610dfc57816020015b610de9611943565b815260200190600190039081610de15790505b5095505f5b81811015610e5457610e2f83602001518281518110610e2257610e226124ce565b60200260200101516115a5565b878281518110610e4157610e416124ce565b6020908102919091010152600101610e01565b50886002811115610e6757610e67611c6f565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610e9a9190611e6d565b60408051601f1981840301815290829052610eb592916124e2565b60405180910390a2505050505095945050505050565b610ed3611357565b81610ef1576040516341a463a560e01b815260040160405180910390fd5b8160015f856002811115610f0757610f07611c6f565b6002811115610f1857610f18611c6f565b81526020019081526020015f205f015403610f4a578282604051633cf7da7760e21b815260040161070d9291906124fa565b8160015f856002811115610f6057610f60611c6f565b6002811115610f7157610f71611c6f565b81526020019081526020015f205f01819055508060065f856002811115610f9a57610f9a611c6f565b6002811115610fab57610fab611c6f565b815260208101919091526040015f205581836002811115610fce57610fce611c6f565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b08565b611006611357565b61097e8161174f565b611017611357565b806001600160401b03165f0361104057604051635409e3e760e01b815260040160405180910390fd5b6003805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610b95565b611097611357565b806110b5576040516341a463a560e01b815260040160405180910390fd5b8060015f8460028111156110cb576110cb611c6f565b60028111156110dc576110dc611c6f565b81526020019081526020015f20600101540361110f578181604051633cf7da7760e21b815260040161070d9291906124fa565b8060015f84600281111561112557611125611c6f565b600281111561113657611136611c6f565b815260208101919091526040015f20600101558082600281111561115c5761115c611c6f565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b611190611357565b63389a75e1600c52805f526020600c2080544211156111b657636f5e88185f526004601cfd5b5f905561097e816116dd565b6111ca611357565b8060601b6111df57637448fbae5f526004601cfd5b61097e816116dd565b60605f826001600160401b03811115611203576112036119cc565b60405190808252806020026020018201604052801561122c578160200160208202803683370190505b506004549091505f5b8481101561134d57365f878784818110611251576112516124ce565b90506020028101906112639190612515565b909250905060018483835f8161127b5761127b6124ce565b90506020020135146112c5578483835f81811061129a5761129a6124ce565b9050602002013560405163e4ac496b60e01b815260040161070d929190918252602082015260400190565b60015b8281101561131b5760025f8585848181106112e5576112e56124ce565b602090810292909201358352508101919091526040015f205460ff161561131b5761131160018361256e565b91506001016112c8565b508086858151811061132f5761132f6124ce565b60ff9290921660209283029190910190910152505050600101611235565b5090949350505050565b638b78c6d81954331461096b576382b429005f526004601cfd5b8160015f85600281111561138757611387611c6f565b600281111561139857611398611c6f565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b0390921691909117905581511561141d578060065f8560028111156113fb576113fb611c6f565b600281111561140c5761140c611c6f565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161145093929190612587565b60405180910390a1505050565b5f6114698784846117c2565b9050600187600281111561147f5761147f611c6f565b0361153657806001600160a01b031663ab750e7584848960028a8a6040516114a89291906125cd565b602060405180830381855afa1580156114c3573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906114e691906125dc565b6040518563ffffffff1660e01b8152600401611505949392919061261b565b5f6040518083038186803b15801561151b575f5ffd5b505afa15801561152d573d5f5f3e3d5ffd5b5050505061159c565b600287600281111561154a5761154a611c6f565b036115835760405163020a49e360e51b81526001600160a01b038216906341493c60906115059089908990899089908990600401612641565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6115ad611943565b5f825160038111156115c1576115c1611c6f565b146115ca575090565b816020015160ff165f036115e057506001815290565b5f5b826020015160ff16811015611671575f83606001518281518110611608576116086124ce565b60200260200101519050815f0361164a576004548114611644578360015b9081600381111561163957611639611c6f565b905250929392505050565b50611669565b5f8181526002602052604090205460ff1661166757836002611626565b505b6001016115e2565b505f6103e883604001516116859190612679565b60035490915042906116a0906001600160401b0316836126b2565b6001600160401b03161115806116bf575042816001600160401b031610155b156116cd5750506003815290565b6116d6836118e0565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60048190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610b95565b6001600160a01b03811661177557604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610b95565b5f806117d160048285876126d1565b6117da916126f8565b90505f60055f8760028111156117f2576117f2611c6f565b600281111561180357611803611c6f565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac19810161185b5785826040516253454d60e31b815260040161070d929190612034565b6001600160a01b0381166118ae5760015f87600281111561187e5761187e611c6f565b600281111561188f5761188f611c6f565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b0381166118d75785604051636725e36b60e11b815260040161070d9190612730565b95945050505050565b602081015160ff165b81606001515181101561193f575f8260600151828151811061190d5761190d6124ce565b6020908102919091018101515f908152600290915260409020805460ff191660019081179091559190910190506118e9565b5050565b604080516101208101909152805f81526020015f60ff1681526020015f6001600160401b031681526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b8035600381106119a7575f5ffd5b919050565b5f602082840312156119bc575f5ffd5b6119c582611999565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611a0257611a026119cc565b60405290565b60405161012081016001600160401b0381118282101715611a0257611a026119cc565b604051601f8201601f191681016001600160401b0381118282101715611a5357611a536119cc565b604052919050565b80356001600160a01b03811681146119a7575f5ffd5b5f5f5f83850360a0811215611a84575f5ffd5b611a8d85611999565b93506060601f1982011215611aa0575f5ffd5b50604051606081016001600160401b0381118282101715611ac357611ac36119cc565b604090815260208681013583529086013590820152611ae460608601611a5b565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6119c56020830184611afa565b80356001600160e01b0319811681146119a7575f5ffd5b5f5f60408385031215611b62575f5ffd5b611b6b83611999565b9150611b7960208401611b3a565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610c7c565b5f5f83601f840112611bbc575f5ffd5b5081356001600160401b03811115611bd2575f5ffd5b602083019150836020828501011115611be9575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611c04575f5ffd5b85356001600160401b03811115611c19575f5ffd5b611c2588828901611bac565b9096509450611c38905060208701611999565b925060408601356001600160401b03811115611c52575f5ffd5b611c5e88828901611bac565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60048110611c9357611c93611c6f565b9052565b5f8151808452602084019350602083015f5b82811015611cc7578151865260209586019590910190600101611ca9565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611cc757815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ce3565b611d35828251611c83565b5f6020820151611d4a602085018260ff169052565b506040820151611d6560408501826001600160401b03169052565b5060608201516101206060850152611d81610120850182611c97565b905060808301518482036080860152611d9a8282611afa565b91505060a083015184820360a0860152611db48282611afa565b91505060c083015184820360c0860152611dce8282611afa565b91505060e083015184820360e0860152611de88282611cd1565b9150506101008301518482036101008601526118d78282611afa565b602081525f6119c56020830184611d2a565b5f60208284031215611e26575f5ffd5b5035919050565b5f5f5f60608486031215611e3f575f5ffd5b611e4884611999565b9250611e5660208501611b3a565b9150611e6460408501611a5b565b90509250925092565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611ec457603f19878603018452611eaf858351611d2a565b94506020938401939190910190600101611e93565b50929695505050505050565b5f5f5f60608486031215611ee2575f5ffd5b611eeb84611999565b95602085013595506040909401359392505050565b5f60208284031215611f10575f5ffd5b6119c582611a5b565b80356001600160401b03811681146119a7575f5ffd5b5f60208284031215611f3f575f5ffd5b6119c582611f19565b5f5f60408385031215611f59575f5ffd5b611f6283611999565b946020939093013593505050565b5f5f60208385031215611f81575f5ffd5b82356001600160401b03811115611f96575f5ffd5b8301601f81018513611fa6575f5ffd5b80356001600160401b03811115611fbb575f5ffd5b8560208260051b8401011115611fcf575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561201957835160ff16835260209384019390920191600101611ff8565b509095945050505050565b60038110611c9357611c93611c6f565b604081016120428285612024565b63ffffffff60e01b831660208301529392505050565b8035600481106119a7575f5ffd5b803560ff811681146119a7575f5ffd5b5f6001600160401b0382111561208e5761208e6119cc565b5060051b60200190565b5f82601f8301126120a7575f5ffd5b81356120ba6120b582612076565b611a2b565b8082825260208201915060208360051b8601019250858311156120db575f5ffd5b602085015b838110156120f85780358352602092830192016120e0565b5095945050505050565b5f82601f830112612111575f5ffd5b8135602083015f5f6001600160401b03841115612130576121306119cc565b50601f8301601f191660200161214581611a2b565b915050828152858383011115612159575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f830112612182575f5ffd5b81356121906120b582612076565b808282526020820191506020606084028601019250858311156121b1575f5ffd5b602085015b838110156120f85780870360608112156121ce575f5ffd5b6121d66119e0565b6121df83611f19565b81526040601f19830112156121f2575f5ffd5b6121fa6119e0565b60208401358152915060408301356001600160801b03198116811461221d575f5ffd5b60208381019190915281810192909252845292909201916060016121b6565b5f610120828403121561224d575f5ffd5b612255611a08565b905061226082612058565b815261226e60208301612066565b602082015261227f60408301611f19565b604082015260608201356001600160401b0381111561229c575f5ffd5b6122a884828501612098565b60608301525060808201356001600160401b038111156122c6575f5ffd5b6122d284828501612102565b60808301525060a08201356001600160401b038111156122f0575f5ffd5b6122fc84828501612102565b60a08301525060c08201356001600160401b0381111561231a575f5ffd5b61232684828501612102565b60c08301525060e08201356001600160401b03811115612344575f5ffd5b61235084828501612173565b60e0830152506101008201356001600160401b0381111561236f575f5ffd5b61237b84828501612102565b6101008301525092915050565b5f60208284031215612398575f5ffd5b81356001600160401b038111156123ad575f5ffd5b6123b98482850161223c565b949350505050565b6123cb8184611c83565b604060208201525f6123b96040830184611afa565b5f602082840312156123f0575f5ffd5b81356001600160401b03811115612405575f5ffd5b820160408185031215612416575f5ffd5b61241e6119e0565b8135815260208201356001600160401b0381111561243a575f5ffd5b80830192505084601f83011261244e575f5ffd5b813561245c6120b582612076565b8082825260208201915060208360051b86010192508783111561247d575f5ffd5b602085015b838110156124bd5780356001600160401b0381111561249f575f5ffd5b6124ae8a6020838a010161223c565b84525060209283019201612482565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6123b96040830184611afa565b604081016125088285612024565b8260208301529392505050565b5f5f8335601e1984360301811261252a575f5ffd5b8301803591506001600160401b03821115612543575f5ffd5b6020019150600581901b3603821315611be9575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610c7c57610c7c61255a565b60a081016125958286612024565b6125bf602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f602082840312156125ec575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f61262e6060830186886125f3565b6020830194909452506040015292915050565b858152606060208201525f61265a6060830186886125f3565b828103604084015261266d8185876125f3565b98975050505050505050565b5f6001600160401b0383168061269d57634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610c7c57610c7c61255a565b5f5f858511156126df575f5ffd5b838611156126eb575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015612729576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610c7c828461202456fea2646970667358221220b0be530db464e0d66efa25996e5f99d3c1afc8e52606aa2f18756a3cadf514a464736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000000140641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000856611ed7e07d83243b15e93f6321f2df68658520000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x13", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "function": "addVerifyRoute(uint8,bytes4,address)", "arguments": [ "1", "0x242f9d5b", "0x5492E1ecd7867AeAd78464EbD5def30F96d462ba" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "gas": "0x1097f", "value": "0x0", "input": "0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "nonce": "0x14", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x5cbfe9", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x00b5ff21775f2a77d33f4a7ca389ba1d4316de4a9d689db7c1b6b29cc77f5e2b", "transactionIndex": "0x15", "blockHash": "0x95de3773c283be674b2ba523b98e907d12c98fa589ac1de46fd03d95bd2c4c91", "blockNumber": "0x26b7e3", "gasUsed": "0xf66b5", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x5492e1ecd7867aead78464ebd5def30f96d462ba" }, { "status": "0x1", "cumulativeGasUsed": "0x48ae4a", "logs": [ { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "blockTimestamp": "0x69ce62bc", "transactionHash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionIndex": "0x1a", "logIndex": "0x12", "removed": false }, { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8" ], "data": "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "blockTimestamp": "0x69ce62bc", "transactionHash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionIndex": "0x1a", "logIndex": "0x13", "removed": false }, { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "blockTimestamp": "0x69ce62bc", "transactionHash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionIndex": "0x1a", "logIndex": "0x14", "removed": false }, { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "blockTimestamp": "0x69ce62bc", "transactionHash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionIndex": "0x1a", "logIndex": "0x15", "removed": false } ], "logsBloom": "0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000000000020000000000000000000020000000001000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001100000000000008000008000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000400000000000000000", "type": "0x2", "transactionHash": "0x330bb4f6ab6a26aaa97a800799ca62766a28d015aed3fb6c8c1fb0b42404c4ec", "transactionIndex": "0x1a", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "gasUsed": "0x24b95a", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9" }, { "status": "0x1", "cumulativeGasUsed": "0x496e82", "logs": [ { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x242f9d5b00000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "blockTimestamp": "0x69ce62bc", "transactionHash": "0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff", "transactionIndex": "0x1b", "logIndex": "0x16", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000008000040000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000100000000000001000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xa16c06f168dccea6cd55878a494659ce225a7e7eedfde107b84a52171514c5ff", "transactionIndex": "0x1b", "blockHash": "0xcc40afe76b11b2c4565fda670a8181edd2037d405ad20c1aa2652a8a15c62745", "blockNumber": "0x26b7e4", "gasUsed": "0xc038", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775133374708, "chain": 560048, "commit": "589455d" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/records/SetupNitroEnclaveVerifier.s.sol/560048/run-1775133542995.json ================================================ { "transactions": [ { "hash": "0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "function": "setProofSubmitter(address)", "arguments": [ "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "gas": "0xac45", "value": "0x0", "input": "0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "nonce": "0x23", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "function": "transferOwnership(address)", "arguments": [ "0x856611eD7E07D83243b15E93f6321f2df6865852" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "gas": "0x99c9", "value": "0x0", "input": "0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852", "nonce": "0x24", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x27e457", "logs": [ { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "blockHash": "0xa3c85ed85e19135fa7d673f54e8a3f3038da76f3a1abae7c0062f1c2580b4397", "blockNumber": "0x26b7f1", "blockTimestamp": "0x69ce6358", "transactionHash": "0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f", "transactionIndex": "0x8", "logIndex": "0x16", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x7f7c0ababd79917edba85e9de3679fd8fb12027f77dfaf02ef4709e4e02fa45f", "transactionIndex": "0x8", "blockHash": "0xa3c85ed85e19135fa7d673f54e8a3f3038da76f3a1abae7c0062f1c2580b4397", "blockNumber": "0x26b7f1", "gasUsed": "0x75cb", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x1461b0", "logs": [ { "address": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x5a60656159305736db02a7d2a4f035bc468553e46afa27d5f763bdc3ef4985cb", "blockNumber": "0x26b7f2", "blockTimestamp": "0x69ce6364", "transactionHash": "0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56", "transactionIndex": "0x3", "logIndex": "0xb", "removed": false } ], "logsBloom": "0x00000000000400000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000000000000000000000000000000000000000001000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000100000000000008000008000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000", "type": "0x2", "transactionHash": "0xf7d0b3156c30f0147c839173bb12c8129d305ae36c417824c87d6bd4668acc56", "transactionIndex": "0x3", "blockHash": "0x5a60656159305736db02a7d2a4f035bc468553e46afa27d5f763bdc3ef4985cb", "blockNumber": "0x26b7f2", "gasUsed": "0x6f57", "effectiveGasPrice": "0x180e611", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x5ed42a8eb9e1f0b466047c02156d894968d42ff9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1775133542995, "chain": 560048, "commit": "589455d" } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/script/ActivateMultiproofStack.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {GameType, Hash, Proposal} from "@base-contracts/src/dispute/lib/Types.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; import {DelayedWETH} from "@base-contracts/src/dispute/DelayedWETH.sol"; import {OptimismPortal2} from "@base-contracts/src/L1/OptimismPortal2.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; interface IProxyAdmin { function upgrade(address proxy, address implementation) external; function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable; } interface IProxy { function implementation() external view returns (address); } interface IDisputeGameFactoryAdmin { function owner() external view returns (address); function gameImpls(GameType gameType) external view returns (address); function initBonds(GameType gameType) external view returns (uint256); function setImplementation(GameType gameType, address impl, bytes calldata args) external; function setInitBond(GameType gameType, uint256 initBond) external; } contract ActivateMultiproofStack is MultisigScript { address internal ownerSafeEnv; address internal proxyAdminEnv; address internal systemConfigEnv; address internal optimismPortalEnv; address internal disputeGameFactoryProxyEnv; address internal anchorStateRegistryProxyEnv; uint32 internal gameTypeEnv; uint256 internal initBondEnv; bytes32 internal startingAnchorRootEnv; uint256 internal startingAnchorL2BlockNumberEnv; // TEE registry parameters (used for post-check validation; proxies are initialized // at deploy time in DeployMultiproofStack). address internal teeProverRegistryOwnerEnv; address internal teeProverRegistryManagerEnv; address internal proposerEnv; address internal challengerEnv; // Addresses from the facilitator deploy step (addresses.json). address internal newAggregateVerifier; address internal newOptimismPortalImpl; address internal newDgfImpl; address internal newAsrImpl; address internal newTeeProverRegistryImpl; address internal newTeeProverRegistryProxy; address internal newDelayedWethImpl; address internal newDelayedWethProxy; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); optimismPortalEnv = vm.envAddress("OPTIMISM_PORTAL"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); gameTypeEnv = uint32(vm.envUint("GAME_TYPE")); initBondEnv = vm.envUint("INIT_BOND"); startingAnchorRootEnv = vm.envBytes32("STARTING_ANCHOR_ROOT"); startingAnchorL2BlockNumberEnv = vm.envUint("STARTING_ANCHOR_L2_BLOCK_NUMBER"); teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); teeProverRegistryManagerEnv = vm.envAddress("TEE_PROVER_REGISTRY_MANAGER"); proposerEnv = vm.envAddress("PROPOSER"); challengerEnv = vm.envAddress("CHALLENGER"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); newAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); newOptimismPortalImpl = vm.parseJsonAddress({json: json, key: ".optimismPortal2Impl"}); newDgfImpl = vm.parseJsonAddress({json: json, key: ".disputeGameFactoryImpl"}); newAsrImpl = vm.parseJsonAddress({json: json, key: ".anchorStateRegistryImpl"}); newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: ".teeProverRegistryImpl"}); newTeeProverRegistryProxy = vm.parseJsonAddress({json: json, key: ".teeProverRegistryProxy"}); newDelayedWethImpl = vm.parseJsonAddress({json: json, key: ".delayedWETHImpl"}); newDelayedWethProxy = vm.parseJsonAddress({json: json, key: ".delayedWETHProxy"}); // Sanity-check that the executing Safe holds the roles required by the non-ProxyAdmin calls // that remain in this batch. require( IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, "DGF owner != PROXY_ADMIN_OWNER: setImplementation/setInitBond will revert" ); require( ISystemConfig(systemConfigEnv).guardian() == ownerSafeEnv, "Guardian != PROXY_ADMIN_OWNER: updateRetirementTimestamp will revert" ); } /// @dev Builds the ordered batch of calls executed atomically by the owner Safe. /// Ordering constraints: /// - Proxy upgrades must precede any call that depends on new impl logic. /// - The AnchorStateRegistry reinitializer runs before `setImplementation`, but this is /// still safe because the batch executes atomically and no external caller can observe /// the intermediate state where the respected game type has been updated before the /// new DisputeGameFactory implementation is registered. /// - `updateRetirementTimestamp` retires old games after all wiring is done. /// /// Note: TEEProverRegistry and DelayedWETH proxies are already initialized at deploy /// time (in DeployMultiproofStack) and do not require wiring in this batch. /// /// Call summary: /// 0. Upgrade OptimismPortal2 proxy. /// 1. Upgrade DisputeGameFactory proxy. /// 2. Upgrade + reinitialize AnchorStateRegistry proxy (sets respectedGameType). /// 3. Register AggregateVerifier in the DisputeGameFactory. /// 4. Set the init bond for the multiproof game type. /// 5. Retire pre-cutover games. function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](6); // 0. Upgrade the OptimismPortal2 proxy to the new implementation. calls[0] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall(IProxyAdmin.upgrade, (optimismPortalEnv, newOptimismPortalImpl)), value: 0 }); // 1. Upgrade the DisputeGameFactory proxy to the new implementation. calls[1] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall(IProxyAdmin.upgrade, (disputeGameFactoryProxyEnv, newDgfImpl)), value: 0 }); // 2. Upgrade the AnchorStateRegistry proxy and reinitialize to seed the starting anchor root, // wire the DGF dependency, and set the respected game type. calls[2] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, ( anchorStateRegistryProxyEnv, newAsrImpl, abi.encodeCall( AnchorStateRegistry.initialize, ( ISystemConfig(systemConfigEnv), IDisputeGameFactory(disputeGameFactoryProxyEnv), Proposal({ root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv }), GameType.wrap(gameTypeEnv) ) ) ) ), value: 0 }); // 3. Register the newly deployed AggregateVerifier as the implementation for the configured multiproof // game type in the DisputeGameFactory. calls[3] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall( IDisputeGameFactoryAdmin.setImplementation, (GameType.wrap(gameTypeEnv), newAggregateVerifier, "") ), value: 0 }); // 4. Set the init bond required to create games of the new multiproof type. calls[4] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactoryAdmin.setInitBond, (GameType.wrap(gameTypeEnv), initBondEnv)), value: 0 }); // 5. Retire any pre-cutover games so older disputes cannot remain respected // after the new multiproof configuration is activated. calls[5] = Call({ operation: Enum.Operation.Call, target: anchorStateRegistryProxyEnv, data: abi.encodeCall(AnchorStateRegistry.updateRetirementTimestamp, ()), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { _checkProxyUpgrades(); _checkAnchorStateRegistry(); _checkTeeProverRegistryProxy(); _checkDelayedWethProxy(); _checkDisputeGameFactory(); } /// @dev Validates that every existing L1 proxy now points to its new implementation. /// 1. Check that OptimismPortal2 proxy implementation equals the deployed impl. /// 2. Check that DisputeGameFactory proxy implementation equals the deployed impl. /// 3. Check that AnchorStateRegistry proxy implementation equals the deployed impl. function _checkProxyUpgrades() internal { vm.prank(proxyAdminEnv); require(IProxy(optimismPortalEnv).implementation() == newOptimismPortalImpl, "portal impl mismatch"); vm.prank(proxyAdminEnv); require(IProxy(disputeGameFactoryProxyEnv).implementation() == newDgfImpl, "dgf impl mismatch"); vm.prank(proxyAdminEnv); require(IProxy(anchorStateRegistryProxyEnv).implementation() == newAsrImpl, "asr impl mismatch"); } /// @dev Validates the AnchorStateRegistry reinitialization and cutover state. /// 1. Check that systemConfig matches the .env value. /// 2. Check that disputeGameFactory matches the .env value. /// 3. Check that startingAnchorRoot matches the .env value. /// 4. Check that the starting L2 sequence number matches the .env value. /// 5. Check that respectedGameType is set to the multiproof game type. /// 6. Check that retirementTimestamp equals block.timestamp. /// 7. Check that OptimismPortal2 still references this ASR proxy. function _checkAnchorStateRegistry() internal view { AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv); require(address(asr.systemConfig()) == systemConfigEnv, "asr system config mismatch"); require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, "asr dgf mismatch"); Proposal memory startingAnchor = asr.getStartingAnchorRoot(); require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, "anchor root mismatch"); require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, "anchor block mismatch"); require(GameType.unwrap(asr.respectedGameType()) == gameTypeEnv, "respected game type mismatch"); require(asr.retirementTimestamp() == uint64(block.timestamp), "retirement timestamp mismatch"); require( address(OptimismPortal2(payable(optimismPortalEnv)).anchorStateRegistry()) == anchorStateRegistryProxyEnv, "portal asr mismatch" ); } /// @dev Validates the TEEProverRegistry proxy (initialized at deploy time in DeployMultiproofStack). /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER. /// 3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER. /// 4. Check that gameType is set to the multiproof game type. /// 5. Check that PROPOSER is flagged as valid. /// 6. Check that the challenger is flagged as valid. function _checkTeeProverRegistryProxy() internal { vm.prank(proxyAdminEnv); require( IProxy(newTeeProverRegistryProxy).implementation() == newTeeProverRegistryImpl, "tee registry impl mismatch" ); TEEProverRegistry registry = TEEProverRegistry(newTeeProverRegistryProxy); require(registry.owner() == teeProverRegistryOwnerEnv, "tee registry owner mismatch"); require(registry.manager() == teeProverRegistryManagerEnv, "tee registry manager mismatch"); require(GameType.unwrap(registry.gameType()) == gameTypeEnv, "tee registry game type mismatch"); require(registry.isValidProposer(proposerEnv), "tee registry proposer mismatch"); require(registry.isValidProposer(challengerEnv), "tee registry challenger mismatch"); } /// @dev Validates the DelayedWETH proxy (initialized at deploy time in DeployMultiproofStack). /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that systemConfig is initialized to the existing SystemConfig. function _checkDelayedWethProxy() internal { vm.prank(proxyAdminEnv); require(IProxy(newDelayedWethProxy).implementation() == newDelayedWethImpl, "delayed weth impl mismatch"); require( address(DelayedWETH(payable(newDelayedWethProxy)).systemConfig()) == systemConfigEnv, "delayed weth systemConfig mismatch" ); } /// @dev Validates the DisputeGameFactory configuration for the new multiproof game type. /// 1. Check that the game implementation is set to the deployed AggregateVerifier. /// 2. Check that the init bond matches the .env value. function _checkDisputeGameFactory() internal view { IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv); require(dgf.gameImpls(GameType.wrap(gameTypeEnv)) == newAggregateVerifier, "game impl mismatch"); require(dgf.initBonds(GameType.wrap(gameTypeEnv)) == initBondEnv, "init bond mismatch"); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/script/DeployCBMulticall.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; contract DeployCBMulticall is Script { bytes32 internal constant SALT = bytes32(uint256(1)); address internal constant EXPECTED_CB_MULTICALL = 0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303; function run() external { bytes memory initCode = _canonicalInitCode(); vm.assertEq( vm.computeCreate2Address({salt: SALT, initCodeHash: keccak256(initCode), deployer: CREATE2_FACTORY}), EXPECTED_CB_MULTICALL, "canonical init code does not map to expected address" ); if (EXPECTED_CB_MULTICALL.code.length > 0) { console.log("CBMulticall already deployed:", EXPECTED_CB_MULTICALL); return; } vm.startBroadcast(); (bool ok,) = CREATE2_FACTORY.call(abi.encodePacked(SALT, initCode)); require(ok, "CREATE2 deploy failed"); vm.stopBroadcast(); require(EXPECTED_CB_MULTICALL.code.length > 0, "deployment missing code"); console.log("CBMulticall deployed at:", EXPECTED_CB_MULTICALL); } // Canonical CBMulticall initcode verified identical on Ethereum mainnet and Sepolia. // Source: base-contracts CBMulticall.sol compiled with solc 0.8.15. function _canonicalInitCode() internal pure returns (bytes memory) { return hex"60a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033"; } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/script/DeployMultiproofStack.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {INitroEnclaveVerifier} from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {DelayedWETH} from "@base-contracts/src/dispute/DelayedWETH.sol"; import {DisputeGameFactory} from "@base-contracts/src/dispute/DisputeGameFactory.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; import {OptimismPortal2} from "@base-contracts/src/L1/OptimismPortal2.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {MockVerifier} from "@base-contracts/src/multiproof/mocks/MockVerifier.sol"; import {Proxy} from "@base-contracts/src/universal/Proxy.sol"; interface IProxy { function implementation() external view returns (address); } contract DeployMultiproofStack is Script { // Existing Hoodi L1 dependencies consumed by the deploy. address internal l1ProxyAdminEnv; address internal anchorStateRegistryProxyEnv; address internal disputeGameFactoryProxyEnv; // Multiproof identity and chain-level parameters. uint32 internal gameTypeEnv; bytes32 internal teeImageHashEnv; bytes32 internal zkRangeHashEnv; bytes32 internal zkAggregateHashEnv; bytes32 internal configHashEnv; uint256 internal l2ChainIdEnv; uint256 internal blockIntervalEnv; uint256 internal intermediateBlockIntervalEnv; uint256 internal proofThresholdEnv; // Delay / timing parameters for the newly deployed implementations. uint256 internal proofMaturityDelaySecondsEnv; uint256 internal disputeGameFinalityDelaySecondsEnv; uint256 internal delayedWethDelaySecondsEnv; // Proxy initialization parameters (TEEProverRegistry + DelayedWETH). address internal systemConfigEnv; address internal teeProverRegistryOwnerEnv; address internal teeProverRegistryManagerEnv; address internal proposerEnv; address internal challengerEnv; // Predeployed RISC Zero / Nitro contracts consumed by this task. address public nitroEnclaveVerifier; // Freshly deployed contracts / implementations produced by this task. address public teeProverRegistryImpl; address public teeProverRegistryProxy; address public teeVerifier; address public zkVerifier; address public delayedWethImpl; address public delayedWethProxy; address public aggregateVerifier; address public optimismPortal2Impl; address public disputeGameFactoryImpl; address public anchorStateRegistryImpl; function setUp() public { // Existing Hoodi L1 dependencies consumed by the deploy. l1ProxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); // Multiproof identity and chain-level parameters. gameTypeEnv = uint32(vm.envUint("GAME_TYPE")); teeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); zkAggregateHashEnv = vm.envBytes32("ZK_AGGREGATE_HASH"); configHashEnv = vm.envBytes32("CONFIG_HASH"); l2ChainIdEnv = vm.envUint("L2_CHAIN_ID"); blockIntervalEnv = vm.envUint("BLOCK_INTERVAL"); intermediateBlockIntervalEnv = vm.envUint("INTERMEDIATE_BLOCK_INTERVAL"); proofThresholdEnv = vm.envUint("PROOF_THRESHOLD"); // Delay / timing parameters for the newly deployed implementations. proofMaturityDelaySecondsEnv = vm.envUint("PROOF_MATURITY_DELAY_SECONDS"); disputeGameFinalityDelaySecondsEnv = vm.envUint("DISPUTE_GAME_FINALITY_DELAY_SECONDS"); delayedWethDelaySecondsEnv = vm.envUint("DELAYED_WETH_DELAY_SECONDS"); // Proxy initialization parameters (TEEProverRegistry + DelayedWETH). systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); teeProverRegistryManagerEnv = vm.envAddress("TEE_PROVER_REGISTRY_MANAGER"); proposerEnv = vm.envAddress("PROPOSER"); challengerEnv = vm.envAddress("CHALLENGER"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); } function run() external { vm.startBroadcast(); // 0. Deploy the TEE prover registry implementation. teeProverRegistryImpl = address( new TEEProverRegistry({ nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier), factory: IDisputeGameFactory(disputeGameFactoryProxyEnv) }) ); // 1. Deploy the DelayedWETH implementation. delayedWethImpl = address(new DelayedWETH({_delay: delayedWethDelaySecondsEnv})); // 2. Deploy proxies with msg.sender as admin, initialize immediately, // then transfer admin to the real ProxyAdmin. { // 2a. TEEProverRegistry proxy: deploy, upgradeToAndCall to initialize // with the configured owner/manager/proposers/gameType, then hand // the proxy admin to the real ProxyAdmin. address[] memory initialProposers = new address[](2); initialProposers[0] = proposerEnv; initialProposers[1] = challengerEnv; Proxy teeProxy = new Proxy(msg.sender); teeProxy.upgradeToAndCall( teeProverRegistryImpl, abi.encodeCall( TEEProverRegistry.initialize, (teeProverRegistryOwnerEnv, teeProverRegistryManagerEnv, initialProposers, GameType.wrap(gameTypeEnv)) ) ); teeProxy.changeAdmin(l1ProxyAdminEnv); teeProverRegistryProxy = address(teeProxy); } { // 2b. DelayedWETH proxy: deploy, upgradeToAndCall to initialize with // the existing SystemConfig, then hand the proxy admin to the real // ProxyAdmin. Proxy wethProxy = new Proxy(msg.sender); wethProxy.upgradeToAndCall( delayedWethImpl, abi.encodeCall(DelayedWETH.initialize, (ISystemConfig(systemConfigEnv))) ); wethProxy.changeAdmin(l1ProxyAdminEnv); delayedWethProxy = address(wethProxy); } // 3. Deploy the stateless TEE verifier. teeVerifier = address( new TEEVerifier({ teeProverRegistry: TEEProverRegistry(teeProverRegistryProxy), anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv) }) ); // 4. Deploy the temporary mock ZK verifier used by the AggregateVerifier template. zkVerifier = address(new MockVerifier({anchorStateRegistry: IAnchorStateRegistry(anchorStateRegistryProxyEnv)})); // 5. Deploy the multiproof AggregateVerifier template. aggregateVerifier = address( new AggregateVerifier({ gameType_: GameType.wrap(gameTypeEnv), anchorStateRegistry_: IAnchorStateRegistry(anchorStateRegistryProxyEnv), delayedWETH: IDelayedWETH(payable(delayedWethProxy)), teeVerifier: TEEVerifier(teeVerifier), zkVerifier: MockVerifier(zkVerifier), teeImageHash: teeImageHashEnv, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}), configHash: configHashEnv, l2ChainId: l2ChainIdEnv, blockInterval: blockIntervalEnv, intermediateBlockInterval: intermediateBlockIntervalEnv, proofThreshold: proofThresholdEnv }) ); // 6. Deploy the new implementations for existing L1 proxies. optimismPortal2Impl = address(new OptimismPortal2({_proofMaturityDelaySeconds: proofMaturityDelaySecondsEnv})); disputeGameFactoryImpl = address(new DisputeGameFactory()); anchorStateRegistryImpl = address(new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: disputeGameFinalityDelaySecondsEnv})); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal { _checkTeeProverRegistryImpl(); _checkTeeProverRegistryProxy(); _checkTeeVerifier(); _checkMockVerifier(); _checkDelayedWethImpl(); _checkDelayedWethProxy(); _checkAggregateVerifier(); _checkUpgradeTargetImpls(); } /// @dev Validates the TEEProverRegistry **implementation** contract. /// 1. Check that NITRO_VERIFIER points to the deployed NitroEnclaveVerifier. /// 2. Check that DISPUTE_GAME_FACTORY points to the existing DGF proxy. function _checkTeeProverRegistryImpl() internal view { TEEProverRegistry impl = TEEProverRegistry(teeProverRegistryImpl); require(address(impl.NITRO_VERIFIER()) == nitroEnclaveVerifier, "registry nitro verifier mismatch"); require(address(impl.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, "registry dgf mismatch"); } /// @dev Validates the TEEProverRegistry proxy after upgradeToAndCall. /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that owner is set to TEE_PROVER_REGISTRY_OWNER. /// 3. Check that manager is set to TEE_PROVER_REGISTRY_MANAGER. /// 4. Check that gameType is set to the multiproof game type. /// 5. Check that PROPOSER is flagged as valid. /// 6. Check that CHALLENGER is flagged as valid. function _checkTeeProverRegistryProxy() internal { vm.prank(l1ProxyAdminEnv); require( IProxy(teeProverRegistryProxy).implementation() == teeProverRegistryImpl, "tee registry impl mismatch" ); TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryProxy); require(registry.owner() == teeProverRegistryOwnerEnv, "tee registry owner mismatch"); require(registry.manager() == teeProverRegistryManagerEnv, "tee registry manager mismatch"); require(GameType.unwrap(registry.gameType()) == gameTypeEnv, "tee registry game type mismatch"); require(registry.isValidProposer(proposerEnv), "tee registry proposer mismatch"); require(registry.isValidProposer(challengerEnv), "tee registry challenger mismatch"); } /// @dev Validates the TEEVerifier contract. This is a stateless verifier whose /// immutables must reference the correct registry proxy and ASR proxy. /// 1. Check that TEE_PROVER_REGISTRY points to the deployed TEEProverRegistry proxy. /// 2. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy. function _checkTeeVerifier() internal view { require( address(TEEVerifier(teeVerifier).TEE_PROVER_REGISTRY()) == teeProverRegistryProxy, "tee verifier registry mismatch" ); require( address(TEEVerifier(teeVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv, "tee verifier asr mismatch" ); } /// @dev Validates the MockVerifier used as the temporary ZK verifier placeholder. /// 1. Check that ANCHOR_STATE_REGISTRY points to the existing ASR proxy. function _checkMockVerifier() internal view { require( address(MockVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv, "mock verifier asr mismatch" ); } /// @dev Validates the DelayedWETH **implementation** contract. /// 1. Check that delay matches DELAYED_WETH_DELAY_SECONDS. function _checkDelayedWethImpl() internal view { require( DelayedWETH(payable(delayedWethImpl)).delay() == delayedWethDelaySecondsEnv, "delayed weth delay mismatch" ); } /// @dev Validates the DelayedWETH proxy after upgradeToAndCall. /// 1. Check that the proxy implementation is set to the deployed impl. /// 2. Check that systemConfig is initialized to the existing SystemConfig. function _checkDelayedWethProxy() internal { vm.prank(l1ProxyAdminEnv); require(IProxy(delayedWethProxy).implementation() == delayedWethImpl, "delayed weth impl mismatch"); require( address(DelayedWETH(payable(delayedWethProxy)).systemConfig()) == systemConfigEnv, "delayed weth systemConfig mismatch" ); } /// @dev Validates the AggregateVerifier template that the DisputeGameFactory will clone for new games. /// 1. Check that gameType matches the .env value. /// 2. Check that anchorStateRegistry points to the existing ASR proxy. /// 3. Check that DISPUTE_GAME_FACTORY is derived from the ASR's disputeGameFactory(). /// 4. Check that DELAYED_WETH points to the deployed DelayedWETH proxy. /// 5. Check that TEE_VERIFIER points to the deployed TEEVerifier. /// 6. Check that ZK_VERIFIER points to the deployed MockVerifier. /// 7. Check that TEE_IMAGE_HASH matches the .env value. /// 8. Check that ZK_RANGE_HASH matches the .env value. /// 9. Check that ZK_AGGREGATE_HASH matches the .env value. /// 10. Check that CONFIG_HASH matches the .env value. /// 11. Check that L2_CHAIN_ID matches the .env value. /// 12. Check that BLOCK_INTERVAL matches the .env value. /// 13. Check that INTERMEDIATE_BLOCK_INTERVAL matches the .env value. /// 14. Check that PROOF_THRESHOLD matches the .env value. function _checkAggregateVerifier() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == gameTypeEnv, "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == anchorStateRegistryProxyEnv, "aggregate asr mismatch"); require(address(av.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, "aggregate dgf mismatch"); require(address(av.DELAYED_WETH()) == delayedWethProxy, "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == teeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == zkVerifier, "aggregate zk verifier mismatch"); require(av.TEE_IMAGE_HASH() == teeImageHashEnv, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHashEnv, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == configHashEnv, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == l2ChainIdEnv, "aggregate l2 chain mismatch"); require(av.BLOCK_INTERVAL() == blockIntervalEnv, "aggregate block interval mismatch"); require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockIntervalEnv, "aggregate intermediate mismatch"); require(av.PROOF_THRESHOLD() == proofThresholdEnv, "aggregate proof threshold mismatch"); } /// @dev Validates the new implementations for the existing L1 proxies. /// 1. Check that OptimismPortal2 proofMaturityDelaySeconds matches the .env value. /// 2. Check that AnchorStateRegistry disputeGameFinalityDelaySeconds matches the .env value. function _checkUpgradeTargetImpls() internal view { require( OptimismPortal2(payable(optimismPortal2Impl)).proofMaturityDelaySeconds() == proofMaturityDelaySecondsEnv, "portal delay mismatch" ); require( AnchorStateRegistry(anchorStateRegistryImpl).disputeGameFinalityDelaySeconds() == disputeGameFinalityDelaySecondsEnv, "asr finality delay mismatch" ); } function _writeAddresses() internal { // Emit addresses for operator visibility and persist them for the upgrade script. console.log("NitroEnclaveVerifier:", nitroEnclaveVerifier); console.log("TEEProverRegistry impl:", teeProverRegistryImpl); console.log("TEEProverRegistry proxy:", teeProverRegistryProxy); console.log("TEEVerifier:", teeVerifier); console.log("Mock ZKVerifier:", zkVerifier); console.log("DelayedWETH impl:", delayedWethImpl); console.log("DelayedWETH proxy:", delayedWethProxy); console.log("AggregateVerifier:", aggregateVerifier); console.log("OptimismPortal2 impl:", optimismPortal2Impl); console.log("DisputeGameFactory impl (no init bump required):", disputeGameFactoryImpl); console.log("AnchorStateRegistry impl:", anchorStateRegistryImpl); _writeAddress({key: "nitroEnclaveVerifier", value: nitroEnclaveVerifier}); _writeAddress({key: "teeProverRegistryImpl", value: teeProverRegistryImpl}); _writeAddress({key: "teeProverRegistryProxy", value: teeProverRegistryProxy}); _writeAddress({key: "teeVerifier", value: teeVerifier}); _writeAddress({key: "zkVerifier", value: zkVerifier}); _writeAddress({key: "delayedWETHImpl", value: delayedWethImpl}); _writeAddress({key: "delayedWETHProxy", value: delayedWethProxy}); _writeAddress({key: "aggregateVerifier", value: aggregateVerifier}); _writeAddress({key: "optimismPortal2Impl", value: optimismPortal2Impl}); _writeAddress({key: "disputeGameFactoryImpl", value: disputeGameFactoryImpl}); _writeAddress({key: "anchorStateRegistryImpl", value: anchorStateRegistryImpl}); } function _writeAddress(string memory key, address value) internal { vm.writeJson({json: vm.toString(value), path: "addresses.json", valueKey: string.concat(".", key)}); } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/script/DeployNitroVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Script, console} from "forge-std/Script.sol"; import { INitroEnclaveVerifier, ZkCoProcessorConfig, ZkCoProcessorType } from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {IRiscZeroVerifier} from "lib/risc0-ethereum/contracts/src/IRiscZeroVerifier.sol"; import {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from "lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; contract DeployNitroVerifier is Script { address internal teeProverRegistryOwnerEnv; uint64 internal nitroInitialMaxTimeDiffSecondsEnv; bytes32 internal nitroInitialRootCertEnv; address internal riscZeroVerifierRouterEnv; bytes32 internal riscZeroSetBuilderImageIdEnv; bytes32 internal nitroZkVerifierIdEnv; address public riscZeroSetVerifier; address public nitroEnclaveVerifier; function setUp() public { teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); nitroInitialMaxTimeDiffSecondsEnv = uint64(vm.envUint("NITRO_INITIAL_MAX_TIME_DIFF_SECONDS")); nitroInitialRootCertEnv = vm.envBytes32("NITRO_INITIAL_ROOT_CERT"); riscZeroVerifierRouterEnv = vm.envAddress("RISC0_VERIFIER_ROUTER"); riscZeroSetBuilderImageIdEnv = vm.envBytes32("RISC0_SET_BUILDER_IMAGE_ID"); nitroZkVerifierIdEnv = vm.envBytes32("NITRO_ZK_VERIFIER_ID"); } function run() external { bytes32[] memory trustedCerts = new bytes32[](0); vm.startBroadcast(); riscZeroSetVerifier = address( new RiscZeroSetVerifier({ verifier: IRiscZeroVerifier(riscZeroVerifierRouterEnv), imageId: riscZeroSetBuilderImageIdEnv, _imageUrl: "https://gateway.pinata.cloud/ipfs/bafybeicclqbjn5ief3ycqif6wv3n3wr43szv2locrmml5h7d4fkrz4jrum" }) ); nitroEnclaveVerifier = address( new NitroEnclaveVerifier({ owner: msg.sender, initialMaxTimeDiff: nitroInitialMaxTimeDiffSecondsEnv, initializeTrustedCerts: trustedCerts, initialRootCert: nitroInitialRootCertEnv, initialProofSubmitter: teeProverRegistryOwnerEnv, zkCoProcessor: ZkCoProcessorType.RiscZero, config: ZkCoProcessorConfig({ verifierId: nitroZkVerifierIdEnv, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouterEnv }), verifierProofId: bytes32(0) }) ); // Wire the selector-specific route that sends RISC Zero set-inclusion proofs // to the dedicated local RiscZeroSetVerifier. Ownership is retained by msg.sender // so that SetupNitroEnclaveVerifier can call setProofSubmitter after the // TEEProverRegistry proxy is deployed, then transfer ownership to the multisig. NitroEnclaveVerifier(nitroEnclaveVerifier).addVerifyRoute( ZkCoProcessorType.RiscZero, RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv), riscZeroSetVerifier ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { _checkRiscZeroSetVerifier(); _checkNitroEnclaveVerifier(); } /// @dev Validates the local RISC Zero set verifier deployment. /// 1. Check that VERIFIER points to the configured external router. /// 2. Check that SELECTOR matches the configured set-builder image ID. function _checkRiscZeroSetVerifier() internal view { RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouterEnv, "set verifier router mismatch"); require(setVerifier.SELECTOR() == setVerifierSelector, "set verifier selector mismatch"); } /// @dev Validates the NitroEnclaveVerifier deployment after route wiring. /// Ownership remains with the deployer (msg.sender) at this stage; it will be /// transferred to TEE_PROVER_REGISTRY_OWNER in SetupNitroEnclaveVerifier after /// setProofSubmitter is called. /// 1. Check that maxTimeDiff matches NITRO_INITIAL_MAX_TIME_DIFF_SECONDS. /// 2. Check that rootCert matches NITRO_INITIAL_ROOT_CERT. /// 3. Check that proofSubmitter is the temporary owner placeholder. /// 4. Check that the default RISC Zero config points at the external router /// and configured Nitro verifier image ID. /// 5. Check that the verifier proof ID is zero for the default route. /// 6. Check that the set-verifier selector route now points to the deployed /// RiscZeroSetVerifier (wired via addVerifyRoute at deploy time). function _checkNitroEnclaveVerifier() internal view { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(nev.maxTimeDiff() == nitroInitialMaxTimeDiffSecondsEnv, "nitro max time diff mismatch"); require(nev.rootCert() == nitroInitialRootCertEnv, "nitro root cert mismatch"); require(nev.proofSubmitter() == teeProverRegistryOwnerEnv, "nitro placeholder submitter mismatch"); ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero); require(cfg.verifierId == nitroZkVerifierIdEnv, "nitro verifier id mismatch"); require(cfg.aggregatorId == bytes32(0), "nitro aggregator id mismatch"); require(cfg.zkVerifier == riscZeroVerifierRouterEnv, "nitro router mismatch"); require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), "nitro verifier proof id mismatch"); require( INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector) == riscZeroSetVerifier, "nitro set-verifier route mismatch" ); } function _writeAddresses() internal { console.log("RiscZeroSetVerifier:", riscZeroSetVerifier); console.log("NitroEnclaveVerifier:", nitroEnclaveVerifier); console.log("RiscZeroVerifierRouter:", riscZeroVerifierRouterEnv); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "riscZeroSetVerifier", value: riscZeroSetVerifier}); json = vm.serializeAddress({objectKey: root, valueKey: "nitroEnclaveVerifier", value: nitroEnclaveVerifier}); json = vm.serializeAddress({ objectKey: root, valueKey: "riscZeroVerifierRouter", value: riscZeroVerifierRouterEnv }); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/script/SetupNitroEnclaveVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Script, console} from "forge-std/Script.sol"; import { INitroEnclaveVerifier, ZkCoProcessorConfig, ZkCoProcessorType } from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {RiscZeroSetVerifierLib} from "lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; /// @title SetupNitroEnclaveVerifier /// @notice Executed by the deployer EOA (via Ledger) after DeployMultiproofStack has deployed /// the TEEProverRegistry proxy. Sets the proof submitter to the TEEProverRegistry proxy /// and transfers NitroEnclaveVerifier ownership to the configured multisig owner. contract SetupNitroEnclaveVerifier is Script { address internal teeProverRegistryOwnerEnv; address internal riscZeroVerifierRouterEnv; bytes32 internal riscZeroSetBuilderImageIdEnv; address internal nitroEnclaveVerifier; address internal riscZeroSetVerifier; address internal teeProverRegistryProxy; function setUp() public { teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); riscZeroVerifierRouterEnv = vm.envAddress("RISC0_VERIFIER_ROUTER"); riscZeroSetBuilderImageIdEnv = vm.envBytes32("RISC0_SET_BUILDER_IMAGE_ID"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); riscZeroSetVerifier = vm.parseJsonAddress({json: json, key: ".riscZeroSetVerifier"}); teeProverRegistryProxy = vm.parseJsonAddress({json: json, key: ".teeProverRegistryProxy"}); } function run() external { vm.startBroadcast(); // 0. Set the proof submitter to the TEEProverRegistry proxy so the registry // can submit proofs to the NitroEnclaveVerifier. NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxy); // 1. Transfer ownership to the configured multisig owner now that all // deployer-only configuration is complete. NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv); vm.stopBroadcast(); _postCheck(); } function _postCheck() internal view { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(nev.owner() == teeProverRegistryOwnerEnv, "nitro owner mismatch"); require(nev.proofSubmitter() == teeProverRegistryProxy, "nitro proof submitter mismatch"); require( INitroEnclaveVerifier(nitroEnclaveVerifier).getZkVerifier(ZkCoProcessorType.RiscZero, setVerifierSelector) == riscZeroSetVerifier, "nitro set-verifier route mismatch" ); } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/validations/multiproof-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0x0b0dfe24279a1d6c94ca126289c2fae06b9779e8da9ede07df5a1584772d306e" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xb233baf9705486af24f17bd743520541ecee77e39560c97844434546e1f231a2", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "description": "Updates the multiproof game implementation to the new AggregateVerifier.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", "description": "Sets the init bond for the multiproof game type.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xc8f0cc10fb3d3155bd917cf66b22e63a82f0dc902bb2df5f9f9b4e2c7ef94042", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the CB Signer Safe approval on the coordinator Safe.", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800001", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002", "description": "Runs the AnchorStateRegistry reinitializer for the multiproof cutover.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0xdead000000000000000000000000000000000000000000000000000000000000", "after": "0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a", "description": "Sets the starting anchor root for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000867a4", "description": "Sets the starting anchor L2 block number for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "before": "0x00000000000000000000000000000000000000000000000069bc78ac00000001", "after": "0x00000000000000000000000000000000000000000000000069ce6dd80000026d", "description": "Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.", "allowDifference": true }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Zeronet", "address": "0x7b9fB81a8e041814903C9385B22d88ac303DF699", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-01-activate-multiproof/validations/multiproof-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/ActivateMultiproofStack.s.sol:ActivateMultiproofStack --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525", "messageHash": "0x0b0dfe24279a1d6c94ca126289c2fae06b9779e8da9ede07df5a1584772d306e" }, "stateOverrides": [ { "name": "CB Coordinator Safe - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "overrides": [ { "key": "0xff9b2ac59c233d31e95bd0ee5c2aca7ee6faea7d5c34703ff31a17054efddc95", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "description": "Updates the multiproof game implementation to the new AggregateVerifier.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000074fac1d45b98bae058f8f566201c9a81b85c7d50", "after": "0x000000000000000000000000c5942bf8039cef74414305a67384c382fb5e0bb4", "description": "Update address of DisputeGameFactory to new implementation.", "allowDifference": false }, { "key": "0xe599aaa2f8fda7c53529cbda86878cc948a0a03183dcb2ecbc676dee91952337", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec50000", "description": "Sets the init bond for the multiproof game type.", "allowDifference": false } ] }, { "name": "CB Coordinator Safe - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x5c72dc88e0a2e0117b96212ccb7fdb1263929c4844c20ed6a770f8d9e70c6b3e", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the Security Council Safe approval on the coordinator Safe.", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800001", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002", "description": "Runs the AnchorStateRegistry reinitializer for the multiproof cutover.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0xdead000000000000000000000000000000000000000000000000000000000000", "after": "0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a", "description": "Sets the starting anchor root for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x00000000000000000000000000000000000000000000000000000000000867a4", "description": "Sets the starting anchor L2 block number for the new multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000006", "before": "0x00000000000000000000000000000000000000000000000069bc78ac00000001", "after": "0x00000000000000000000000000000000000000000000000069ce6e380000026d", "description": "Sets the respected game type to multiproof and updates the packed retirement timestamp slot; small differences are expected because this slot also stores a block.timestamp-derived value.", "allowDifference": true }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000eb69cc681e8d4a557b30dffbad85affd47a2cf2e", "after": "0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "OptimismPortal - Zeronet", "address": "0x7b9fB81a8e041814903C9385B22d88ac303DF699", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000007cf803296662e8c72a6c1d6450572209acf7f202", "after": "0x00000000000000000000000027b8d2d28540b133f9454535867e3b89b78d88b0", "description": "Update address of OptimismPortal to new implementation.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete all deploy steps: ```bash cd contract-deployments git pull cd zeronet/2026-04-07-upgrade-tee-registry-nitro make deps make deploy-and-setup ``` `make deploy-and-setup` performs the EOA-authorized phase: - runs `DeployAndSetupNitro`: - deploys new `NitroEnclaveVerifier` - sets Nitro routes and proof submitter - transfers Nitro ownership to `TEE_PROVER_REGISTRY_OWNER` - writes initial `addresses.json` - runs `DeployTeeProverRegistryImpl`: - deploys new `TEEProverRegistry` implementation - appends `teeProverRegistryImpl` to `addresses.json` - runs `DeployAggregateVerifier`: - redeploys `AggregateVerifier` with same immutables as existing one - appends `aggregateVerifier` to `addresses.json` Expected `addresses.json` keys: - `nitroEnclaveVerifier` - `teeProverRegistryImpl` - `aggregateVerifier` ## Generate validation files ```bash cd contract-deployments git pull cd zeronet/2026-04-07-upgrade-tee-registry-nitro make deps make gen-validation-upgrade-tee-cb make gen-validation-upgrade-tee-sc ``` This produces: - `validations/upgrade-tee-registry-cb-signer.json` - `validations/upgrade-tee-registry-sc-signer.json` ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-07-upgrade-tee-registry-nitro make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-upgrade-tee-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-upgrade-tee-sc ``` ### 4. Execute upgrade batch ```bash make execute-upgrade-tee ``` Post-checks enforced by script: - `TEE_PROVER_REGISTRY_PROXY` implementation equals `teeProverRegistryImpl` - `TEEProverRegistry(proxy).NITRO_VERIFIER()` equals `nitroEnclaveVerifier` - `DisputeGameFactory.gameImpls(gameType)` equals `aggregateVerifier` ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/Makefile ================================================ include ../../Makefile include ../../Multisig.mk -include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) UPGRADE_TEE_REGISTRY_SCRIPT_NAME = script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry UPGRADE_TEE_REGISTRY_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) UPGRADE_TEE_REGISTRY_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: deps deps: task-extra-deps .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment and setup (EOA) ## .PHONY: deploy-and-setup deploy-and-setup: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAndSetupNitro.s.sol:DeployAndSetupNitro \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) && \ forge script --rpc-url $(L1_RPC_URL) script/DeployTeeProverRegistryImpl.s.sol:DeployTeeProverRegistryImpl \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) && \ forge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) ## # Upgrade TEEProverRegistry proxy (multisig) ## .PHONY: gen-validation-upgrade-tee-cb gen-validation-upgrade-tee-cb: deps-signer-tool $(call GEN_VALIDATION,$(UPGRADE_TEE_REGISTRY_SCRIPT_NAME),$(CB_MULTISIG),$(UPGRADE_TEE_REGISTRY_CB_SENDER),upgrade-tee-registry-cb-signer.json,) .PHONY: gen-validation-upgrade-tee-sc gen-validation-upgrade-tee-sc: deps-signer-tool $(call GEN_VALIDATION,$(UPGRADE_TEE_REGISTRY_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPGRADE_TEE_REGISTRY_SC_SENDER),upgrade-tee-registry-sc-signer.json,) .PHONY: approve-upgrade-tee-cb approve-upgrade-tee-cb: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME) approve-upgrade-tee-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-upgrade-tee-sc approve-upgrade-tee-sc: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME) approve-upgrade-tee-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-upgrade-tee execute-upgrade-tee: SCRIPT_NAME := $(UPGRADE_TEE_REGISTRY_SCRIPT_NAME) execute-upgrade-tee: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/README.md ================================================ # Upgrade TEEProverRegistry Nitro Pointer Status: [EXECUTED](https://hoodi.etherscan.io/tx/0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a) ## Description This task upgrades the `TEEProverRegistry` proxy on `zeronet` to a new implementation that points to a newly deployed `NitroEnclaveVerifier` with: - certificate expiry-aware caching - revoker role support The task is intentionally split by caller permissions: - Phase 1: deployer EOA runs 3 scripts in order: - `DeployAndSetupNitro` - `DeployTeeProverRegistryImpl` - `DeployAggregateVerifier` - Phase 2: ProxyAdmin owner multisig upgrades the TEE proxy and registers the new AggregateVerifier in the DisputeGameFactory ## Procedure ### Sign task #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/addresses.json ================================================ { "nitroEnclaveVerifier": "0x4e3E30E148E803667913bE97A8ce9EBA39b65563", "teeProverRegistryImpl": "0xcBb3F44B4378c014Ce7AAa15Bae54B433AC63085", "aggregateVerifier": "0x016CdB236F103078677AEA6d9287eA9B2f33c872" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAggregateVerifier.s.sol/560048/run-1776099026069.json ================================================ { "transactions": [ { "hash": "0xed199d16f25e9e071c61548574075dfc61bd670d4bb448b948fc89285bf8153b", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0xec35196ad4aa0be49d6054125bbc66e18dbd3344", "function": null, "arguments": [ "621", "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "0x4730CEc510E664838B20B576881702b64651Cc45", "0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e", "(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)", "0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e", "763360", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3aea17", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220c61dabdbca300b7376b5f89062eb9d0a1ca9a2863f0019c89374ee2d1f976eaf64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x57", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2d519c", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xed199d16f25e9e071c61548574075dfc61bd670d4bb448b948fc89285bf8153b", "transactionIndex": "0x0", "blockHash": "0x9cab25f4f99192f26724f72bb64861c7cd7c7c37a9f10467f97c4f70be3ff97a", "blockNumber": "0x27d60c", "gasUsed": "0x2d519c", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xec35196ad4aa0be49d6054125bbc66e18dbd3344" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776099026069, "chain": 560048, "commit": "5de5158" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAggregateVerifier.s.sol/560048/run-1776283494080.json ================================================ { "transactions": [ { "hash": "0x7e451a44fc86e6ca5db28da68c94d67a18361a0ce2fb59598bb43e2b781ea20a", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0x016cdb236f103078677aea6d9287ea9b2f33c872", "function": null, "arguments": [ "621", "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "0x4730CEc510E664838B20B576881702b64651Cc45", "0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e", "(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)", "0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e", "763360", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3aea27", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212203abca49e729456bd777ac45f6bcfa1fc20e1f99bd0f4dc8071fb286363e5667f64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc45bcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x5d", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x53d177", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x7e451a44fc86e6ca5db28da68c94d67a18361a0ce2fb59598bb43e2b781ea20a", "transactionIndex": "0x21", "blockHash": "0xb220f9dbe7d917d0e962435546fb526b4d9f9397bb58b8f8fcc1104d83a359a3", "blockNumber": "0x280d14", "gasUsed": "0x2d51a8", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x016cdb236f103078677aea6d9287ea9b2f33c872" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776283494080, "chain": 560048, "commit": "5a214a5" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAndSetupNitro.s.sol/560048/run-1776098805552.json ================================================ { "transactions": [ { "hash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionType": "CREATE", "contractName": "NitroEnclaveVerifier", "contractAddress": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "3600", "[]", "[]", "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "0x5F109182a097c40Cc936742be4B55c1A08aC4dd9", "1", "(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x329a39", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b5060405161300f38038061300f83398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b61298b806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611ae0565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611ba5565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611c5c565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611c85565b6106d0565b348015610315575f5ffd5b50610329610324366004611ae0565b61080c565b6040516101fc9190611cb6565b348015610341575f5ffd5b50610355610350366004611d24565b61089d565b6040516101fc9190611f8d565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004611f9f565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004611fb6565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004611f9f565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004611ff6565b610c42565b34801561041e575f5ffd5b5061022461042d366004611c85565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d24565b610d75565b6040516101fc919061200f565b348015610469575f5ffd5b506101d1610478366004612072565b610fbe565b348015610488575f5ffd5b506101d1610497366004611ff6565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004611f9f565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea3660046120b8565b611102565b3480156104fa575f5ffd5b506101d16105093660046120d1565b611182565b6101d161051c366004611ff6565b61127b565b6101d161052f366004611ff6565b6112b5565b34801561053f575f5ffd5b5061055361054e3660046120f9565b6112db565b6040516101fc9190612168565b34801561056b575f5ffd5b506105a261057a366004611ae0565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004611ff6565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611da3565b600281111561066a5761066a611da3565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611da3565b60028111156106ff576106ff611da3565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b81526004016107579291906121bd565b60405180910390fd5b61dead60065f85600281111561077857610778611da3565b600281111561078957610789611da3565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611da3565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611da3565b600281111561085c5761085c611da3565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611a70565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611da3565b60028111156108f6576108f6611da3565b81526020019081526020015f205f01549050610916858289898888611563565b6109228688018861259f565b915061092d826116ab565b915084600281111561094157610941611da3565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611f8d565b60408051601f198184030181529082905261099292916125d8565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f6117dc565b565b6109bf61145d565b6109c881611819565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611da3565b6002811115610a4f57610a4f611da3565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b81526004016107579291906121bd565b8060065f856002811115610ab657610ab6611da3565b6002811115610ac757610ac7611da3565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611da3565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611da3565b6002811115610cbb57610cbb611da3565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b81526004016107579291906121bd565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611da3565b6002811115610d4757610d47611da3565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611da3565b6002811115610dc957610dc9611da3565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611da3565b6002811115610e0357610e03611da3565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611da3565b6002811115610e3c57610e3c611da3565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b6125f7565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b00565b604051908082528060200260200182016040528015610eef57816020015b610edc611a70565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f156126e5565b60200260200101516116ab565b878281518110610f3457610f346126e5565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611da3565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d919061200f565b60408051601f1981840301815290829052610fa892916126f9565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611da3565b600281111561100b5761100b611da3565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612711565b8160025f85600281111561105357611053611da3565b600281111561106457611064611da3565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611da3565b600281111561109e5761109e611da3565b815260208101919091526040015f2055818360028111156110c1576110c1611da3565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c88161184e565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611da3565b60028111156111cf576111cf611da3565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612711565b8060025f84600281111561121857611218611da3565b600281111561122957611229611da3565b815260208101919091526040015f20600101558082600281111561124f5761124f611da3565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c8816117dc565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c8816117dc565b60605f826001600160401b038111156112f6576112f6611b00565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f878784818110611344576113446126e5565b9050602002810190611356919061272c565b909250905060018483835f8161136e5761136e6126e5565b90506020020135146113b8578483835f81811061138d5761138d6126e5565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d96126e5565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b611416600184612785565b9250506001016113bb565b5080868581518110611435576114356126e5565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611da3565b600281111561149e5761149e611da3565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611da3565b600281111561151257611512611da3565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef8383836040516115569392919061279e565b60405180910390a1505050565b5f61156f8784846118c1565b9050600187600281111561158557611585611da3565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae9291906127e4565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec91906127f3565b6040518563ffffffff1660e01b815260040161160b9493929190612832565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611da3565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b9089908990899089908990600401612858565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611a70565b6001825160048111156116c8576116c8611da3565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611770575f8360600151828151811061170f5761170f6126e5565b60200260200101519050815f03611739576005548114611733575050600282525090565b50611768565b5f818152600360205260409020546001600160401b031642811015611765575050600383525090919050565b50505b6001016116e9565b505f6103e883604001516117849190612890565b600454909150429061179f906001600160401b0316836128c9565b6001600160401b03161115806117be575042816001600160401b031610155b156117cc5750506004815290565b6117d5836119df565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b03811661187457604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f806118d060048285876128e8565b6118d99161290f565b90505f60065f8760028111156118f1576118f1611da3565b600281111561190257611902611da3565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac19810161195a5785826040516253454d60e31b81526004016107579291906121bd565b6001600160a01b0381166119ad5760025f87600281111561197d5761197d611da3565b600281111561198e5761198e611da3565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b0381166119d65785604051636725e36b60e11b81526004016107579190612947565b95945050505050565b602081015160ff165b816060015151811015611a6c575f82606001518281518110611a0c57611a0c6126e5565b6020026020010151905082608001518281518110611a2c57611a2c6126e5565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b039092169190911790556001016119e8565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611adb575f5ffd5b919050565b5f60208284031215611af0575f5ffd5b611af982611acd565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611b3657611b36611b00565b60405290565b60405161014081016001600160401b0381118282101715611b3657611b36611b00565b604051601f8201601f191681016001600160401b0381118282101715611b8757611b87611b00565b604052919050565b80356001600160a01b0381168114611adb575f5ffd5b5f5f5f83850360a0811215611bb8575f5ffd5b611bc185611acd565b93506060601f1982011215611bd4575f5ffd5b50604051606081016001600160401b0381118282101715611bf757611bf7611b00565b604090815260208681013583529086013590820152611c1860608601611b8f565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611af96020830184611c2e565b80356001600160e01b031981168114611adb575f5ffd5b5f5f60408385031215611c96575f5ffd5b611c9f83611acd565b9150611cad60208401611c6e565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611cf0575f5ffd5b5081356001600160401b03811115611d06575f5ffd5b602083019150836020828501011115611d1d575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611d38575f5ffd5b85356001600160401b03811115611d4d575f5ffd5b611d5988828901611ce0565b9096509450611d6c905060208701611acd565b925060408601356001600160401b03811115611d86575f5ffd5b611d9288828901611ce0565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611dc757611dc7611da3565b9052565b5f8151808452602084019350602083015f5b82811015611dfb578151865260209586019590910190600101611ddd565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611dfb5781516001600160401b0316865260209586019590910190600101611e17565b5f8151808452602084019350602083015f5b82811015611dfb57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611e50565b611ea2828251611db7565b5f6020820151611eb7602085018260ff169052565b506040820151611ed260408501826001600160401b03169052565b5060608201516101406060850152611eee610140850182611dcb565b905060808301518482036080860152611f078282611e05565b91505060a083015184820360a0860152611f218282611c2e565b91505060c083015184820360c0860152611f3b8282611c2e565b91505060e083015184820360e0860152611f558282611c2e565b915050610100830151848203610100860152611f718282611e3e565b9150506101208301518482036101208601526119d68282611c2e565b602081525f611af96020830184611e97565b5f60208284031215611faf575f5ffd5b5035919050565b5f5f5f60608486031215611fc8575f5ffd5b611fd184611acd565b9250611fdf60208501611c6e565b9150611fed60408501611b8f565b90509250925092565b5f60208284031215612006575f5ffd5b611af982611b8f565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561206657603f19878603018452612051858351611e97565b94506020938401939190910190600101612035565b50929695505050505050565b5f5f5f60608486031215612084575f5ffd5b61208d84611acd565b95602085013595506040909401359392505050565b80356001600160401b0381168114611adb575f5ffd5b5f602082840312156120c8575f5ffd5b611af9826120a2565b5f5f604083850312156120e2575f5ffd5b6120eb83611acd565b946020939093013593505050565b5f5f6020838503121561210a575f5ffd5b82356001600160401b0381111561211f575f5ffd5b8301601f8101851361212f575f5ffd5b80356001600160401b03811115612144575f5ffd5b8560208260051b8401011115612158575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b818110156121a257835160ff16835260209384019390920191600101612181565b509095945050505050565b60038110611dc757611dc7611da3565b604081016121cb82856121ad565b63ffffffff60e01b831660208301529392505050565b803560058110611adb575f5ffd5b803560ff81168114611adb575f5ffd5b5f6001600160401b0382111561221757612217611b00565b5060051b60200190565b5f82601f830112612230575f5ffd5b813561224361223e826121ff565b611b5f565b8082825260208201915060208360051b860101925085831115612264575f5ffd5b602085015b83811015612281578035835260209283019201612269565b5095945050505050565b5f82601f83011261229a575f5ffd5b81356122a861223e826121ff565b8082825260208201915060208360051b8601019250858311156122c9575f5ffd5b602085015b83811015612281576122df816120a2565b8352602092830192016122ce565b5f82601f8301126122fc575f5ffd5b8135602083015f5f6001600160401b0384111561231b5761231b611b00565b50601f8301601f191660200161233081611b5f565b915050828152858383011115612344575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f83011261236d575f5ffd5b813561237b61223e826121ff565b8082825260208201915060206060840286010192508583111561239c575f5ffd5b602085015b838110156122815780870360608112156123b9575f5ffd5b6123c1611b14565b6123ca836120a2565b81526040601f19830112156123dd575f5ffd5b6123e5611b14565b60208401358152915060408301356001600160801b031981168114612408575f5ffd5b60208381019190915281810192909252845292909201916060016123a1565b5f6101408284031215612438575f5ffd5b612440611b3c565b905061244b826121e1565b8152612459602083016121ef565b602082015261246a604083016120a2565b604082015260608201356001600160401b03811115612487575f5ffd5b61249384828501612221565b60608301525060808201356001600160401b038111156124b1575f5ffd5b6124bd8482850161228b565b60808301525060a08201356001600160401b038111156124db575f5ffd5b6124e7848285016122ed565b60a08301525060c08201356001600160401b03811115612505575f5ffd5b612511848285016122ed565b60c08301525060e08201356001600160401b0381111561252f575f5ffd5b61253b848285016122ed565b60e0830152506101008201356001600160401b0381111561255a575f5ffd5b6125668482850161235e565b610100830152506101208201356001600160401b03811115612586575f5ffd5b612592848285016122ed565b6101208301525092915050565b5f602082840312156125af575f5ffd5b81356001600160401b038111156125c4575f5ffd5b6125d084828501612427565b949350505050565b6125e28184611db7565b604060208201525f6125d06040830184611c2e565b5f60208284031215612607575f5ffd5b81356001600160401b0381111561261c575f5ffd5b82016040818503121561262d575f5ffd5b612635611b14565b8135815260208201356001600160401b03811115612651575f5ffd5b80830192505084601f830112612665575f5ffd5b813561267361223e826121ff565b8082825260208201915060208360051b860101925087831115612694575f5ffd5b602085015b838110156126d45780356001600160401b038111156126b6575f5ffd5b6126c58a6020838a0101612427565b84525060209283019201612699565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6125d06040830184611c2e565b6040810161271f82856121ad565b8260208301529392505050565b5f5f8335601e19843603018112612741575f5ffd5b8301803591506001600160401b0382111561275a575f5ffd5b6020019150600581901b3603821315611d1d575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f612771565b60a081016127ac82866121ad565b6127d6602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612803575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f61284560608301868861280a565b6020830194909452506040015292915050565b858152606060208201525f61287160608301868861280a565b828103604084015261288481858761280a565b98975050505050505050565b5f6001600160401b038316806128b457634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f612771565b5f5f858511156128f6575f5ffd5b83861115612902575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015612940576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f82846121ad56fea2646970667358221220836f977f2e04492facea00848c6edc399e74ec07c59b3cb91c9a18ae2711322564736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x52", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "function": "addVerifyRoute(uint8,bytes4,address)", "arguments": [ "1", "0x242f9d5b", "0x5492E1ecd7867AeAd78464EbD5def30F96d462ba" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "gas": "0x1097f", "value": "0x0", "input": "0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "nonce": "0x53", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "function": "setProofSubmitter(address)", "arguments": [ "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "gas": "0xac65", "value": "0x0", "input": "0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "nonce": "0x54", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "function": "transferOwnership(address)", "arguments": [ "0x856611eD7E07D83243b15E93f6321f2df6865852" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "gas": "0x99c9", "value": "0x0", "input": "0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852", "nonce": "0x55", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x51afa0", "logs": [ { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "blockTimestamp": "0x69dd1dd4", "transactionHash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionIndex": "0x1c", "logIndex": "0x11", "removed": false }, { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8" ], "data": "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "blockTimestamp": "0x69dd1dd4", "transactionHash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionIndex": "0x1c", "logIndex": "0x12", "removed": false }, { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "blockTimestamp": "0x69dd1dd4", "transactionHash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionIndex": "0x1c", "logIndex": "0x13", "removed": false }, { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "blockTimestamp": "0x69dd1dd4", "transactionHash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionIndex": "0x1c", "logIndex": "0x14", "removed": false } ], "logsBloom": "0x00000000000400000000000000000000000000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000008000008000000000000000000000000000001008000000400000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000080000400000000000000000", "type": "0x2", "transactionHash": "0x3b193068909627ab087b38a30ee5d537349ed3d74bd71414f509593e63bb7e0c", "transactionIndex": "0x1c", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "gasUsed": "0x26ecca", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d" }, { "status": "0x1", "cumulativeGasUsed": "0x526fd8", "logs": [ { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x242f9d5b00000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "blockTimestamp": "0x69dd1dd4", "transactionHash": "0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d", "transactionIndex": "0x1d", "logIndex": "0x15", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000001008000000000000000080000000000000000000000000000000000000000400000000000000000000040000000000000000000000000000000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0x0b8ca0bf75bee5c9c12319e72d35a585903a059c5f1b0053956f07c572e9a14d", "transactionIndex": "0x1d", "blockHash": "0xd0ffa55a796f5fbf61c5cea02d836afd305f2dcad45f06e2bfe067cd173f2c30", "blockNumber": "0x27d5fc", "gasUsed": "0xc038", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x329bb", "logs": [ { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "blockHash": "0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b", "blockNumber": "0x27d5fd", "blockTimestamp": "0x69dd1de0", "transactionHash": "0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5", "transactionIndex": "0x3", "logIndex": "0x3", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000", "type": "0x2", "transactionHash": "0xc2eec46d138eb59eddcb3a405b2f96abb5c58367bf98bba999b152741df5dcb5", "transactionIndex": "0x3", "blockHash": "0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b", "blockNumber": "0x27d5fd", "gasUsed": "0x75e1", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x6866ec", "logs": [ { "address": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b", "blockNumber": "0x27d5fd", "blockTimestamp": "0x69dd1de0", "transactionHash": "0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437", "transactionIndex": "0x12", "logIndex": "0x34", "removed": false } ], "logsBloom": "0x00000000000400000000000000000200000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000008000008000000000040000000000000000001008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200080000000000000000000000", "type": "0x2", "transactionHash": "0x1e649071d91a4ec75921383b23f8f842dabf078808cdea49c8c5f44b1ad8b437", "transactionIndex": "0x12", "blockHash": "0x327ee3f835c30e7dc799b46d6e1e3a788f53dda1f5023be5a8b2d4049568429b", "blockNumber": "0x27d5fd", "gasUsed": "0x6f57", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xa52e326e5d8ea661408ce595070c3ae9ebe09e1d", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776098805552, "chain": 560048, "commit": "5de5158" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployAndSetupNitro.s.sol/560048/run-1776283373418.json ================================================ { "transactions": [ { "hash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionType": "CREATE", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "function": null, "arguments": [ "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "3600", "[]", "[]", "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "0xb2d9a52e76841279EF0372c534C539a4f68f8C0B", "0x5F109182a097c40Cc936742be4B55c1A08aC4dd9", "1", "(0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6, 0x0000000000000000000000000000000000000000000000000000000000000000, 0x32Db7dc407AC886807277636a1633A1381748DD8)", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3317c9", "value": "0x0", "input": "0x608060405234801561000f575f5ffd5b5060405161308138038061308183398101604081905261002e91610517565b886001600160401b03165f0361005757604051635409e3e760e01b815260040160405180910390fd5b865188511461008a57875187516040516334a59dd760e01b81526004810192909252602482015260440160405180910390fd5b600480546001600160401b0319166001600160401b038b161790555f5b885181101561011e578781815181106100c2576100c26105fa565b602002602001015160035f8b84815181106100df576100df6105fa565b60209081029190910181015182528101919091526040015f2080546001600160401b0319166001600160401b03929092169190911790556001016100a7565b506101288a61016f565b610131866101aa565b61013a856101e6565b600180546001600160a01b0319166001600160a01b038616179055610160838383610259565b50505050505050505050610677565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8906020015b60405180910390a150565b6001600160a01b03811661020c57604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170906020016101db565b8160025f85600281111561026f5761026f61060e565b60028111156102805761028061060e565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115610305578060075f8560028111156102e3576102e361060e565b60028111156102f4576102f461060e565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161033893929190610622565b60405180910390a1505050565b80516001600160a01b038116811461035b575f5ffd5b919050565b80516001600160401b038116811461035b575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156103b2576103b2610376565b604052919050565b5f6001600160401b038211156103d2576103d2610376565b5060051b60200190565b5f82601f8301126103eb575f5ffd5b81516103fe6103f9826103ba565b61038a565b8082825260208201915060208360051b86010192508583111561041f575f5ffd5b602085015b8381101561043c578051835260209283019201610424565b5095945050505050565b5f82601f830112610455575f5ffd5b81516104636103f9826103ba565b8082825260208201915060208360051b860101925085831115610484575f5ffd5b602085015b8381101561043c5761049a81610360565b835260209283019201610489565b80516003811061035b575f5ffd5b5f606082840312156104c6575f5ffd5b604051606081016001600160401b03811182821017156104e8576104e8610376565b60409081528351825260208085015190830152909150819061050b908401610345565b60408201525092915050565b5f5f5f5f5f5f5f5f5f5f6101808b8d031215610531575f5ffd5b61053a8b610345565b995061054860208c01610360565b60408c01519099506001600160401b03811115610563575f5ffd5b61056f8d828e016103dc565b60608d015190995090506001600160401b0381111561058c575f5ffd5b6105988d828e01610446565b60808d015190985096506105b0905060a08c01610345565b94506105be60c08c01610345565b93506105cc60e08c016104a8565b92506105dc8c6101008d016104b6565b91505f6101608c01519050809150509295989b9194979a5092959850565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b60a081016003851061064257634e487b7160e01b5f52602160045260245ffd5b9381528251602080830191909152830151604080830191909152909201516001600160a01b0316606083015260809091015290565b6129fd806106845f395ff3fe6080604052600436106101c5575f3560e01c80638cb50c44116100f2578063dd4a471d11610092578063f2fde38b11610062578063f2fde38b14610521578063f8b507c714610534578063f9f91b1314610560578063fee81cf4146105c6575f5ffd5b8063dd4a471d1461049c578063e3f47695146104d0578063ea9e4857146104ef578063f04e283e1461050e575f5ffd5b8063a12b896a116100cd578063a12b896a14610413578063c9569bc314610432578063cc05c0b31461045e578063d06d55871461047d575f5ffd5b80638cb50c44146103bd5780638da5cb5b146103dc5780639083dd9d146103f4575f5ffd5b80635875335711610168578063715018a611610138578063715018a6146103625780637221e6fc1461036a57806374c183aa1461037f57806386546a491461039e575f5ffd5b806358753357146102cd57806363cd3456146102eb578063674515151461030a5780636d114be314610336575f5ffd5b8063369855e6116101a3578063369855e61461023c5780633a837cc21461027357806354d1f13d1461029257806354fd4d501461029a575f5ffd5b806325692962146101c957806331b361e0146101d357806335dec5d114610205575b5f5ffd5b6101d16105f7565b005b3480156101de575f5ffd5b506101f26101ed366004611b52565b610643565b6040519081526020015b60405180910390f35b348015610210575f5ffd5b50600154610224906001600160a01b031681565b6040516001600160a01b0390911681526020016101fc565b348015610247575f5ffd5b5060045461025b906001600160401b031681565b6040516001600160401b0390911681526020016101fc565b34801561027e575f5ffd5b506101d161028d366004611c17565b61067f565b6101d1610697565b3480156102a5575f5ffd5b5060408051808201825260058152640302e332e360dc1b602082015290516101fc9190611cce565b3480156102d8575f5ffd5b505f54610224906001600160a01b031681565b3480156102f6575f5ffd5b506101d1610305366004611cf7565b6106d0565b348015610315575f5ffd5b50610329610324366004611b52565b61080c565b6040516101fc9190611d28565b348015610341575f5ffd5b50610355610350366004611d96565b61089d565b6040516101fc9190611fff565b6101d16109a4565b348015610375575f5ffd5b506101f260055481565b34801561038a575f5ffd5b506101d1610399366004612011565b6109b7565b3480156103a9575f5ffd5b506101d16103b8366004612028565b6109cb565b3480156103c8575f5ffd5b506101d16103d7366004612011565b610b5f565b3480156103e7575f5ffd5b50638b78c6d81954610224565b3480156103ff575f5ffd5b506101d161040e366004612068565b610c42565b34801561041e575f5ffd5b5061022461042d366004611cf7565b610c93565b34801561043d575f5ffd5b5061045161044c366004611d96565b610d75565b6040516101fc9190612081565b348015610469575f5ffd5b506101d16104783660046120e4565b610fbe565b348015610488575f5ffd5b506101d1610497366004612068565b6110f1565b3480156104a7575f5ffd5b5061025b6104b6366004612011565b60036020525f90815260409020546001600160401b031681565b3480156104db575f5ffd5b506101d16104ea36600461212a565b611102565b3480156104fa575f5ffd5b506101d1610509366004612143565b611182565b6101d161051c366004612068565b61127b565b6101d161052f366004612068565b6112b5565b34801561053f575f5ffd5b5061055361054e36600461216b565b6112db565b6040516101fc91906121da565b34801561056b575f5ffd5b506105a261057a366004611b52565b600260208190525f91825260409091208054600182015491909201546001600160a01b031683565b6040805193845260208401929092526001600160a01b0316908201526060016101fc565b3480156105d1575f5ffd5b506101f26105e0366004612068565b63389a75e1600c9081525f91909152602090205490565b5f6202a3006001600160401b03164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b5f60075f83600281111561065957610659611e15565b600281111561066a5761066a611e15565b81526020019081526020015f20549050919050565b61068761145d565b610692838383611477565b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b6106d861145d565b5f60065f8460028111156106ee576106ee611e15565b60028111156106ff576106ff611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016107605782826040516253454d60e31b815260040161075792919061222f565b60405180910390fd5b61dead60065f85600281111561077857610778611e15565b600281111561078957610789611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b0393909316929092179091558360028111156107df576107df611e15565b6040517fcdce14b5df954ed0ddf4bd33cc38717ee1c46e06a27d69962dd7f03f70c449c4905f90a3505050565b61083660405180606001604052805f81526020015f81526020015f6001600160a01b031681525090565b60025f83600281111561084b5761084b611e15565b600281111561085c5761085c611e15565b815260208082019290925260409081015f20815160608101835281548152600182015493810193909352600201546001600160a01b03169082015292915050565b6108a5611ae2565b5f546001600160a01b031633146108cf5760405163fe0232c360e01b815260040160405180910390fd5b5f60025f8660028111156108e5576108e5611e15565b60028111156108f6576108f6611e15565b81526020019081526020015f205f01549050610916858289898888611563565b61092286880188612611565b915061092d826116ab565b915084600281111561094157610941611e15565b7f34d71c5db80e3c1db53f6d245503c531894f694aa26c7a967adf77167b126036835f0151846040516020016109779190611fff565b60408051601f1981840301815290829052610992929161264a565b60405180910390a25095945050505050565b6109ac61145d565b6109b55f61184e565b565b6109bf61145d565b6109c88161188b565b50565b6109d361145d565b6001600160a01b0381166109fa57604051630e3ba0af60e01b815260040160405180910390fd5b61deac196001600160a01b03821601610a265760405163043103a360e21b815260040160405180910390fd5b61dead60065f856002811115610a3e57610a3e611e15565b6002811115610a4f57610a4f611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b031603610aa05782826040516253454d60e31b815260040161075792919061222f565b8060065f856002811115610ab657610ab6611e15565b6002811115610ac757610ac7611e15565b815260208082019290925260409081015f9081206001600160e01b0319871680835293522080546001600160a01b0319166001600160a01b039390931692909217909155836002811115610b1d57610b1d611e15565b6040516001600160a01b03841681527f760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4906020015b60405180910390a3505050565b638b78c6d819546001600160a01b0316336001600160a01b031614158015610b9257506001546001600160a01b03163314155b15610bb057604051633ae98a0760e21b815260040160405180910390fd5b5f818152600360205260408120546001600160401b03169003610be957604051630eb0bcc760e31b815260048101829052602401610757565b5f8181526003602052604090819020805467ffffffffffffffff19169055517f49f59bec846fd3588d7d4900a9d7698f294a73043ed6c407d5c2cfa90b8b90d790610c379083815260200190565b60405180910390a150565b610c4a61145d565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f5549026e79f4449c2656308378875b265aaf4002b1ef696785f9439da13d4e36905f90a250565b5f5f60065f856002811115610caa57610caa611e15565b6002811115610cbb57610cbb611e15565b815260208082019290925260409081015f9081206001600160e01b0319871682529092529020546001600160a01b0316905061deac198101610d135783836040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116610d6c5760025f856002811115610d3657610d36611e15565b6002811115610d4757610d47611e15565b815260208101919091526040015f20600201546001600160a01b03169150610d6f9050565b90505b92915050565b5f546060906001600160a01b03163314610da25760405163fe0232c360e01b815260040160405180910390fd5b5f60025f866002811115610db857610db8611e15565b6002811115610dc957610dc9611e15565b81526020019081526020015f206001015490505f60025f876002811115610df257610df2611e15565b6002811115610e0357610e03611e15565b81526020019081526020015f205f015490505f60075f886002811115610e2b57610e2b611e15565b6002811115610e3c57610e3c611e15565b81526020019081526020015f20549050610e5a87848b8b8a8a611563565b5f610e67898b018b612669565b80519091508214610e9857805160405163086e561f60e21b8152610757918491600401918252602082015260400190565b602081015151806001600160401b03811115610eb657610eb6611b72565b604051908082528060200260200182016040528015610eef57816020015b610edc611ae2565b815260200190600190039081610ed45790505b5095505f5b81811015610f4757610f2283602001518281518110610f1557610f15612757565b60200260200101516116ab565b878281518110610f3457610f34612757565b6020908102919091010152600101610ef4565b50886002811115610f5a57610f5a611e15565b7fdfa767ad54931d8d889f34b418a66f09a0bec3406debbd9decbb8ce919c24ffe8588604051602001610f8d9190612081565b60408051601f1981840301815290829052610fa8929161276b565b60405180910390a2505050505095945050505050565b610fc661145d565b81610fe4576040516341a463a560e01b815260040160405180910390fd5b8160025f856002811115610ffa57610ffa611e15565b600281111561100b5761100b611e15565b81526020019081526020015f205f01540361103d578282604051633cf7da7760e21b8152600401610757929190612783565b8160025f85600281111561105357611053611e15565b600281111561106457611064611e15565b81526020019081526020015f205f01819055508060075f85600281111561108d5761108d611e15565b600281111561109e5761109e611e15565b815260208101919091526040015f2055818360028111156110c1576110c1611e15565b6040518381527f51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce4990602001610b52565b6110f961145d565b6109c8816118c0565b61110a61145d565b806001600160401b03165f0361113357604051635409e3e760e01b815260040160405180910390fd5b6004805467ffffffffffffffff19166001600160401b0383169081179091556040519081527fc620470b92e1af69c914495bff0725d3f9ddef58f4e3dad2d2e5b2f4bf63f0e390602001610c37565b61118a61145d565b806111a8576040516341a463a560e01b815260040160405180910390fd5b8060025f8460028111156111be576111be611e15565b60028111156111cf576111cf611e15565b81526020019081526020015f206001015403611202578181604051633cf7da7760e21b8152600401610757929190612783565b8060025f84600281111561121857611218611e15565b600281111561122957611229611e15565b815260208101919091526040015f20600101558082600281111561124f5761124f611e15565b6040517fa13c7e79c76dcced91cc62c49db73a3a02935aef810eea7b7942625e94bc4070905f90a35050565b61128361145d565b63389a75e1600c52805f526020600c2080544211156112a957636f5e88185f526004601cfd5b5f90556109c88161184e565b6112bd61145d565b8060601b6112d257637448fbae5f526004601cfd5b6109c88161184e565b60605f826001600160401b038111156112f6576112f6611b72565b60405190808252806020026020018201604052801561131f578160200160208202803683370190505b506005549091505f5b8481101561145357365f87878481811061134457611344612757565b9050602002810190611356919061279e565b909250905060018483835f8161136e5761136e612757565b90506020020135146113b8578483835f81811061138d5761138d612757565b9050602002013560405163e4ac496b60e01b8152600401610757929190918252602082015260400190565b60015b82811015611421575f60035f8686858181106113d9576113d9612757565b602090810292909201358352508101919091526040015f20546001600160401b031690504281101561140b5750611421565b6114166001846127f7565b9250506001016113bb565b508086858151811061143557611435612757565b60ff9290921660209283029190910190910152505050600101611328565b5090949350505050565b638b78c6d8195433146109b5576382b429005f526004601cfd5b8160025f85600281111561148d5761148d611e15565b600281111561149e5761149e611e15565b815260208082019290925260409081015f20835181559183015160018301559190910151600290910180546001600160a01b0319166001600160a01b03909216919091179055815115611523578060075f85600281111561150157611501611e15565b600281111561151257611512611e15565b815260208101919091526040015f20555b7f8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef83838360405161155693929190612810565b60405180910390a1505050565b5f61156f878484611933565b9050600187600281111561158557611585611e15565b0361163c57806001600160a01b031663ab750e7584848960028a8a6040516115ae929190612856565b602060405180830381855afa1580156115c9573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906115ec9190612865565b6040518563ffffffff1660e01b815260040161160b94939291906128a4565b5f6040518083038186803b158015611621575f5ffd5b505afa158015611633573d5f5f3e3d5ffd5b505050506116a2565b600287600281111561165057611650611e15565b036116895760405163020a49e360e51b81526001600160a01b038216906341493c609061160b90899089908990899089906004016128ca565b60405163146af65760e21b815260040160405180910390fd5b50505050505050565b6116b3611ae2565b6001825160048111156116c8576116c8611e15565b146116d1575090565b816020015160ff165f036116e757506002815290565b5f5b826020015160ff16811015611788575f8360600151828151811061170f5761170f612757565b60200260200101519050815f0361175157600554811461174b578360025b9081600481111561174057611740611e15565b905250929392505050565b50611780565b5f818152600360205260409020546001600160401b03164281101561177d575050600383525090919050565b50505b6001016116e9565b50602082015160ff165b8260600151518110156117e2575f836080015182815181106117b6576117b6612757565b60200260200101519050806001600160401b03164211156117d95783600461172d565b50600101611792565b505f6103e883604001516117f69190612902565b6004549091504290611811906001600160401b03168361293b565b6001600160401b0316111580611830575042816001600160401b031610155b1561183e5750506004815290565b61184783611a51565b5090919050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b60058190556040518181527f63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc890602001610c37565b6001600160a01b0381166118e657604051629ef5cb60e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e2017090602001610c37565b5f80611942600482858761295a565b61194b91612981565b90505f60065f87600281111561196357611963611e15565b600281111561197457611974611e15565b815260208082019290925260409081015f9081206001600160e01b0319861682529092529020546001600160a01b0316905061deac1981016119cc5785826040516253454d60e31b815260040161075792919061222f565b6001600160a01b038116611a1f5760025f8760028111156119ef576119ef611e15565b6002811115611a0057611a00611e15565b815260208101919091526040015f20600201546001600160a01b031690505b6001600160a01b038116611a485785604051636725e36b60e11b815260040161075791906129b9565b95945050505050565b602081015160ff165b816060015151811015611ade575f82606001518281518110611a7e57611a7e612757565b6020026020010151905082608001518281518110611a9e57611a9e612757565b6020908102919091018101515f92835260039091526040909120805467ffffffffffffffff19166001600160401b03909216919091179055600101611a5a565b5050565b604080516101408101909152805f81526020015f60ff1681526020015f6001600160401b03168152602001606081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b803560038110611b4d575f5ffd5b919050565b5f60208284031215611b62575f5ffd5b611b6b82611b3f565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715611ba857611ba8611b72565b60405290565b60405161014081016001600160401b0381118282101715611ba857611ba8611b72565b604051601f8201601f191681016001600160401b0381118282101715611bf957611bf9611b72565b604052919050565b80356001600160a01b0381168114611b4d575f5ffd5b5f5f5f83850360a0811215611c2a575f5ffd5b611c3385611b3f565b93506060601f1982011215611c46575f5ffd5b50604051606081016001600160401b0381118282101715611c6957611c69611b72565b604090815260208681013583529086013590820152611c8a60608601611c01565b6040820152929592945050506080919091013590565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611b6b6020830184611ca0565b80356001600160e01b031981168114611b4d575f5ffd5b5f5f60408385031215611d08575f5ffd5b611d1183611b3f565b9150611d1f60208401611ce0565b90509250929050565b81518152602080830151908201526040808301516001600160a01b03169082015260608101610d6f565b5f5f83601f840112611d62575f5ffd5b5081356001600160401b03811115611d78575f5ffd5b602083019150836020828501011115611d8f575f5ffd5b9250929050565b5f5f5f5f5f60608688031215611daa575f5ffd5b85356001600160401b03811115611dbf575f5ffd5b611dcb88828901611d52565b9096509450611dde905060208701611b3f565b925060408601356001600160401b03811115611df8575f5ffd5b611e0488828901611d52565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60058110611e3957611e39611e15565b9052565b5f8151808452602084019350602083015f5b82811015611e6d578151865260209586019590910190600101611e4f565b5093949350505050565b5f8151808452602084019350602083015f5b82811015611e6d5781516001600160401b0316865260209586019590910190600101611e89565b5f8151808452602084019350602083015f5b82811015611e6d57815180516001600160401b031687526020908101518051828901528101516001600160801b031916604088015260609096019590910190600101611ec2565b611f14828251611e29565b5f6020820151611f29602085018260ff169052565b506040820151611f4460408501826001600160401b03169052565b5060608201516101406060850152611f60610140850182611e3d565b905060808301518482036080860152611f798282611e77565b91505060a083015184820360a0860152611f938282611ca0565b91505060c083015184820360c0860152611fad8282611ca0565b91505060e083015184820360e0860152611fc78282611ca0565b915050610100830151848203610100860152611fe38282611eb0565b915050610120830151848203610120860152611a488282611ca0565b602081525f611b6b6020830184611f09565b5f60208284031215612021575f5ffd5b5035919050565b5f5f5f6060848603121561203a575f5ffd5b61204384611b3f565b925061205160208501611ce0565b915061205f60408501611c01565b90509250925092565b5f60208284031215612078575f5ffd5b611b6b82611c01565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156120d857603f198786030184526120c3858351611f09565b945060209384019391909101906001016120a7565b50929695505050505050565b5f5f5f606084860312156120f6575f5ffd5b6120ff84611b3f565b95602085013595506040909401359392505050565b80356001600160401b0381168114611b4d575f5ffd5b5f6020828403121561213a575f5ffd5b611b6b82612114565b5f5f60408385031215612154575f5ffd5b61215d83611b3f565b946020939093013593505050565b5f5f6020838503121561217c575f5ffd5b82356001600160401b03811115612191575f5ffd5b8301601f810185136121a1575f5ffd5b80356001600160401b038111156121b6575f5ffd5b8560208260051b84010111156121ca575f5ffd5b6020919091019590945092505050565b602080825282518282018190525f918401906040840190835b8181101561221457835160ff168352602093840193909201916001016121f3565b509095945050505050565b60038110611e3957611e39611e15565b6040810161223d828561221f565b63ffffffff60e01b831660208301529392505050565b803560058110611b4d575f5ffd5b803560ff81168114611b4d575f5ffd5b5f6001600160401b0382111561228957612289611b72565b5060051b60200190565b5f82601f8301126122a2575f5ffd5b81356122b56122b082612271565b611bd1565b8082825260208201915060208360051b8601019250858311156122d6575f5ffd5b602085015b838110156122f35780358352602092830192016122db565b5095945050505050565b5f82601f83011261230c575f5ffd5b813561231a6122b082612271565b8082825260208201915060208360051b86010192508583111561233b575f5ffd5b602085015b838110156122f35761235181612114565b835260209283019201612340565b5f82601f83011261236e575f5ffd5b8135602083015f5f6001600160401b0384111561238d5761238d611b72565b50601f8301601f19166020016123a281611bd1565b9150508281528583830111156123b6575f5ffd5b828260208301375f92810160200192909252509392505050565b5f82601f8301126123df575f5ffd5b81356123ed6122b082612271565b8082825260208201915060206060840286010192508583111561240e575f5ffd5b602085015b838110156122f357808703606081121561242b575f5ffd5b612433611b86565b61243c83612114565b81526040601f198301121561244f575f5ffd5b612457611b86565b60208401358152915060408301356001600160801b03198116811461247a575f5ffd5b6020838101919091528181019290925284529290920191606001612413565b5f61014082840312156124aa575f5ffd5b6124b2611bae565b90506124bd82612253565b81526124cb60208301612261565b60208201526124dc60408301612114565b604082015260608201356001600160401b038111156124f9575f5ffd5b61250584828501612293565b60608301525060808201356001600160401b03811115612523575f5ffd5b61252f848285016122fd565b60808301525060a08201356001600160401b0381111561254d575f5ffd5b6125598482850161235f565b60a08301525060c08201356001600160401b03811115612577575f5ffd5b6125838482850161235f565b60c08301525060e08201356001600160401b038111156125a1575f5ffd5b6125ad8482850161235f565b60e0830152506101008201356001600160401b038111156125cc575f5ffd5b6125d8848285016123d0565b610100830152506101208201356001600160401b038111156125f8575f5ffd5b6126048482850161235f565b6101208301525092915050565b5f60208284031215612621575f5ffd5b81356001600160401b03811115612636575f5ffd5b61264284828501612499565b949350505050565b6126548184611e29565b604060208201525f6126426040830184611ca0565b5f60208284031215612679575f5ffd5b81356001600160401b0381111561268e575f5ffd5b82016040818503121561269f575f5ffd5b6126a7611b86565b8135815260208201356001600160401b038111156126c3575f5ffd5b80830192505084601f8301126126d7575f5ffd5b81356126e56122b082612271565b8082825260208201915060208360051b860101925087831115612706575f5ffd5b602085015b838110156127465780356001600160401b03811115612728575f5ffd5b6127378a6020838a0101612499565b8452506020928301920161270b565b506020840152509095945050505050565b634e487b7160e01b5f52603260045260245ffd5b828152604060208201525f6126426040830184611ca0565b60408101612791828561221f565b8260208301529392505050565b5f5f8335601e198436030181126127b3575f5ffd5b8301803591506001600160401b038211156127cc575f5ffd5b6020019150600581901b3603821315611d8f575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8181168382160190811115610d6f57610d6f6127e3565b60a0810161281e828661221f565b612848602083018580518252602080820151908301526040908101516001600160a01b0316910152565b826080830152949350505050565b818382375f9101908152919050565b5f60208284031215612875575f5ffd5b5051919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b606081525f6128b760608301868861287c565b6020830194909452506040015292915050565b858152606060208201525f6128e360608301868861287c565b82810360408401526128f681858761287c565b98975050505050505050565b5f6001600160401b0383168061292657634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160401b038181168382160190811115610d6f57610d6f6127e3565b5f5f85851115612968575f5ffd5b83861115612974575f5ffd5b5050820193919092039150565b80356001600160e01b031981169060048410156129b2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b60208101610d6f828461221f56fea2646970667358221220c6d4102ba5e3c055e8fd912a7f131d05009e9bfdac524a9f3bf8ba3e02dd386f64736f6c634300081c0033000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b0000000000000000000000005f109182a097c40cc936742be4b55c1a08ac4dd90000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x58", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "function": "addVerifyRoute(uint8,bytes4,address)", "arguments": [ "1", "0x242f9d5b", "0x5492E1ecd7867AeAd78464EbD5def30F96d462ba" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "gas": "0x1097f", "value": "0x0", "input": "0x86546a490000000000000000000000000000000000000000000000000000000000000001242f9d5b000000000000000000000000000000000000000000000000000000000000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "nonce": "0x59", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "function": "setProofSubmitter(address)", "arguments": [ "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "gas": "0xac65", "value": "0x0", "input": "0xd06d5587000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "nonce": "0x5a", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false }, { "hash": "0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1", "transactionType": "CALL", "contractName": "NitroEnclaveVerifier", "contractAddress": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "function": "transferOwnership(address)", "arguments": [ "0x856611eD7E07D83243b15E93f6321f2df6865852" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "gas": "0x99c9", "value": "0x0", "input": "0xf2fde38b000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852", "nonce": "0x5b", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4a4285", "logs": [ { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "blockTimestamp": "0x69dfeec4", "transactionHash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionIndex": "0x28", "logIndex": "0x1a", "removed": false }, { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x63f2d4dca4c937ba68e57bbddd2b0a3560e5b497593228dbea7372c127c16dc8" ], "data": "0x641a0321a3e244efe456463195d606317ed7cdcc3c1756e09893f3c68f79bb5b", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "blockTimestamp": "0x69dfeec4", "transactionHash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionIndex": "0x28", "logIndex": "0x1b", "removed": false }, { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "blockTimestamp": "0x69dfeec4", "transactionHash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionIndex": "0x28", "logIndex": "0x1c", "removed": false }, { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x8c7491c9018c0b332e7d992d1b37db1a61f4c075cb30e237cc826c52c3166cef" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001ce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032db7dc407ac886807277636a1633a1381748dd80000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "blockTimestamp": "0x69dfeec4", "transactionHash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionIndex": "0x28", "logIndex": "0x1d", "removed": false } ], "logsBloom": "0x00000000000400000000000000000004001000000100000000802000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000000000020000000000000000000800000000000000000000000000000000400000000400000000000000000000000000000000000000000000001000000000000008000008000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000400000000000000000", "type": "0x2", "transactionHash": "0x32ca48284cb3626d961ca55d332c310276342cff9194aaaf05bf2c43a5152f8a", "transactionIndex": "0x28", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "gasUsed": "0x274d60", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x4e3e30e148e803667913be97a8ce9eba39b65563" }, { "status": "0x1", "cumulativeGasUsed": "0x63640b", "logs": [ { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x760c87aaca384c3dc82d5bcce05884a75cf787ef7f7cacaef26a6822b2831dd4", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x242f9d5b00000000000000000000000000000000000000000000000000000000" ], "data": "0x0000000000000000000000005492e1ecd7867aead78464ebd5def30f96d462ba", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "blockTimestamp": "0x69dfeec4", "transactionHash": "0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723", "transactionIndex": "0x2e", "logIndex": "0x34", "removed": false } ], "logsBloom": "0x00000000000000000000000000000004001000000000000000000000000000000000000020000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000400000000000000000100040000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x4ed172aff51b7dfa7ee1f5524647c4ecf73a8ae98dbfa7cd7ed110e2b1a28723", "transactionIndex": "0x2e", "blockHash": "0xf2981b11d07de2498e430a6e379d14489c39812113700ef36b7b12a21ea567ad", "blockNumber": "0x280d0a", "gasUsed": "0xc038", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0xecec9", "logs": [ { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x6f4e85fb3166a80d086aca6e527682a6c1128bfee79107af6d4216f843e20170" ], "data": "0x000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc", "blockHash": "0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3", "blockNumber": "0x280d0b", "blockTimestamp": "0x69dfeed0", "transactionHash": "0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4", "transactionIndex": "0xf", "logIndex": "0x13", "removed": false } ], "logsBloom": "0x00000000000000000000000000000004001000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x032490a925ff628e870b5b66cd20d4bf2a29f8b3a1f0f89aabc26644267988f4", "transactionIndex": "0xf", "blockHash": "0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3", "blockNumber": "0x280d0b", "gasUsed": "0x75e1", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "contractAddress": null }, { "status": "0x1", "cumulativeGasUsed": "0x3387ec", "logs": [ { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3", "blockNumber": "0x280d0b", "blockTimestamp": "0x69dfeed0", "transactionHash": "0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1", "transactionIndex": "0x15", "logIndex": "0x25", "removed": false } ], "logsBloom": "0x00000000000400000000000000000204001000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000008000008000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000200000000000000000000000000", "type": "0x2", "transactionHash": "0x0b2dd5e00a1bb071c2f38b05b5b468bd8613f6d68090c561cbf933e6149416d1", "transactionIndex": "0x15", "blockHash": "0xe4cd4f9b62d92a9ed37c6f6d8ba6060e676534ffe14e74894b6eb5415713a9e3", "blockNumber": "0x280d0b", "gasUsed": "0x6f57", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776283373418, "chain": 560048, "commit": "5a214a5" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployTeeProverRegistryImpl.s.sol/560048/run-1776098855904.json ================================================ { "transactions": [ { "hash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionType": "CREATE", "contractName": "TEEProverRegistry", "contractAddress": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "function": null, "arguments": [ "0xA52E326E5d8Ea661408ce595070C3ae9ebe09e1d", "0x154972aB98A5e321a9c7aB7677973f1F501a8090" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x2194d2", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea2646970667358221220b6a0217189f5c33a2e8718bdc90443e9d036fca9f7adad11f8131995f976e6f764736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069000000000000000000000000a52e326e5d8ea661408ce595070c3ae9ebe09e1d000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090", "nonce": "0x56", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x424c41", "logs": [ { "address": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "blockTimestamp": "0x69dd1e10", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "logIndex": "0x1c", "removed": false }, { "address": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "blockTimestamp": "0x69dd1e10", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "logIndex": "0x1d", "removed": false }, { "address": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "blockTimestamp": "0x69dd1e10", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "logIndex": "0x1e", "removed": false }, { "address": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "blockTimestamp": "0x69dd1e10", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "logIndex": "0x1f", "removed": false }, { "address": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "blockTimestamp": "0x69dd1e10", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "logIndex": "0x20", "removed": false } ], "logsBloom": "0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000002000000001000000000000008000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000000000000002000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x1a80c0107be40357ed70efd6cb1fc89a168c07ae0f2ff434310615c304ff5ad1", "transactionIndex": "0xf", "blockHash": "0x6115d5c1dc0da4d6564798bb01e30f1840e5c728cfa3d2bedba5f96b7374026d", "blockNumber": "0x27d600", "gasUsed": "0x19d4f1", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x97a4fa7db39950c53847bdffed9b1537638a7b6d" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776098855904, "chain": 560048, "commit": "5de5158" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/DeployTeeProverRegistryImpl.s.sol/560048/run-1776283437409.json ================================================ { "transactions": [ { "hash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionType": "CREATE", "contractName": "TEEProverRegistry", "contractAddress": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "function": null, "arguments": [ "0x4e3E30E148E803667913bE97A8ce9EBA39b65563", "0x154972aB98A5e321a9c7aB7677973f1F501a8090" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x2194d2", "value": "0x0", "input": "0x60c06040523480156200001157600080fd5b5060405162002349380380620023498339810160408190526200003491620006a1565b6001600160a01b0381166200005c57604051635af9c0d760e11b815260040160405180910390fd5b6001600160a01b03828116608052811660a05260408051600080825260208201909252620000909161dead91829162000098565b50506200071e565b600054610100900460ff1615808015620000b95750600054600160ff909116105b80620000e95750620000d6306200031160201b62000aa71760201c565b158015620000e9575060005460ff166001145b620001525760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000176576000805461ff0019166101001790555b6200018062000320565b6200018b8562000388565b62000196846200040e565b6065805463ffffffff191663ffffffff841617905560005b8351811015620002c25760006001600160a01b0316848281518110620001d857620001d8620006e0565b60200260200101516001600160a01b031614620002ad576001606860008684815181106200020a576200020a620006e0565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106200025e576200025e620006e0565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d26001604051620002a4911515815260200190565b60405180910390a25b80620002b981620006f6565b915050620001ae565b5080156200030a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b03163b151590565b600054610100900460ff166200037c5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b6200038662000493565b565b6200039262000505565b6001600160a01b038116620004005760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b606482015260840162000149565b6200040b8162000560565b50565b62000418620005b2565b6001600160a01b038116620004885760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b606482015260840162000149565b6200040b8162000639565b600054610100900460ff16620004ef5760405162461bcd60e51b815260206004820152602b60248201526000805160206200232983398151915260448201526a6e697469616c697a696e6760a81b606482015260840162000149565b620004fa3362000560565b620003863362000639565b6033546001600160a01b03163314620003865760405162461bcd60e51b8152602060048201526027602482015260008051602062002309833981519152604482015266329037bbb732b960c91b606482015260840162000149565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6033546001600160a01b0316331480620005d657506034546001600160a01b031633145b620003865760405162461bcd60e51b815260206004820152603660248201526000805160206200230983398151915260448201527f65206f776e6572206f7220746865206d616e6167657200000000000000000000606482015260840162000149565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b6001600160a01b03811681146200040b57600080fd5b60008060408385031215620006b557600080fd5b8251620006c2816200068b565b6020840151909250620006d5816200068b565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200071757634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a051611bb762000752600039600081816101ff0152610d9e0152600081816102ac01526107340152611bb76000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806394a277d1116100b8578063d25600561161007c578063d2560056146102ce578063d5f5058214610301578063e4edf85214610314578063e8533e2914610327578063e9ed9b641461034a578063f2fde38b1461035d57600080fd5b806394a277d11461025257806394b2822f1461025a578063ba58e82a1461026f578063bbdc02db14610282578063c80d23f6146102a757600080fd5b806354fd4d501161010a57806354fd4d50146101b85780636666efdb146101df578063715018a6146101f257806382ff53a1146101fa57806386b4ebd3146102215780638da5cb5b1461024157600080fd5b8063089208d8146101475780630ba24fe0146101515780630dcaeaf2146101645780632712e20d14610180578063481c6a7514610193575b600080fd5b61014f610370565b005b61014f61015f366004611285565b610384565b61016d610e1081565b6040519081526020015b60405180910390f35b61014f61018e36600461137a565b6103fa565b6034546001600160a01b03165b6040516001600160a01b039091168152602001610177565b60408051808201825260058152640302e352e360dc1b602082015290516101779190611481565b61014f6101ed3660046114b4565b610644565b61014f6106e5565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b61016d61022f366004611285565b60676020526000908152604090205481565b6033546001600160a01b03166101a0565b61016d6106f7565b610262610706565b60405161017791906114cf565b61014f61027d366004611565565b610712565b6065546102929063ffffffff1681565b60405163ffffffff9091168152602001610177565b6101a07f000000000000000000000000000000000000000000000000000000000000000081565b6102f16102dc366004611285565b60666020526000908152604090205460ff1681565b6040519015158152602001610177565b6102f161030f366004611285565b6108f5565b61014f610322366004611285565b610941565b6102f1610335366004611285565b60686020526000908152604090205460ff1681565b61014f6103583660046115d1565b6109c3565b61014f61036b366004611285565b610a2a565b610378610ab6565b6103826000610b44565b565b61038c610ab6565b6001600160a01b0381166000908152606660209081526040808320805460ff1916905560679091528120556103c2606982610b96565b506040516001600160a01b038216907fb64c2e472ebdc8f61a76438be3074f3e38569b2ebd8a9cc71dcc9b181defd78e90600090a250565b600054610100900460ff161580801561041a5750600054600160ff909116105b806104345750303b158015610434575060005460ff166001145b61049c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156104bf576000805461ff0019166101001790555b6104c7610ce1565b6104d085610a2a565b6104d984610941565b6065805463ffffffff191663ffffffff841617905560005b83518110156105f65760006001600160a01b03168482815181106105175761051761160f565b60200260200101516001600160a01b0316146105e4576001606860008684815181106105455761054561160f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106105965761059661160f565b60200260200101516001600160a01b03167ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d260016040516105db911515815260200190565b60405180910390a25b806105ee8161163b565b9150506104f1565b50801561063d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61064c610d10565b6065805463ffffffff83811663ffffffff1983161790925516600061066f610d7a565b9050806106a7576065805463ffffffff841663ffffffff19909116179055604080516313d0866160e11b815290519081900360040190fd5b60405163ffffffff841681527fde7d61181e5b13fcab68f1d4a0be52854e613272de874356f9d0102594aa4e9b9060200160405180910390a1505050565b6106ed610d10565b6103826000610ee5565b6000610701610d7a565b905090565b60606107016069610f37565b61071a610ab6565b604051636d114be360e01b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d114be390610772908890889060019089908990600401611693565b6000604051808303816000875af1158015610791573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b9919081019061192b565b90506001815160048111156107d0576107d061167d565b146107ee576040516320dd787760e11b815260040160405180910390fd5b42610e106103e8836040015167ffffffffffffffff1661080e9190611aaa565b6108189190611acc565b116108365760405163696bbf1f60e01b815260040160405180910390fd5b600061084682610100015161100c565b60e08301518051919250906041146108715760405163145a1fdd60e31b815260040160405180910390fd5b6040602182018190206001600160a01b038116600090815260666020908152838220805460ff191660011790556067905291909120839055806108b56069826110e3565b506040516001600160a01b038216907f97110439909bcbb4488918a0cbe54781949ecf5d1415e972bf922a92df93fb3f90600090a2505050505050505050565b6001600160a01b03811660009081526066602052604081205460ff16801561093b5750610920610d7a565b6001600160a01b038316600090815260676020526040902054145b92915050565b610949610ab6565b6001600160a01b0381166109b75760405162461bcd60e51b815260206004820152602f60248201527f4f776e61626c654d616e616765643a206e6577206d616e61676572206973207460448201526e6865207a65726f206164647265737360881b6064820152608401610493565b6109c081610b44565b50565b6109cb610d10565b6001600160a01b038216600081815260686020908152604091829020805460ff191685151590811790915591519182527ffc7858ed770f3bd9c19525fe1de2c94c7d048128ade2219d82b32d888a45a7d2910160405180910390a25050565b610a32610d10565b6001600160a01b038116610a9e5760405162461bcd60e51b815260206004820152602d60248201527f4f776e61626c654d616e616765643a206e6577206f776e65722069732074686560448201526c207a65726f206164647265737360981b6064820152608401610493565b6109c081610ee5565b6001600160a01b03163b151590565b6033546001600160a01b0316331480610ad957506034546001600160a01b031633145b6103825760405162461bcd60e51b815260206004820152603660248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015275329037bbb732b91037b9103a34329036b0b730b3b2b960511b6064820152608401610493565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be198301610bd35763f5a267f16000526004601cfd5b82610be55768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811680610c685760019350848260601c03610c2357600183018054845560028401805490915560009055610cd8565b84600184015460601c03610c4557600283018054600185015560009055610cd8565b84600284015460601c03610c5f5760006002840155610cd8565b60009350610cd8565b82602052846000526040600020805480610c83575050610cd8565b60018360011c039250826001820314610cbb578285015460601c8060601b600183038701556000848701558060005250806040600020555b5060018260011b17845460601c60601b1784556000815550600193505b50505092915050565b600054610100900460ff16610d085760405162461bcd60e51b815260040161049390611ae4565b610382611237565b6033546001600160a01b031633146103825760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468604482015266329037bbb732b960c91b6064820152608401610493565b606554604051630db42dcf60e11b815263ffffffff909116600482015260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631b685b9e90602401602060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190611b2f565b60408051600481526024810182526020810180516001600160e01b03166260ff5160e21b179052905191925060009182916001600160a01b03851691610e579190611b4c565b600060405180830381855afa9150503d8060008114610e92576040519150601f19603f3d011682016040523d82523d6000602084013e610e97565b606091505b5091509150811580610eab57508051602014155b15610ec957604051639fb4826960e01b815260040160405180910390fd5b80806020019051810190610edd9190611b68565b935050505090565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63978aab926004526000818152602481206060915068fbb67fda52d4bfb8bf81548060a01b60a01c6040519450846020018260601c9250838314158302815281610fc6578215610fc157600191508185015460601c92508215610fc1578284141590920260208301525060028381015460601c918215610fc1576003915083831415830260408201525b610ff6565b600191821c915b82811015610ff4578581015460601c858114158102600583901b8401529350600101610fcd565b505b8186528160051b81016040525050505050919050565b6000805b82518110156110c95782818151811061102b5761102b61160f565b60200260200101516000015167ffffffffffffffff166000036110b757600083828151811061105c5761105c61160f565b6020026020010151602001519050806000015181602001516040516020016110989291909182526001600160801b031916602082015260300190565b6040516020818303038152906040528051906020012092505050919050565b806110c18161163b565b915050611010565b506040516385269c3d60e01b815260040160405180910390fd5b63978aab926004526000828152602481206001600160a01b03929092169168fbb67fda52d4bfb8be1983016111205763f5a267f16000526004601cfd5b826111325768fbb67fda52d4bfb8bf92505b80546bffffffffffffffffffffffff811682602052806111fa578160601c80611165578560601b84556001945050610cd8565b8581036111725750610cd8565b600184015460601c80611193578660601b6001860155600195505050610cd8565b8681036111a1575050610cd8565b600285015460601c806111c3578760601b600287015560019650505050610cd8565b8781036111d257505050610cd8565b6000928352604080842060019055918352818320600290558252902060039055506007908117905b846000526040600020805461122d578160011c91508560601b828501558160010181558260020184556001945050610cd8565b5050505092915050565b600054610100900460ff1661125e5760405162461bcd60e51b815260040161049390611ae4565b61126733610ee5565b61038233610b44565b6001600160a01b03811681146109c057600080fd5b60006020828403121561129757600080fd5b81356112a281611270565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156112e2576112e26112a9565b60405290565b604051610140810167ffffffffffffffff811182821017156112e2576112e26112a9565b604051601f8201601f1916810167ffffffffffffffff81118282101715611335576113356112a9565b604052919050565b600067ffffffffffffffff821115611357576113576112a9565b5060051b60200190565b803563ffffffff8116811461137557600080fd5b919050565b6000806000806080858703121561139057600080fd5b843561139b81611270565b93506020858101356113ac81611270565b9350604086013567ffffffffffffffff8111156113c857600080fd5b8601601f810188136113d957600080fd5b80356113ec6113e78261133d565b61130c565b81815260059190911b8201830190838101908a83111561140b57600080fd5b928401925b8284101561143257833561142381611270565b82529284019290840190611410565b809650505050505061144660608601611361565b905092959194509250565b60005b8381101561146c578181015183820152602001611454565b8381111561147b576000848401525b50505050565b60208152600082518060208401526114a0816040850160208701611451565b601f01601f19169190910160400192915050565b6000602082840312156114c657600080fd5b6112a282611361565b6020808252825182820181905260009190848201906040850190845b818110156115105783516001600160a01b0316835292840192918401916001016114eb565b50909695505050505050565b60008083601f84011261152e57600080fd5b50813567ffffffffffffffff81111561154657600080fd5b60208301915083602082850101111561155e57600080fd5b9250929050565b6000806000806040858703121561157b57600080fd5b843567ffffffffffffffff8082111561159357600080fd5b61159f8883890161151c565b909650945060208701359150808211156115b857600080fd5b506115c58782880161151c565b95989497509550505050565b600080604083850312156115e457600080fd5b82356115ef81611270565b91506020830135801515811461160457600080fd5b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161164d5761164d611625565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b634e487b7160e01b600052602160045260246000fd5b6060815260006116a7606083018789611654565b600386106116c557634e487b7160e01b600052602160045260246000fd5b85602084015282810360408401526116de818587611654565b98975050505050505050565b80516005811061137557600080fd5b805160ff8116811461137557600080fd5b805167ffffffffffffffff8116811461137557600080fd5b600082601f83011261173357600080fd5b815160206117436113e78361133d565b82815260059290921b8401810191818101908684111561176257600080fd5b8286015b8481101561177d5780518352918301918301611766565b509695505050505050565b600082601f83011261179957600080fd5b815160206117a96113e78361133d565b82815260059290921b840181019181810190868411156117c857600080fd5b8286015b8481101561177d576117dd8161170a565b83529183019183016117cc565b600082601f8301126117fb57600080fd5b815167ffffffffffffffff811115611815576118156112a9565b611828601f8201601f191660200161130c565b81815284602083860101111561183d57600080fd5b61184e826020830160208701611451565b949350505050565b600082601f83011261186757600080fd5b815160206118776113e78361133d565b8281526060928302850182019282820191908785111561189657600080fd5b8387015b8581101561191e57808903828112156118b35760008081fd5b6118bb6112bf565b6118c48361170a565b8152604080601f19840112156118da5760008081fd5b6118e26112bf565b848901518152908401519092506001600160801b0319811681146119065760008081fd5b8288015280870191909152845292840192810161189a565b5090979650505050505050565b60006020828403121561193d57600080fd5b815167ffffffffffffffff8082111561195557600080fd5b90830190610140828603121561196a57600080fd5b6119726112e8565b61197b836116ea565b8152611989602084016116f9565b602082015261199a6040840161170a565b60408201526060830151828111156119b157600080fd5b6119bd87828601611722565b6060830152506080830151828111156119d557600080fd5b6119e187828601611788565b60808301525060a0830151828111156119f957600080fd5b611a05878286016117ea565b60a08301525060c083015182811115611a1d57600080fd5b611a29878286016117ea565b60c08301525060e083015182811115611a4157600080fd5b611a4d878286016117ea565b60e0830152506101008084015183811115611a6757600080fd5b611a7388828701611856565b8284015250506101208084015183811115611a8d57600080fd5b611a99888287016117ea565b918301919091525095945050505050565b600082611ac757634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611adf57611adf611625565b500190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215611b4157600080fd5b81516112a281611270565b60008251611b5e818460208701611451565b9190910192915050565b600060208284031215611b7a57600080fd5b505191905056fea26469706673582212206841dd7cf7095e3660db234c78ff2dfad797b03542c1508ac32eb039270d258a64736f6c634300080f00334f776e61626c654d616e616765643a2063616c6c6572206973206e6f74207468496e697469616c697a61626c653a20636f6e7472616374206973206e6f7420690000000000000000000000004e3e30e148e803667913be97a8ce9eba39b65563000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090", "nonce": "0x5c", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x19d4f1", "logs": [ { "address": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "blockTimestamp": "0x69dfef00", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false }, { "address": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b" ], "data": "0x", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "blockTimestamp": "0x69dfef00", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "logIndex": "0x1", "removed": false }, { "address": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "blockTimestamp": "0x69dfef00", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "logIndex": "0x2", "removed": false }, { "address": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "topics": [ "0x80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c85", "0x000000000000000000000000b2d9a52e76841279ef0372c534c539a4f68f8c0b", "0x000000000000000000000000000000000000000000000000000000000000dead" ], "data": "0x", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "blockTimestamp": "0x69dfef00", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "logIndex": "0x3", "removed": false }, { "address": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "blockTimestamp": "0x69dfef00", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "logIndex": "0x4", "removed": false } ], "logsBloom": "0x00000000000410000200000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000040000000000800000000000000000000000000000000400000000000000000000004000000000000000000000080000000000000000000000008000008000000000000000400000000000000000000000000000000000000000400000000000000000000040000002000000000000080000000000020000000000000000000000000000000000000000000000020000000000000000000", "type": "0x2", "transactionHash": "0x3ff75d11bdc8d4be381290589936a39bfef807f710c383bb557726107b611d7b", "transactionIndex": "0x0", "blockHash": "0x4d1c6d896f7116429d46ca8cce633934053d268cd90caf394e732b0baf87064d", "blockNumber": "0x280d0e", "gasUsed": "0x19d4f1", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xcbb3f44b4378c014ce7aaa15bae54b433ac63085" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776283437409, "chain": 560048, "commit": "5a214a5" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/approve-latest.json ================================================ { "transactions": [ { "hash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x5b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b752", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x5f", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa0b15", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "blockTimestamp": "0x69e13240", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "logIndex": "0x8", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xa25d44e215426af2dcb298940d57ffe22ede5a100f27640300ab1209e1f4fbe3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "blockTimestamp": "0x69e13240", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "logIndex": "0x9", "removed": false } ], "logsBloom": "0x00000000400200000000000000000000000001000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000400000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "gasUsed": "0x13e10", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776366145163, "chain": 560048, "commit": "8e8f6bc" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366039649.json ================================================ { "transactions": [ { "hash": "0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xa17a91785a0bbb1f150e766899175cede444cb512b400b6d6dba3c3ee76cf9a2741db938d776041ced8eb136367ee7816d634fcf531305dcaf1d5b6a2f56d4ef1c021a2389dbbefe0b0e37c5a5d0e898728f727bdcfeba04e7c426bc8839ccff660ae146bddfb8fe280cab60f68a022d9e8ea6f26f8a5941584b2ce1a4e8e5f3291b8bf9a153b674351c97f3169387fb576a4c07ee61d3065f347635c812e0e13d9e79c2af88a4d0fd06caa6481852d06eb0dd8290f04470d82f7c40e9d61cfc2cfd1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20392", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3a17a91785a0bbb1f150e766899175cede444cb512b400b6d6dba3c3ee76cf9a2741db938d776041ced8eb136367ee7816d634fcf531305dcaf1d5b6a2f56d4ef1c021a2389dbbefe0b0e37c5a5d0e898728f727bdcfeba04e7c426bc8839ccff660ae146bddfb8fe280cab60f68a022d9e8ea6f26f8a5941584b2ce1a4e8e5f3291b8bf9a153b674351c97f3169387fb576a4c07ee61d3065f347635c812e0e13d9e79c2af88a4d0fd06caa6481852d06eb0dd8290f04470d82f7c40e9d61cfc2cfd1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x5e", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2a277b", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951", "blockNumber": "0x2825b7", "blockTimestamp": "0x69e131d4", "transactionHash": "0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f", "transactionIndex": "0x7", "logIndex": "0x1a", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x054ce929f01f7a0b4b37765395ce9e6deecf8f8e5da39795293ef06f175b721f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951", "blockNumber": "0x2825b7", "blockTimestamp": "0x69e131d4", "transactionHash": "0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f", "transactionIndex": "0x7", "logIndex": "0x1b", "removed": false } ], "logsBloom": "0x00040000400200000000000000000200000001000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000002000000000000000200000000100000000000000000", "type": "0x2", "transactionHash": "0x5e91719fb42d17516e1cf945c043a5feb27e5a3d29013b16036feafd08dfd94f", "transactionIndex": "0x7", "blockHash": "0x1f9183f049ce78eb5058f58411f741f05dd28d5c279245f714ef9ab4e8317951", "blockNumber": "0x2825b7", "gasUsed": "0x17544", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776366039649, "chain": 560048, "commit": "8e8f6bc" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366145163.json ================================================ { "transactions": [ { "hash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x5b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b752", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac36248020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415b0f66c08806b9833a9005b8df8399bad03874cde3a5770c05c3ab105485257e4442caa307b87204f7180c6508dedaad8a6a7163d17edd9ab5ab1e10f64beccc1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x5f", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xa0b15", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "blockTimestamp": "0x69e13240", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "logIndex": "0x8", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xa25d44e215426af2dcb298940d57ffe22ede5a100f27640300ab1209e1f4fbe3" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "blockTimestamp": "0x69e13240", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "logIndex": "0x9", "removed": false } ], "logsBloom": "0x00000000400200000000000000000000000001000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000400000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0x7019b1e0c43dea766d565a30f88460043af419b7d77d28ea41d49427adb4b76a", "transactionIndex": "0x3", "blockHash": "0x3fd5a0204d7163ac1683a9a2cfba122020699c07ce294295db1d289ae232f300", "blockNumber": "0x2825bf", "gasUsed": "0x13e10", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776366145163, "chain": 560048, "commit": "8e8f6bc" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/records/UpgradeTEEProverRegistry.s.sol/560048/run-1776366338393.json ================================================ { "transactions": [ { "hash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac6308500000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c8720000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "gas": "0x28d0f", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a00000000000000000000000000000000000000000000000000000000000000424858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000028482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000044f00318360258744a0daa957c2d15080a47346900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000004499a88ec4000000000000000000000000f1d1441b7d98f191f5cfbe4660d3684fea004afc000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac6308500000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c8720000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x60", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3a3d7d", "logs": [ { "address": "0xf1d1441b7d98f191f5cfbe4660d3684fea004afc", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085" ], "data": "0x", "blockHash": "0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd", "blockNumber": "0x2825cf", "blockTimestamp": "0x69e13300", "transactionHash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionIndex": "0x1f", "logIndex": "0x14", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd", "blockNumber": "0x2825cf", "blockTimestamp": "0x69e13300", "transactionHash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionIndex": "0x1f", "logIndex": "0x15", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd", "blockNumber": "0x2825cf", "blockTimestamp": "0x69e13300", "transactionHash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionIndex": "0x1f", "logIndex": "0x16", "removed": false }, { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x10531e3244334c5ea696f4b65395c3ad5856ea9020fe9b40a802745ac3624802" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd", "blockNumber": "0x2825cf", "blockTimestamp": "0x69e13300", "transactionHash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionIndex": "0x1f", "logIndex": "0x17", "removed": false } ], "logsBloom": "0x00000000400200000000000000000000400001000004800000000080040000000001000000000000000000000000000000000000000008000000000000000000100000400400000000000000000002004000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000100020000000400000000000000000000000000000000000000000000000000000000000000000108000010000000004000000200000000080000000000000000000002020000000000000000000000004000000000000000000000000000000000000000000000000020002000000000000000000000000008000000000000100", "type": "0x2", "transactionHash": "0xca03ee8d7bf83e660523910113cb64f75c15baab35777e75bbcb6dc2c8efdd3a", "transactionIndex": "0x1f", "blockHash": "0xc51ded63bff9018b0ed134264952bec301e81b9aa532b4ba44a4f80107cf1fcd", "blockNumber": "0x2825cf", "gasUsed": "0x1be8a", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776366338393, "chain": 560048, "commit": "8e8f6bc" } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployAggregateVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {MockVerifier} from "@base-contracts/src/multiproof/mocks/MockVerifier.sol"; contract DeployAggregateVerifier is Script { address internal existingAggregateVerifierEnv; // Derived from the existing AggregateVerifier at setUp time. GameType internal gameType; IAnchorStateRegistry internal anchorStateRegistry; IDelayedWETH internal delayedWeth; address internal teeVerifier; address internal zkVerifier; bytes32 internal teeImageHash; bytes32 internal zkRangeHash; bytes32 internal zkAggregateHash; bytes32 internal configHash; uint256 internal l2ChainId; uint256 internal blockInterval; uint256 internal intermediateBlockInterval; uint256 internal proofThreshold; address public aggregateVerifier; function setUp() public { existingAggregateVerifierEnv = vm.envAddress("EXISTING_AGGREGATE_VERIFIER"); // Read all immutables from the existing AggregateVerifier to ensure continuity. AggregateVerifier existing = AggregateVerifier(existingAggregateVerifierEnv); gameType = existing.gameType(); anchorStateRegistry = existing.anchorStateRegistry(); delayedWeth = existing.DELAYED_WETH(); teeVerifier = address(existing.TEE_VERIFIER()); zkVerifier = address(existing.ZK_VERIFIER()); teeImageHash = existing.TEE_IMAGE_HASH(); zkRangeHash = existing.ZK_RANGE_HASH(); zkAggregateHash = existing.ZK_AGGREGATE_HASH(); configHash = existing.CONFIG_HASH(); l2ChainId = existing.L2_CHAIN_ID(); blockInterval = existing.BLOCK_INTERVAL(); intermediateBlockInterval = existing.INTERMEDIATE_BLOCK_INTERVAL(); proofThreshold = existing.PROOF_THRESHOLD(); } function run() external { vm.startBroadcast(); aggregateVerifier = address( new AggregateVerifier({ gameType_: gameType, anchorStateRegistry_: anchorStateRegistry, delayedWETH: delayedWeth, teeVerifier: TEEVerifier(teeVerifier), zkVerifier: MockVerifier(zkVerifier), teeImageHash: teeImageHash, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHash, aggregateHash: zkAggregateHash}), configHash: configHash, l2ChainId: l2ChainId, blockInterval: blockInterval, intermediateBlockInterval: intermediateBlockInterval, proofThreshold: proofThreshold }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == GameType.unwrap(gameType), "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == address(anchorStateRegistry), "aggregate asr mismatch"); require(address(av.DISPUTE_GAME_FACTORY()) == address(anchorStateRegistry.disputeGameFactory()), "aggregate dgf mismatch"); require(address(av.DELAYED_WETH()) == address(delayedWeth), "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == teeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == zkVerifier, "aggregate zk verifier mismatch"); require(av.TEE_IMAGE_HASH() == teeImageHash, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHash, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == zkAggregateHash, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == configHash, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == l2ChainId, "aggregate l2 chain id mismatch"); require(av.BLOCK_INTERVAL() == blockInterval, "aggregate block interval mismatch"); require(av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockInterval, "aggregate intermediate interval mismatch"); require(av.PROOF_THRESHOLD() == proofThreshold, "aggregate proof threshold mismatch"); } function _writeAddresses() internal { console.log("AggregateVerifier:", aggregateVerifier); vm.writeJson({json: vm.toString(aggregateVerifier), path: "addresses.json", valueKey: ".aggregateVerifier"}); } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployAndSetupNitro.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Script, console} from "forge-std/Script.sol"; import { INitroEnclaveVerifier, ZkCoProcessorConfig, ZkCoProcessorType } from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {RiscZeroSetVerifier, RiscZeroSetVerifierLib} from "lib/risc0-ethereum/contracts/src/RiscZeroSetVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; contract DeployAndSetupNitro is Script { address internal existingNitroEnclaveVerifierEnv; address internal teeProverRegistryOwnerEnv; address internal teeProverRegistryProxyEnv; address internal nitroRevokerEnv; bytes32 internal riscZeroSetBuilderImageIdEnv; // Derived from the existing NitroEnclaveVerifier at setUp time. uint64 internal nitroInitialMaxTimeDiff; bytes32 internal nitroInitialRootCert; address internal riscZeroVerifierRouter; address internal riscZeroSetVerifier; bytes32 internal nitroZkVerifierId; address public nitroEnclaveVerifier; function setUp() public { existingNitroEnclaveVerifierEnv = vm.envAddress("EXISTING_NITRO_ENCLAVE_VERIFIER"); teeProverRegistryOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); teeProverRegistryProxyEnv = vm.envAddress("TEE_PROVER_REGISTRY_PROXY"); nitroRevokerEnv = vm.envAddress("NITRO_REVOKER"); riscZeroSetBuilderImageIdEnv = vm.envBytes32("RISC0_SET_BUILDER_IMAGE_ID"); // Read config from the existing NitroEnclaveVerifier to ensure continuity. NitroEnclaveVerifier existingNev = NitroEnclaveVerifier(existingNitroEnclaveVerifierEnv); nitroInitialMaxTimeDiff = existingNev.maxTimeDiff(); nitroInitialRootCert = existingNev.rootCert(); ZkCoProcessorConfig memory cfg = existingNev.getZkConfig(ZkCoProcessorType.RiscZero); riscZeroVerifierRouter = cfg.zkVerifier; nitroZkVerifierId = cfg.verifierId; bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); riscZeroSetVerifier = INitroEnclaveVerifier(existingNitroEnclaveVerifierEnv) .getZkVerifier({_zkCoProcessor: ZkCoProcessorType.RiscZero, _selector: setVerifierSelector}); } function run() external { bytes32[] memory trustedCerts = new bytes32[](0); uint64[] memory trustedCertExpiries = new uint64[](0); vm.startBroadcast(); nitroEnclaveVerifier = address( new NitroEnclaveVerifier({ owner: msg.sender, initialMaxTimeDiff: nitroInitialMaxTimeDiff, initializeTrustedCerts: trustedCerts, initializeTrustedCertExpiries: trustedCertExpiries, initialRootCert: nitroInitialRootCert, initialProofSubmitter: msg.sender, initialRevoker: nitroRevokerEnv, zkCoProcessor: ZkCoProcessorType.RiscZero, config: ZkCoProcessorConfig({ verifierId: nitroZkVerifierId, aggregatorId: bytes32(0), zkVerifier: riscZeroVerifierRouter }), verifierProofId: bytes32(0) }) ); NitroEnclaveVerifier(nitroEnclaveVerifier).addVerifyRoute({ zkCoProcessor: ZkCoProcessorType.RiscZero, selector: RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv), verifier: riscZeroSetVerifier }); NitroEnclaveVerifier(nitroEnclaveVerifier).setProofSubmitter(teeProverRegistryProxyEnv); NitroEnclaveVerifier(nitroEnclaveVerifier).transferOwnership(teeProverRegistryOwnerEnv); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { _checkRiscZeroSetVerifier(); _checkNitroEnclaveVerifier(); } function _checkRiscZeroSetVerifier() internal view { RiscZeroSetVerifier setVerifier = RiscZeroSetVerifier(riscZeroSetVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(address(setVerifier.VERIFIER()) == riscZeroVerifierRouter, "set verifier router mismatch"); require(setVerifier.SELECTOR() == setVerifierSelector, "set verifier selector mismatch"); } function _checkNitroEnclaveVerifier() internal view { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifier); bytes4 setVerifierSelector = RiscZeroSetVerifierLib.selector(riscZeroSetBuilderImageIdEnv); require(nev.maxTimeDiff() == nitroInitialMaxTimeDiff, "nitro max time diff mismatch"); require(nev.rootCert() == nitroInitialRootCert, "nitro root cert mismatch"); require(nev.proofSubmitter() == teeProverRegistryProxyEnv, "nitro proof submitter mismatch"); require(nev.revoker() == nitroRevokerEnv, "nitro revoker mismatch"); require(nev.owner() == teeProverRegistryOwnerEnv, "nitro owner mismatch"); ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero); require(cfg.verifierId == nitroZkVerifierId, "nitro verifier id mismatch"); require(cfg.aggregatorId == bytes32(0), "nitro aggregator id mismatch"); require(cfg.zkVerifier == riscZeroVerifierRouter, "nitro router mismatch"); require(nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == bytes32(0), "nitro verifier proof id mismatch"); require( INitroEnclaveVerifier(nitroEnclaveVerifier) .getZkVerifier({_zkCoProcessor: ZkCoProcessorType.RiscZero, _selector: setVerifierSelector}) == riscZeroSetVerifier, "nitro set-verifier route mismatch" ); } function _writeAddresses() internal { console.log("NitroEnclaveVerifier:", nitroEnclaveVerifier); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "nitroEnclaveVerifier", value: nitroEnclaveVerifier}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/script/DeployTEEProverRegistryImpl.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {INitroEnclaveVerifier} from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; contract DeployTeeProverRegistryImpl is Script { address internal disputeGameFactoryProxyEnv; address internal nitroEnclaveVerifier; address public teeProverRegistryImpl; function setUp() public { disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); } function run() external { vm.startBroadcast(); teeProverRegistryImpl = address( new TEEProverRegistry({ nitroVerifier: INitroEnclaveVerifier(nitroEnclaveVerifier), factory: IDisputeGameFactory(disputeGameFactoryProxyEnv) }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { TEEProverRegistry registry = TEEProverRegistry(teeProverRegistryImpl); require(address(registry.NITRO_VERIFIER()) == nitroEnclaveVerifier, "tee registry nitro mismatch"); require(address(registry.DISPUTE_GAME_FACTORY()) == disputeGameFactoryProxyEnv, "tee registry dgf mismatch"); } function _writeAddresses() internal { console.log("TEEProverRegistryImpl:", teeProverRegistryImpl); vm.writeJson({ json: vm.toString(teeProverRegistryImpl), path: "addresses.json", valueKey: ".teeProverRegistryImpl" }); } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/script/UpgradeTEEProverRegistry.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {TEEProverRegistry} from "@base-contracts/src/multiproof/tee/TEEProverRegistry.sol"; interface IProxyAdmin { function upgrade(address proxy, address implementation) external; } interface IProxy { function implementation() external view returns (address); } interface IDisputeGameFactory { function gameImpls(GameType gameType) external view returns (address); function setImplementation(GameType gameType, address impl, bytes calldata args) external; } contract UpgradeTeeProverRegistry is MultisigScript { address internal ownerSafeEnv; address internal proxyAdminEnv; address internal teeProverRegistryProxyEnv; address internal disputeGameFactoryProxyEnv; address internal newTeeProverRegistryImpl; address internal newNitroEnclaveVerifier; address internal newAggregateVerifier; // Derived from the deployed AggregateVerifier. GameType internal gameType; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); teeProverRegistryProxyEnv = vm.envAddress("TEE_PROVER_REGISTRY_PROXY"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); newTeeProverRegistryImpl = vm.parseJsonAddress({json: json, key: ".teeProverRegistryImpl"}); newNitroEnclaveVerifier = vm.parseJsonAddress({json: json, key: ".nitroEnclaveVerifier"}); newAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); gameType = AggregateVerifier(newAggregateVerifier).gameType(); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](2); // 0. Upgrade the TEEProverRegistry proxy to the new implementation (points to new NEV). calls[0] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall(IProxyAdmin.upgrade, (teeProverRegistryProxyEnv, newTeeProverRegistryImpl)), value: 0 }); // 1. Register the new AggregateVerifier in the DisputeGameFactory. calls[1] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactory.setImplementation, (gameType, newAggregateVerifier, "")), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { vm.prank(proxyAdminEnv); require( IProxy(teeProverRegistryProxyEnv).implementation() == newTeeProverRegistryImpl, "tee registry implementation mismatch" ); require( address(TEEProverRegistry(teeProverRegistryProxyEnv).NITRO_VERIFIER()) == newNitroEnclaveVerifier, "tee registry nitro mismatch" ); require( IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameType) == newAggregateVerifier, "dgf aggregate verifier mismatch" ); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/validations/upgrade-tee-registry-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0x48e3995e89b5093eb1b9e1954b27a93ec24aa87e90eb8b4a1d1da4d8a1f1049c" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xa440aa26b229b26e1a9a257dd91c1614c61b99807d725a60ba76059e4e4a4dc3", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "after": "0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872", "description": "Updates the AggregateVerifier implementation address for game type 621.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000002", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xc6da430873ecec5a5fc3670db199efefdae78b642b94f0f6e44d7dc26ad1af34", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000002", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "TEE Prover Registry Proxy - Zeronet", "address": "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "after": "0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085", "description": "Updates TEEProverRegistry proxy implementation address.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-07-upgrade-tee-registry-nitro/validations/upgrade-tee-registry-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpgradeTeeProverRegistry.s.sol:UpgradeTeeProverRegistry --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525", "messageHash": "0x48e3995e89b5093eb1b9e1954b27a93ec24aa87e90eb8b4a1d1da4d8a1f1049c" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "overrides": [ { "key": "0x8f1177d976166466f1c918a3473f431c3ae7cabf62887733eb8eacb7ae4ccc08", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x0000000000000000000000006ed60b2e1bdc8bcf333e12e716af2bc63bb263d6", "after": "0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872", "description": "Updates the AggregateVerifier implementation address for game type 621.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000002", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x1c998127e74c9016d83d5844597ffa246ac577edaf327d9428f5f1ddc7e3a0ac", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Sets an approval for this transaction.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000001", "after": "0x0000000000000000000000000000000000000000000000000000000000000002", "description": "Increments the nonce", "allowDifference": false } ] }, { "name": "TEE Prover Registry Proxy - Zeronet", "address": "0xf1d1441B7d98f191f5CFBE4660D3684FEa004AFc", "changes": [ { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x0000000000000000000000003b0d2f6a1f9d9de3a163e1f0aaf845dd47ce3122", "after": "0x000000000000000000000000cbb3f44b4378c014ce7aaa15bae54b433ac63085", "description": "Updates TEEProverRegistry proxy implementation address.", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Generate validation file ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-nitro-verifier make deps make gen-validation ``` This produces `validations/fix-nitro-verifier-cb-signer.json`, which signers should use in the signing UI. ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-nitro-verifier make deps ``` ### 2. Collect signatures from all participating signers Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` ### 3. Execute ```bash SIGNATURES=$SIGNATURES make execute ``` Post-checks enforced by the script: - `NitroEnclaveVerifier.owner()` remains `TEE_PROVER_REGISTRY_OWNER` - `NitroEnclaveVerifier.proofSubmitter()` remains unchanged - `NitroEnclaveVerifier.revoker()` remains unchanged - `NitroEnclaveVerifier.maxTimeDiff()` remains unchanged - `NitroEnclaveVerifier.rootCert()` remains unchanged - `NitroEnclaveVerifier.getZkConfig(RiscZero).verifierId` equals `NITRO_ZK_VERIFIER_ID` - `NitroEnclaveVerifier.getZkConfig(RiscZero).aggregatorId` remains unchanged - `NitroEnclaveVerifier.getZkConfig(RiscZero).zkVerifier` remains unchanged - `NitroEnclaveVerifier.getVerifierProofId(RiscZero)` remains unchanged ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/Makefile ================================================ include ../../Makefile include ../../Multisig.mk -include ../.env include .env RPC_URL = $(L1_RPC_URL) SCRIPT_NAME = script/FixNitroVerifierId.s.sol:FixNitroVerifierId SENDER ?= $(shell cast call $(TEE_PROVER_REGISTRY_OWNER) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: deps deps: task-extra-deps .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 .PHONY: validate-config validate-config: @test -n "$(BASE_CONTRACTS_COMMIT)" || (echo "BASE_CONTRACTS_COMMIT required" && exit 1) @test -n "$(TEE_PROVER_REGISTRY_OWNER)" || (echo "TEE_PROVER_REGISTRY_OWNER required" && exit 1) @test -n "$(NITRO_ENCLAVE_VERIFIER)" || (echo "NITRO_ENCLAVE_VERIFIER required" && exit 1) @test -n "$(CURRENT_NITRO_ZK_VERIFIER_ID)" || (echo "CURRENT_NITRO_ZK_VERIFIER_ID required" && exit 1) @test -n "$(NITRO_ZK_VERIFIER_ID)" || (echo "NITRO_ZK_VERIFIER_ID required" && exit 1) @test -n "$(SENDER)" || (echo "SENDER required" && exit 1) @echo "Configuration validated successfully" .PHONY: gen-validation gen-validation: validate-config deps-signer-tool mkdir -p validations; \ $(call GEN_VALIDATION,$(SCRIPT_NAME),,$(SENDER),fix-nitro-verifier-cb-signer.json,) .PHONY: execute execute: validate-config $(call MULTISIG_EXECUTE,$(SIGNATURES)) ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/README.md ================================================ # Fix Nitro Verifier ID Status: [EXECUTED](https://hoodi.etherscan.io/tx/0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce) ## Description This task updates the live Zeronet `NitroEnclaveVerifier` (`0x4e3E30E148E803667913bE97A8ce9EBA39b65563`) to use the corrected RISC Zero verifier program ID. It is a single-call multisig task that invokes `updateVerifierId` for the RISC Zero path, changing the Nitro verifier ID from `0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6` to `0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e`. The task starts from the post-execution state of the executed Zeronet upgrade task in [PR #663](https://github.com/base/contract-deployments/pull/663). It does not redeploy `NitroEnclaveVerifier`, `TEEProverRegistry`, or `AggregateVerifier`. It preserves the current Nitro owner, proof submitter, revoker, root cert, max time diff, router, aggregator ID, and verifier proof ID. ## Procedure ### Sign task #### 1. Update repo and install deps ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-nitro-verifier make deps ``` #### 2. Run the signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) Select the correct task user from the list of available users and sign the transaction. #### 4. Send the signature to the facilitator Facilitator execution steps are documented in `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/records/FixNitroVerifierId.s.sol/560048/run-1776445069900.json ================================================ { "transactions": [ { "hash": "0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x4e3E30E148E803667913bE97A8ce9EBA39b65563", "0", "0xcc05c0b3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e0000000000000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x7fc57a5347915d6e4b8e0f95de9b52bf9f134cd0b692d13337454cba7875f1ef095b521ebd1630af6004339005c6956432b2a343df2a80b9fe454c2e8ad93f5a1c9fe9aee86c0c839a653cbd9180a08c48583268649789b9c2825022aa798dd8154c0800a4ba097e9f08b676f55db5534f8d21909cd7f521a00493b2233fd41b0c1c6ef284f6da691a58f249a388f595c8874ae453fdd951b63671b6cb146a06cbcb2f7f9b450d786bfda8987d94e48500245665d67eee86a0d11735cadbd401e9811b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x1ab62", "value": "0x0", "input": "0x6a7612020000000000000000000000004e3e30e148e803667913be97a8ce9eba39b655630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000064cc05c0b3000000000000000000000000000000000000000000000000000000000000000115051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c37fc57a5347915d6e4b8e0f95de9b52bf9f134cd0b692d13337454cba7875f1ef095b521ebd1630af6004339005c6956432b2a343df2a80b9fe454c2e8ad93f5a1c9fe9aee86c0c839a653cbd9180a08c48583268649789b9c2825022aa798dd8154c0800a4ba097e9f08b676f55db5534f8d21909cd7f521a00493b2233fd41b0c1c6ef284f6da691a58f249a388f595c8874ae453fdd951b63671b6cb146a06cbcb2f7f9b450d786bfda8987d94e48500245665d67eee86a0d11735cadbd401e9811b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x61", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x51f7ef", "logs": [ { "address": "0x4e3e30e148e803667913be97a8ce9eba39b65563", "topics": [ "0x51084eb34dac0e8c796b2741ed1a6fed727311fc435b0af0dac30f0581dbce49", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07", "blockNumber": "0x283d40", "blockTimestamp": "0x69e2668c", "transactionHash": "0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce", "transactionIndex": "0x12", "logIndex": "0x31", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x731b0b2cddb9bcb5fd20ae099c63d79a920594dd1a574b41fc1c48f0b94c65f7" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07", "blockNumber": "0x283d40", "blockTimestamp": "0x69e2668c", "transactionHash": "0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce", "transactionIndex": "0x12", "logIndex": "0x32", "removed": false } ], "logsBloom": "0x00000020400000000000000000000004001000000000000000000000050000001000000000000000000000000000000000000000000000000080000000040000000000000100000000000000000000000000000200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200008000000008000000000000000000000000000000000000000000000000000000004000000400000000000000000000000000000000000000000000400000000000000000000000000000000000000100040000000000000000000000000000000000000000800000000000000000000000000", "type": "0x2", "transactionHash": "0x3b7898e2c9b47b5000ba09cf67933c6b98027a4e49eecfe00539ad8e7f2e08ce", "transactionIndex": "0x12", "blockHash": "0x72b44d4d3e9f2297ff53d4f0376cf130887b6272db7229a858cc106e1e849c07", "blockNumber": "0x283d40", "gasUsed": "0x1356c", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776445069900, "chain": 560048, "commit": "1242d16" } ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/script/FixNitroVerifierId.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {Vm} from "forge-std/Vm.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {MultisigScript} from "@base-contracts/script/universal/MultisigScript.sol"; import {Enum} from "@base-contracts/script/universal/IGnosisSafe.sol"; import {ZkCoProcessorConfig, ZkCoProcessorType} from "interfaces/multiproof/tee/INitroEnclaveVerifier.sol"; import {NitroEnclaveVerifier} from "@base-contracts/src/multiproof/tee/NitroEnclaveVerifier.sol"; contract FixNitroVerifierId is MultisigScript { address internal nitroOwnerEnv; address internal nitroEnclaveVerifierEnv; bytes32 internal currentNitroZkVerifierIdEnv; bytes32 internal newNitroZkVerifierIdEnv; address internal currentProofSubmitter; address internal currentRevoker; uint64 internal currentMaxTimeDiff; bytes32 internal currentRootCert; bytes32 internal currentAggregatorId; address internal currentRouter; bytes32 internal currentVerifierProofId; function setUp() public { nitroOwnerEnv = vm.envAddress("TEE_PROVER_REGISTRY_OWNER"); nitroEnclaveVerifierEnv = vm.envAddress("NITRO_ENCLAVE_VERIFIER"); currentNitroZkVerifierIdEnv = vm.envBytes32("CURRENT_NITRO_ZK_VERIFIER_ID"); newNitroZkVerifierIdEnv = vm.envBytes32("NITRO_ZK_VERIFIER_ID"); require(currentNitroZkVerifierIdEnv != newNitroZkVerifierIdEnv, "verifier id already target"); NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifierEnv); require(nev.owner() == nitroOwnerEnv, "nitro owner mismatch"); currentProofSubmitter = nev.proofSubmitter(); currentRevoker = nev.revoker(); currentMaxTimeDiff = nev.maxTimeDiff(); currentRootCert = nev.rootCert(); currentVerifierProofId = nev.getVerifierProofId(ZkCoProcessorType.RiscZero); ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero); require(cfg.verifierId == currentNitroZkVerifierIdEnv, "unexpected current verifier id"); currentAggregatorId = cfg.aggregatorId; currentRouter = cfg.zkVerifier; } function _buildCalls() internal view override returns (Call[] memory calls) { calls = new Call[](1); calls[0] = Call({ operation: Enum.Operation.Call, target: nitroEnclaveVerifierEnv, data: abi.encodeCall( NitroEnclaveVerifier.updateVerifierId, (ZkCoProcessorType.RiscZero, newNitroZkVerifierIdEnv, currentVerifierProofId) ), value: 0 }); } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { NitroEnclaveVerifier nev = NitroEnclaveVerifier(nitroEnclaveVerifierEnv); ZkCoProcessorConfig memory cfg = nev.getZkConfig(ZkCoProcessorType.RiscZero); require(nev.owner() == nitroOwnerEnv, "nitro owner changed"); require(nev.proofSubmitter() == currentProofSubmitter, "nitro proof submitter changed"); require(nev.revoker() == currentRevoker, "nitro revoker changed"); require(nev.maxTimeDiff() == currentMaxTimeDiff, "nitro max time diff changed"); require(nev.rootCert() == currentRootCert, "nitro root cert changed"); require(cfg.verifierId == newNitroZkVerifierIdEnv, "nitro verifier id mismatch"); require(cfg.aggregatorId == currentAggregatorId, "nitro aggregator id changed"); require(cfg.zkVerifier == currentRouter, "nitro router changed"); require( nev.getVerifierProofId(ZkCoProcessorType.RiscZero) == currentVerifierProofId, "nitro verifier proof id changed" ); } function _ownerSafe() internal view override returns (address) { return nitroOwnerEnv; } } ================================================ FILE: zeronet/2026-04-17-fix-nitro-verifier/validations/fix-nitro-verifier-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixNitroVerifierId.s.sol:FixNitroVerifierId --sig sign(address[]) [] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0xbee760b0eb211eda9ebc731c7b84a2e381491873c14003eca70bdcf997f811f8" }, "stateOverrides": [ { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x74139f45c055985357da01c4284f32ad254e5309f5799669df497a09b95388f4", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "NitroEnclaveVerifier - Zeronet", "address": "0x4e3E30E148E803667913bE97A8ce9EBA39b65563", "changes": [ { "key": "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", "before": "0xce17a683c290c57ff91f00d4c0e6e6ec8aa2f73285af7d81b162327ba96321d6", "after": "0x15051db631d6ed382d957c795a558a0abdd00d0d22a1670455721bc2712d3d6e", "description": "Updates the RISC Zero verifier ID used by NitroEnclaveVerifier.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete the EOA-authorized phase: ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-tee-image-hash make deps make deploy-aggregate-verifier ``` `make deploy-aggregate-verifier` runs `DeployAggregateVerifier`: - redeploys `AggregateVerifier` with the same immutables as the existing one, overriding only `TEE_IMAGE_HASH` with the corrected value - writes `addresses.json` Expected `addresses.json` key: - `aggregateVerifier` ## Generate validation files ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-tee-image-hash make deps make gen-validation-fix-cb make gen-validation-fix-sc ``` This produces: - `validations/fix-tee-image-hash-cb-signer.json` - `validations/fix-tee-image-hash-sc-signer.json` ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-17-fix-tee-image-hash make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-fix-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-fix-sc ``` ### 4. Execute upgrade batch ```bash make execute-fix ``` Post-checks enforced by script: - `DisputeGameFactory.gameImpls(621)` equals the newly deployed `aggregateVerifier` - `aggregateVerifier.TEE_IMAGE_HASH()` equals `TEE_IMAGE_HASH` ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/Makefile ================================================ include ../../Makefile include ../../Multisig.mk -include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) FIX_SCRIPT_NAME = script/FixTeeImageHash.s.sol:FixTeeImageHash FIX_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) FIX_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: deps deps: task-extra-deps .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment (EOA) ## .PHONY: deploy-aggregate-verifier deploy-aggregate-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) ## # Fix TEE image hash (multisig) ## .PHONY: gen-validation-fix-cb gen-validation-fix-cb: deps-signer-tool $(call GEN_VALIDATION,$(FIX_SCRIPT_NAME),$(CB_MULTISIG),$(FIX_CB_SENDER),fix-tee-image-hash-cb-signer.json,) .PHONY: gen-validation-fix-sc gen-validation-fix-sc: deps-signer-tool $(call GEN_VALIDATION,$(FIX_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(FIX_SC_SENDER),fix-tee-image-hash-sc-signer.json,) .PHONY: approve-fix-cb approve-fix-cb: SCRIPT_NAME := $(FIX_SCRIPT_NAME) approve-fix-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-fix-sc approve-fix-sc: SCRIPT_NAME := $(FIX_SCRIPT_NAME) approve-fix-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-fix execute-fix: SCRIPT_NAME := $(FIX_SCRIPT_NAME) execute-fix: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/README.md ================================================ # Fix TEE Image Hash Status: [EXECUTED](https://hoodi.etherscan.io/tx/0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3) ## Description This task redeploys `AggregateVerifier` on `zeronet` with a corrected `TEE_IMAGE_HASH` and registers the new implementation under game type `621` in the `DisputeGameFactory`. `TEE_IMAGE_HASH` is an `immutable` of `AggregateVerifier`, so an in-place update is impossible. The fix therefore consists of: - redeploying `AggregateVerifier` with identical immutables, overriding only `TEE_IMAGE_HASH` from `0xbcf94c238e15b5e423050df2b6f354ab2c5f3af791d8f862f654a195af9f491e` to `0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64` - pointing `DisputeGameFactory.gameImpls(621)` at the new implementation No other contract is redeployed or upgraded. `TEEProverRegistry`, `NitroEnclaveVerifier`, `TEEVerifier`, `DelayedWETH`, and `AnchorStateRegistry` are untouched. The task is intentionally split by caller permissions: - Phase 1: deployer EOA runs `DeployAggregateVerifier` - Phase 2: `PROXY_ADMIN_OWNER` multisig (nested `CB_MULTISIG` + `BASE_SECURITY_COUNCIL`) registers the new `AggregateVerifier` in the `DisputeGameFactory` ## Procedure ### Sign task #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/addresses.json ================================================ { "aggregateVerifier": "0xeBF217B345fd635B0614e4F56afbe2136528883e" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/records/DeployAggregateVerifier.s.sol/560048/run-1776453426877.json ================================================ { "transactions": [ { "hash": "0x21e96b0e806f3ffafc5779168f62e9338f515b1491039daabe9523202c202569", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0xebf217b345fd635b0614e4f56afbe2136528883e", "function": null, "arguments": [ "621", "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "0x4730CEc510E664838B20B576881702b64651Cc45", "0x11fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a64", "(0x33870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d8, 0x00719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7)", "0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e", "763360", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3aea27", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea26469706673582212203abca49e729456bd777ac45f6bcfa1fc20e1f99bd0f4dc8071fb286363e5667f64736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000004730cec510e664838b20b576881702b64651cc4511fb64617dfa2875d31b0cfb656666fd8cee65eb134fefeca171b9b6b4444a6433870b16176c98af4b2c96f721f9a7fa68ea92f8244618360a1592f5719085d800719a15f7d3cb34da5c1caa72bfa7e397fd8f16808bdb958bc6da03999762c7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x62", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x2f65eb", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x21e96b0e806f3ffafc5779168f62e9338f515b1491039daabe9523202c202569", "transactionIndex": "0x1", "blockHash": "0x68d4d8b17337c2f5d625df9460986e464cd3e1700b0bc6a1a34f40e44ee7c5b7", "blockNumber": "0x283fbb", "gasUsed": "0x2d51a8", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xebf217b345fd635b0614e4f56afbe2136528883e" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776453426877, "chain": 560048, "commit": "85d9dac" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/approve-latest.json ================================================ { "transactions": [ { "hash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b752", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x64", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3587f8", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "blockTimestamp": "0x69e29284", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "logIndex": "0x18", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x0dc0208ea125bb8c540db6c477395ddbcfbacf12f2d35e7cb42e330733f836dc" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "blockTimestamp": "0x69e29284", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "logIndex": "0x19", "removed": false } ], "logsBloom": "0x00000000440000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000200000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000000000000000000000000000120000000000000000", "type": "0x2", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "gasUsed": "0x13e10", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776456325644, "chain": 560048, "commit": "5a4c81b" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456290482.json ================================================ { "transactions": [ { "hash": "0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xb49d386bb1608245302ff708266211f77152a0941e3361859be3b8ccaf1a3a35214b7fb5b941494ad12f36a2e45868725a565e9cd4586f41adbd7fb578375e9b1cc586ddbb8d9c9dc9311a48971fbafc53c210d2921ae8fb960e88aa366986a0305b6acd8b5934b8fbc8855a23db9016b951e1b44336ef48a10efcc170e4b7a0951b80c1a9ed48548cbf3c9bf2cfd6135210eae4070581a9a9e93dda6d04f3bbe93857741d094f21953d67ab29c5f7bd519fc636255f90cd1a64f34411555d64073b1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20392", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3b49d386bb1608245302ff708266211f77152a0941e3361859be3b8ccaf1a3a35214b7fb5b941494ad12f36a2e45868725a565e9cd4586f41adbd7fb578375e9b1cc586ddbb8d9c9dc9311a48971fbafc53c210d2921ae8fb960e88aa366986a0305b6acd8b5934b8fbc8855a23db9016b951e1b44336ef48a10efcc170e4b7a0951b80c1a9ed48548cbf3c9bf2cfd6135210eae4070581a9a9e93dda6d04f3bbe93857741d094f21953d67ab29c5f7bd519fc636255f90cd1a64f34411555d64073b1c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x63", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x33fe2d", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06", "blockNumber": "0x28409a", "blockTimestamp": "0x69e29260", "transactionHash": "0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a", "transactionIndex": "0x2c", "logIndex": "0x14", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x93ccc0cd448c22a3852291dda960c27ca0dfbfbde03ef52a9faecb3434e36112" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06", "blockNumber": "0x28409a", "blockTimestamp": "0x69e29260", "transactionHash": "0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a", "transactionIndex": "0x2c", "logIndex": "0x15", "removed": false } ], "logsBloom": "0x00000000440000000000000000000200000000000000000000000000040000001001000000000080000000000000000000000000000000100000000000000000000000000000000000000000000000000000000004000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000000000400000000000000000000000140000004000000200000000080000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000200000000100000000000000000", "type": "0x2", "transactionHash": "0x3bf2c468b450a9218e40f25850c7966a42118834629e4d87953aac47dd74a11a", "transactionIndex": "0x2c", "blockHash": "0xdf256d1eea855db55ab43ab6039310bbcdf4134c91d65c3ab1157b0ed93fef06", "blockNumber": "0x28409a", "gasUsed": "0x17544", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776456290482, "chain": 560048, "commit": "5a4c81b" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456325644.json ================================================ { "transactions": [ { "hash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x2583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b752", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcd1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412583d1d7fc6b31df219b7db21d1ce7d3b4d117650bc81e3903fd2b56ad277db962e190bdef440d289f31b5520df90d82c66f54ab0e9c3323d3069a31878d6a2a1b00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x64", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3587f8", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "blockTimestamp": "0x69e29284", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "logIndex": "0x18", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x0dc0208ea125bb8c540db6c477395ddbcfbacf12f2d35e7cb42e330733f836dc" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "blockTimestamp": "0x69e29284", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "logIndex": "0x19", "removed": false } ], "logsBloom": "0x00000000440000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000200000000000004000000200000000080000000000200000000000000000000000000000000000000000000000000000020000000000000200000000000000000000000000000000000000000000000120000000000000000", "type": "0x2", "transactionHash": "0x0c2c84b8ea44e6c2219eb122f8abec6d10a39dc08fe9a4f71af2c08c76c2650d", "transactionIndex": "0x24", "blockHash": "0x66f8a60a7ceb1eed4982cac7243e486d096e7784f61ee3d97cdf46546f8c9756", "blockNumber": "0x28409d", "gasUsed": "0x13e10", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776456325644, "chain": 560048, "commit": "5a4c81b" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/records/FixTeeImageHash.s.sol/560048/run-1776456384746.json ================================================ { "transactions": [ { "hash": "0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3", "transactionType": "CALL", "contractName": null, "contractAddress": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "0", "0xb1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "gas": "0x19abf", "value": "0x0", "input": "0x6a761202000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x65", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1a2d55", "logs": [ { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016", "blockNumber": "0x2840a1", "blockTimestamp": "0x69e292c0", "transactionHash": "0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3", "transactionIndex": "0x18", "logIndex": "0x9", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016", "blockNumber": "0x2840a1", "blockTimestamp": "0x69e292c0", "transactionHash": "0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3", "transactionIndex": "0x18", "logIndex": "0xa", "removed": false }, { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x1a3b11bb06f216f6c7e1a975be968874e9ff2e1c78aa751b48c19ee10c3d76ed" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016", "blockNumber": "0x2840a1", "blockTimestamp": "0x69e292c0", "transactionHash": "0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3", "transactionIndex": "0x18", "logIndex": "0xb", "removed": false } ], "logsBloom": "0x00000000440000000000000000000000000000000000800000000080040000000001000000000000000000000000000000000000000008000000000000000000100000000480000000000000000000004000000000000000000000000000000002000000000000000000000000000000000004000000000000000000000000000000000000400000000000000000000000000000000000000000000000000400000000000000108000010000000004000000200000000080000000000000000000000000000000000000000000000000000000000800000020000000000000000000000000000000000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x5040cdbab505f66c32db1b5d334325091243ea76a169053eab0b22b27c66c7e3", "transactionIndex": "0x18", "blockHash": "0x4e3e1692fce124a9ade1c9b4e2e66ecce9c09c1e46c759e25368d10e0bc3b016", "blockNumber": "0x2840a1", "gasUsed": "0x12960", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776456384746, "chain": 560048, "commit": "5a4c81b" } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/script/DeployAggregateVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {MockVerifier} from "@base-contracts/src/multiproof/mocks/MockVerifier.sol"; /// @notice Redeploys AggregateVerifier with a corrected TEE_IMAGE_HASH. /// All other immutables are read on-chain from the existing AggregateVerifier to /// guarantee continuity. contract DeployAggregateVerifier is Script { address internal existingAggregateVerifierEnv; bytes32 internal currentTeeImageHashEnv; bytes32 internal newTeeImageHashEnv; GameType internal gameType; IAnchorStateRegistry internal anchorStateRegistry; IDelayedWETH internal delayedWeth; address internal teeVerifier; address internal zkVerifier; bytes32 internal zkRangeHash; bytes32 internal zkAggregateHash; bytes32 internal configHash; uint256 internal l2ChainId; uint256 internal blockInterval; uint256 internal intermediateBlockInterval; uint256 internal proofThreshold; address public aggregateVerifier; function setUp() public { existingAggregateVerifierEnv = vm.envAddress("EXISTING_AGGREGATE_VERIFIER"); currentTeeImageHashEnv = vm.envBytes32("CURRENT_TEE_IMAGE_HASH"); newTeeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); require(currentTeeImageHashEnv != newTeeImageHashEnv, "tee image hash already target"); AggregateVerifier existing = AggregateVerifier(existingAggregateVerifierEnv); require(existing.TEE_IMAGE_HASH() == currentTeeImageHashEnv, "unexpected current tee image hash"); gameType = existing.gameType(); anchorStateRegistry = existing.anchorStateRegistry(); delayedWeth = existing.DELAYED_WETH(); teeVerifier = address(existing.TEE_VERIFIER()); zkVerifier = address(existing.ZK_VERIFIER()); zkRangeHash = existing.ZK_RANGE_HASH(); zkAggregateHash = existing.ZK_AGGREGATE_HASH(); configHash = existing.CONFIG_HASH(); l2ChainId = existing.L2_CHAIN_ID(); blockInterval = existing.BLOCK_INTERVAL(); intermediateBlockInterval = existing.INTERMEDIATE_BLOCK_INTERVAL(); proofThreshold = existing.PROOF_THRESHOLD(); } function run() external { vm.startBroadcast(); aggregateVerifier = address( new AggregateVerifier({ gameType_: gameType, anchorStateRegistry_: anchorStateRegistry, delayedWETH: delayedWeth, teeVerifier: TEEVerifier(teeVerifier), zkVerifier: MockVerifier(zkVerifier), teeImageHash: newTeeImageHashEnv, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHash, aggregateHash: zkAggregateHash}), configHash: configHash, l2ChainId: l2ChainId, blockInterval: blockInterval, intermediateBlockInterval: intermediateBlockInterval, proofThreshold: proofThreshold }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == GameType.unwrap(gameType), "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == address(anchorStateRegistry), "aggregate asr mismatch"); require( address(av.DISPUTE_GAME_FACTORY()) == address(anchorStateRegistry.disputeGameFactory()), "aggregate dgf mismatch" ); require(address(av.DELAYED_WETH()) == address(delayedWeth), "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == teeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == zkVerifier, "aggregate zk verifier mismatch"); require(av.TEE_IMAGE_HASH() == newTeeImageHashEnv, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHash, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == zkAggregateHash, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == configHash, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == l2ChainId, "aggregate l2 chain id mismatch"); require(av.BLOCK_INTERVAL() == blockInterval, "aggregate block interval mismatch"); require( av.INTERMEDIATE_BLOCK_INTERVAL() == intermediateBlockInterval, "aggregate intermediate interval mismatch" ); require(av.PROOF_THRESHOLD() == proofThreshold, "aggregate proof threshold mismatch"); } function _writeAddresses() internal { console.log("AggregateVerifier:", aggregateVerifier); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "aggregateVerifier", value: aggregateVerifier}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/script/FixTeeImageHash.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; interface IDisputeGameFactory { function gameImpls(GameType gameType) external view returns (address); function setImplementation(GameType gameType, address impl, bytes calldata args) external; } /// @notice Swaps the game-type 621 implementation in the DisputeGameFactory to the newly /// deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH. contract FixTeeImageHash is MultisigScript { address internal ownerSafeEnv; address internal disputeGameFactoryProxyEnv; address internal existingAggregateVerifierEnv; bytes32 internal newTeeImageHashEnv; address internal newAggregateVerifier; GameType internal gameType; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); existingAggregateVerifierEnv = vm.envAddress("EXISTING_AGGREGATE_VERIFIER"); newTeeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); newAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); require(newAggregateVerifier != existingAggregateVerifierEnv, "new aggregate verifier equals existing"); AggregateVerifier newAv = AggregateVerifier(newAggregateVerifier); gameType = newAv.gameType(); // Guard: the freshly deployed AggregateVerifier must carry the target hash. require(newAv.TEE_IMAGE_HASH() == newTeeImageHashEnv, "new aggregate tee image hash mismatch"); // Guard: the AggregateVerifier currently registered in the DGF for this game type must be // the same one the deploy script cloned. The deploy script already asserted that contract // carries CURRENT_TEE_IMAGE_HASH, so this transitively validates the prestate we are replacing. require( IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameType) == existingAggregateVerifierEnv, "dgf impl does not match existing aggregate verifier" ); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); calls[0] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactory.setImplementation, (gameType, newAggregateVerifier, "")), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal view override { IDisputeGameFactory dgf = IDisputeGameFactory(disputeGameFactoryProxyEnv); require(dgf.gameImpls(gameType) == newAggregateVerifier, "dgf aggregate verifier mismatch"); require( AggregateVerifier(newAggregateVerifier).TEE_IMAGE_HASH() == newTeeImageHashEnv, "new aggregate tee image hash mismatch" ); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/validations/fix-tee-image-hash-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixTeeImageHash.s.sol:FixTeeImageHash --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0x3695561de0ac9c43dd9fd2a573b0d83c96526f4c326f38538e9227d805226c67" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0x28d7e9f232f55cee8990b6400fc11aaca470568b6fd2aa22e1e68766e31b2288", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872", "after": "0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the nonce", "allowDifference": false }, { "key": "0xf077a78388245f191c880d239235ebc3d7f72cdab9f0985784294025945c667c", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-17-fix-tee-image-hash/validations/fix-tee-image-hash-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixTeeImageHash.s.sol:FixTeeImageHash --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525", "messageHash": "0x23947027a0a7bb52553170bbafb5f8d70c746d91e291dea22cbd3d10630fc4e5" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "overrides": [ { "key": "0x11a6d020c004c751458b2b827deb00fd77b6680a64b12d68b75d5d56510d66ec", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000016cdb236f103078677aea6d9287ea9b2f33c872", "after": "0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the corrected TEE_IMAGE_HASH.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x2d7922aa0e202de4c56956b9059b1bf02491887b8baa857be9c03e6f852806b1", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000002", "after": "0x0000000000000000000000000000000000000000000000000000000000000003", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete the EOA-authorized phase: ```bash cd contract-deployments git pull cd zeronet/2026-04-21-update-zk-config make deps make deploy-zk-verifier make deploy-aggregate-verifier make deploy-anchor-state-registry ``` `make deploy-zk-verifier` runs `DeployZkVerifier`: - deploys the `ZkVerifier` used by this task - writes `zkVerifier` to `addresses.json` `make deploy-aggregate-verifier` runs `DeployAggregateVerifier`: - redeploys `AggregateVerifier` with the same immutables as the existing one, overriding `ZK_VERIFIER`, `TEE_IMAGE_HASH`, `ZK_RANGE_HASH`, and `ZK_AGGREGATE_HASH` - writes `aggregateVerifier` to `addresses.json` `make deploy-anchor-state-registry` runs `DeployAnchorStateRegistry`: - deploys the next `AnchorStateRegistry` implementation with the same finality delay as the live proxy - writes `anchorStateRegistryImpl` to `addresses.json` Expected `addresses.json` keys: - `zkVerifier` - `aggregateVerifier` - `anchorStateRegistryImpl` ## Pre-sign check: `STARTING_ANCHOR_*` correctness `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` are chain-critical. Before collecting signatures, verify both values against the target RPC endpoints. ### 1. Validate that the anchor block number is expected Confirm `STARTING_ANCHOR_L2_BLOCK_NUMBER` matches the planned cutover value. ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER cast block $BLOCK --rpc-url $L2_RPC_URL ``` ### 2. Derive output root from that exact block Use `optimism_outputAtBlock` with the same block and compare to `STARTING_ANCHOR_ROOT` from `.env`. ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER OUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url $OP_NODE_RPC_URL | jq -r '.outputRoot') echo $OUTPUT_ROOT echo $STARTING_ANCHOR_ROOT ``` Expected result: - `OUTPUT_ROOT == STARTING_ANCHOR_ROOT` ### 3. RPC requirements - `L2_RPC_URL` should point to the target L2 execution RPC. - `OP_NODE_RPC_URL` must expose `optimism_outputAtBlock`. - Depending on block age and provider retention, an archive-capable RPC may be required. ## Generate validation files ```bash cd contract-deployments git pull cd zeronet/2026-04-21-update-zk-config make deps make gen-validation-update-zk-config-cb make gen-validation-update-zk-config-sc ``` This produces: - `validations/update-zk-config-cb-signer.json` - `validations/update-zk-config-sc-signer.json` ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-21-update-zk-config make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-update-zk-config-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-update-zk-config-sc ``` ### 4. Execute upgrade batch ```bash make execute-update-zk-config ``` Post-checks enforced by script: - `AnchorStateRegistry` proxy implementation equals the newly deployed `anchorStateRegistryImpl` - `AnchorStateRegistry.anchorGame()` equals `address(0)` - `AnchorStateRegistry.getStartingAnchorRoot()` equals the configured `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` - `DisputeGameFactory.gameImpls(gameType)` equals the newly deployed `aggregateVerifier` - `zkVerifier.SP1_VERIFIER()` equals the configured `SP1_VERIFIER` - `aggregateVerifier.ZK_VERIFIER()` equals the newly deployed `zkVerifier` - `aggregateVerifier.TEE_IMAGE_HASH()` equals the configured `TEE_IMAGE_HASH` - `aggregateVerifier.ZK_RANGE_HASH()` equals the configured `ZK_RANGE_HASH` - `aggregateVerifier.ZK_AGGREGATE_HASH()` equals the configured `ZK_AGGREGATE_HASH` ================================================ FILE: zeronet/2026-04-21-update-zk-config/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) UPDATE_ZK_CONFIG_SCRIPT_NAME = script/UpdateZkConfig.s.sol:UpdateZkConfig UPDATE_ZK_CONFIG_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) UPDATE_ZK_CONFIG_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches apply-patches: cd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch .PHONY: deps deps: task-extra-deps apply-patches .PHONY: task-extra-deps task-extra-deps: forge install --no-git github.com/base/op-enclave@a2d5398f04c3a8e4df929d58ee638ba4a037bfec forge install --no-git github.com/risc0/risc0-ethereum@a78ac4a52fe9cfa14120c3b496430f0d42e1d8d3 forge install --no-git github.com/succinctlabs/sp1-contracts@22c4a47cd0a388cb4e25b4f2513954e4275c74ca git clone --no-checkout https://github.com/OpenZeppelin/openzeppelin-contracts.git lib/openzeppelin-contracts-v5 && \ cd lib/openzeppelin-contracts-v5 && git checkout dbb6104ce834628e473d2173bbc9d47f81a9eec3 git clone --no-checkout https://github.com/Vectorized/solady.git lib/solady-v0.0.245 && \ cd lib/solady-v0.0.245 && git checkout e0ef35adb0ccd1032794731a995cb599bba7b537 ## # Deployment (EOA) ## .PHONY: deploy-zk-verifier deploy-zk-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployZkVerifier.s.sol:DeployZkVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) .PHONY: deploy-aggregate-verifier deploy-aggregate-verifier: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAggregateVerifier.s.sol:DeployAggregateVerifier \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) .PHONY: deploy-anchor-state-registry deploy-anchor-state-registry: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAnchorStateRegistry.s.sol:DeployAnchorStateRegistry \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) ## # Update ZK config (multisig) ## .PHONY: gen-validation-update-zk-config-cb gen-validation-update-zk-config-cb: deps-signer-tool $(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(CB_MULTISIG),$(UPDATE_ZK_CONFIG_CB_SENDER),update-zk-config-cb-signer.json,) .PHONY: gen-validation-update-zk-config-sc gen-validation-update-zk-config-sc: deps-signer-tool $(call GEN_VALIDATION,$(UPDATE_ZK_CONFIG_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(UPDATE_ZK_CONFIG_SC_SENDER),update-zk-config-sc-signer.json,) .PHONY: approve-update-zk-config-cb approve-update-zk-config-cb: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) approve-update-zk-config-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-update-zk-config-sc approve-update-zk-config-sc: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) approve-update-zk-config-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-update-zk-config execute-update-zk-config: SCRIPT_NAME := $(UPDATE_ZK_CONFIG_SCRIPT_NAME) execute-update-zk-config: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: zeronet/2026-04-21-update-zk-config/README.md ================================================ # Update ZK Config Status: [EXECUTED](https://hoodi.etherscan.io/tx/0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0) ## Description This task updates the verifier configuration of the multiproof implementation on `zeronet` and resets the `AnchorStateRegistry` starting anchor root. - deploying a new `ZkVerifier` - redeploying `AggregateVerifier` with identical immutables, overriding `ZK_VERIFIER`, `TEE_IMAGE_HASH`, `ZK_RANGE_HASH`, and `ZK_AGGREGATE_HASH` - deploying a new `AnchorStateRegistry` implementation - upgrading `AnchorStateRegistry` to seed the new starting anchor root and clear `anchorGame` - pointing `DisputeGameFactory.gameImpls(gameType)` at the new `AggregateVerifier` ## Procedure ### Sign task #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-21-update-zk-config/addresses.json ================================================ { "zkVerifier": "0x5faAF7614056F09C7a525dCf76244d0832d64038", "aggregateVerifier": "0xFE3E1D27023c4c2E85a7DB89d880499958Abb77D", "anchorStateRegistryImpl": "0x97Cf8c67E0bCA7b55909191A731F4d762c9d5Ff1" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/L1/=lib/contracts/src/L1/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: zeronet/2026-04-21-update-zk-config/patch/asr-reset-anchor-game.patch ================================================ diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol index 0e2c41c..02e16a8 100644 --- a/src/dispute/AnchorStateRegistry.sol +++ b/src/dispute/AnchorStateRegistry.sol @@ -77,7 +77,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa error AnchorStateRegistry_Unauthorized(); /// @param _disputeGameFinalityDelaySeconds The dispute game finality delay in seconds. - constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(2) { + constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(3) { DISPUTE_GAME_FINALITY_DELAY_SECONDS = _disputeGameFinalityDelaySeconds; _disableInitializers(); } @@ -102,6 +102,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa systemConfig = _systemConfig; disputeGameFactory = _disputeGameFactory; startingAnchorRoot = _startingAnchorRoot; + anchorGame = IFaultDisputeGame(address(0)); respectedGameType = _startingRespectedGameType; // Set the retirement timestamp to the current timestamp the first time the contract is ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/DeployAggregateVerifier.s.sol/560048/run-1776963810337.json ================================================ { "transactions": [ { "hash": "0xeb42b38108c11a7fcc888ab8be7ea749ad8ebcd2b33c03cf590843044b2b3828", "transactionType": "CREATE", "contractName": "AggregateVerifier", "contractAddress": "0xfe3e1d27023c4c2e85a7db89d880499958abb77d", "function": null, "arguments": [ "621", "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "0x8fF945fcAd2ca8d66Fa1ba63C70440328Bb14FF3", "0x6F3DB1c1F5110b20EfBBCCD13367Bca8898092E6", "0x5faAF7614056F09C7a525dCf76244d0832d64038", "0x213ad2e8f1594e1c386ef88ed9d2ec0df5a968f5228a5b17f4b0040599726515", "(0x23081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c595464, 0x0020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7)", "0xab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e", "763360", "600", "30", "1" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x3aea17", "value": "0x0", "input": "0x6102606040523480156200001257600080fd5b50604051620039fc380380620039fc833981016040819052620000359162000264565b82158062000041575081155b8062000057575062000054828462000345565b15155b15620000845760405163462b853960e11b8152600481018490526024810183905260440160405180910390fd5b8060011415801562000097575080600214155b15620000b65760405163b1016ea760e01b815260040160405180910390fd5b63ffffffff8c16610220526001600160a01b038b1660808190526040805163f2b4e61760e01b8152905163f2b4e617916004808201926020929091908290030181865afa1580156200010c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013291906200035c565b6001600160a01b0390811660a0528a811660c05289811660e0528816610120526101008790528551610140526020860151610160526101808590526101a08490526101c08390526101e08290526102408190526200018f620001c0565b6200019c90602062000399565b620001a990608e620003bb565b6102005250620003ed9a5050505050505050505050565b60006101e0516101c051620001d69190620003d6565b905090565b6001600160a01b0381168114620001f157600080fd5b50565b80516200020181620001db565b919050565b6000604082840312156200021957600080fd5b604080519081016001600160401b03811182821017156200024a57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806000806101a08d8f0312156200028857600080fd5b8c5163ffffffff811681146200029d57600080fd5b9b50620002ad60208e01620001f4565b9a50620002bd60408e01620001f4565b9950620002cd60608e01620001f4565b9850620002dd60808e01620001f4565b975060a08d01519650620002f58e60c08f0162000206565b95506101008d015194506101208d015193506101408d015192506101608d015191506101808d015190509295989b509295989b509295989b565b634e487b7160e01b600052601260045260246000fd5b6000826200035757620003576200032f565b500690565b6000602082840312156200036f57600080fd5b81516200037c81620001db565b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620003b657620003b662000383565b500290565b60008219821115620003d157620003d162000383565b500190565b600082620003e857620003e86200032f565b500490565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051610220516102405161346762000595600039600081816103bf0152610f200152600081816109840152818161144901526120d2015260006110d601526000818161071801528181611941015281816129ee0152612a290152600081816105710152818161137a015281816113b50152611962015260006107f6015260008181610a8301528181612b0c0152612c8901526000818161085e0152612d4101526000818161082a0152612caa0152600081816108e301528181611ba90152612d1001526000818161037d01528181612b2d0152612be901526000818161045e01528181611c3a0152612bba0152600081816109f801528181610c2601528181610cdc015261161d015260006107c20152600081816106a101528181611188015281816112e5015281816114740152818161173201528181611824015281816118cc015281816121330152818161219d0152818161222f01528181612337015281816123ca0152818161245b01526124ee01526134676000f3fe6080604052600436106103345760003560e01c80636dc86e81116101ab5780639ded3952116100f7578063c26783e911610095578063d1ee5e4b1161006f578063d1ee5e4b14610a5a578063d28cb06f14610a71578063e41f96ad14610aa5578063fa24f74314610ac557600080fd5b8063c26783e9146109e6578063cf09e0d014610a1a578063cfcf984b14610a3a57600080fd5b8063b97cb80f116100d1578063b97cb80f1461094d578063bbdc02db1461096d578063bcef3b55146109ae578063bdb337d1146109c357600080fd5b80639ded3952146108d1578063addecc0614610905578063b74df35a1461093857600080fd5b806382ff53a111610164578063908cb80e1161013e578063908cb80e1461084c5780639730163d146108805780639840fd841461089657806399735e32146108bc57600080fd5b806382ff53a1146107b05780638417d3c2146107e457806387d34f161461081857600080fd5b80636dc86e811461070657806370872aa51461073a57806374f8bf321461074f578063786b844b146107645780637a6bc9e11461077957806380f323a71461079a57600080fd5b8063324a13c9116102855780634e95eb58116102235780635c0cba33116101fd5780635c0cba3314610692578063609d3334146106c55780636361506d146106da57806364d12136146106ef57600080fd5b80634e95eb581461061e57806354fd4d501461063457806357da950e1461066257600080fd5b80633fada3fd1161025f5780633fada3fd146105a85780634224b1e7146105c957806342316182146105dc57806349edf35a146105fe57600080fd5b8063324a13c91461054957806335c4377b1461055f57806337b1b2291461059357600080fd5b80631f837574116102f2578063250e69bd116102cc578063250e69bd146104ce57806325fc2ace146104ff5780632810e1d6146105145780632845e5bb1461052957600080fd5b80631f8375741461044c578063200d2ed21461048057806323edb2e0146104ae57600080fd5b8062821de3146103395780630183fd441461036b57806310fbee28146103ad5780631333db2e146103e157806319effeb4146103f85780631ee5d7c814610437575b600080fd5b34801561034557600080fd5b5061034e610ae9565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561037757600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610362565b3480156103b957600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ed57600080fd5b506103f6610afa565b005b34801561040457600080fd5b5060005461041f90600160401b90046001600160401b031681565b6040516001600160401b039091168152602001610362565b34801561044357600080fd5b5061034e610e08565b34801561045857600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506000546104a190600160801b900460ff1681565b6040516103629190612f35565b3480156104ba57600080fd5b5060035461034e906001600160a01b031681565b3480156104da57600080fd5b506000546104ef90600160901b900460ff1681565b6040519015158152602001610362565b34801561050b57600080fd5b5060015461039f565b34801561052057600080fd5b506104a1610e3f565b34801561053557600080fd5b5060075461041f906001600160401b031681565b34801561055557600080fd5b5061039f60055481565b34801561056b57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059f57600080fd5b5061034e611067565b3480156105b457600080fd5b506003546104ef90600160a01b900460ff1681565b6103f66105d7366004612f97565b611073565b3480156105e857600080fd5b506105f1611687565b6040516103629190613030565b34801561060a57600080fd5b5061039f61061936600461304a565b6116a6565b34801561062a57600080fd5b5061039f61010081565b34801561064057600080fd5b506040805180820190915260058152640302e312e360dc1b60208201526105f1565b34801561066e57600080fd5b5060015460025461067d919082565b60408051928352602083019190915201610362565b34801561069e57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061034e565b3480156106d157600080fd5b506105f16116f3565b3480156106e657600080fd5b5061039f611718565b3480156106fb57600080fd5b5061041f6201518081565b34801561071257600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561074657600080fd5b5060025461039f565b34801561075b57600080fd5b5061034e611724565b34801561077057600080fd5b506103f6611730565b34801561078557600080fd5b506003546104ef90600160a81b900460ff1681565b3480156107a657600080fd5b5061039f60045481565b3480156107bc57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107f057600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561082457600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561085857600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088c57600080fd5b5061039f611fff81565b3480156108a257600080fd5b5061034e71f90827f1c53a10cb7a02335b17532000293581565b3480156108c857600080fd5b5061039f61192e565b3480156108dd57600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b5060075461092690600160401b900460ff1681565b60405160ff9091168152602001610362565b34801561094457600080fd5b5061039f61193a565b34801561095957600080fd5b506103f6610968366004613063565b611986565b34801561097957600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610362565b3480156109ba57600080fd5b5061039f611c9d565b3480156109cf57600080fd5b50600754426001600160401b0390911611156104ef565b3480156109f257600080fd5b5061034e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610a2657600080fd5b5060005461041f906001600160401b031681565b348015610a4657600080fd5b506103f6610a55366004612f97565b611ca9565b348015610a6657600080fd5b5061041f62093a8081565b348015610a7d57600080fd5b5061039f7f000000000000000000000000000000000000000000000000000000000000000081565b348015610ab157600080fd5b506103f6610ac0366004613063565b611ddb565b348015610ad157600080fd5b50610ada6120cb565b604051610362939291906130b3565b6000610af5607461210c565b905090565b600268929eee149b4bd212685403610b1a5763ab143c066000526004601cfd5b600268929eee149b4bd2126855600354600160a81b900460ff1615610b52576040516317bfe5f760e01b815260040160405180910390fd5b6007546001600160401b0390811614610ba657600054600160401b90046001600160401b03166001600160401b0316600003610ba157604051636082930560e11b815260040160405180910390fd5b610be8565b6000546001600160401b0316610bbf90621275006130f7565b6001600160401b0316421015610be8576040516304643c3960e01b815260040160405180910390fd5b600354600160a01b900460ff16610c9d5760035460048054604051637eee288d60e01b81526001600160a01b039384169281019290925260248201527f000000000000000000000000000000000000000000000000000000000000000090911690637eee288d90604401600060405180830381600087803b158015610c6c57600080fd5b505af1158015610c80573d6000803e3d6000fd5b50506003805460ff60a01b1916600160a01b17905550610df99050565b60038054600160a81b60ff60a81b198216179091556004805460405163f3fef3a360e01b81526001600160a01b039384169281019290925260248201527f00000000000000000000000000000000000000000000000000000000000000009091169063f3fef3a390604401600060405180830381600087803b158015610d2257600080fd5b505af1158015610d36573d6000803e3d6000fd5b5050600354600454604051600094506001600160a01b039092169250908381818185875af1925050503d8060008114610d8b576040519150601f19603f3d011682016040523d82523d6000602084013e610d90565b606091505b5050905080610db2576040516383e6cc6b60e01b815260040160405180910390fd5b6003546004546040519081526001600160a01b03909116907f87e12c2565042763daa6bf5842ed2b6447f17f7e28f9a4905fe3959581396ead9060200160405180910390a2505b600168929eee149b4bd2126855565b6000600681805b6001811115610e2057610e20612f1f565b81526020810191909152604001600020546001600160a01b0316919050565b600080600054600160801b900460ff166002811115610e6057610e60612f1f565b14610e7e5760405163f1a9458160e01b815260040160405180910390fd5b6000610e8861212f565b90506000816002811115610e9e57610e9e612f1f565b03610ebc57604051634962835760e11b815260040160405180910390fd5b6001816002811115610ed057610ed0612f1f565b03610eed576000805460ff60801b1916600160801b179055610fe7565b600754426001600160401b039091161115610f1b576040516304643c3960e01b815260040160405180910390fd5b6007547f0000000000000000000000000000000000000000000000000000000000000000600160401b90910460ff161015610f695760405163344de4bf60e01b815260040160405180910390fd5b60055415610fd3576000805460ff60801b1916600160801b1781556001905260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a3154600380546001600160a01b0319166001600160a01b03909216919091179055610fe7565b6000805460ff60801b1916600160811b1790555b600080546fffffffffffffffff00000000000000001916600160401b426001600160401b03160217908190556040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da609161104d91600160801b90910460ff1690612f35565b60405180910390a15050600054600160801b900460ff1690565b6000610af5600061210c565b600054600160881b900460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000602060016110ad8483613122565b6110b7919061313a565b6110c19190613151565b6110cc906020613173565b90506000816110fc7f00000000000000000000000000000000000000000000000000000000000000006040613122565b6111069190613122565b905080361461111d57639824bdab6000526004601cfd5b61112b611128611c9d565b90565b611142600161113861193a565b610619919061313a565b1461118657611154600161113861193a565b61115f611128611c9d565b60405163f33fa6cf60e01b8152600481019290925260248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111b8610ae9565b6001600160a01b0316146112e35760006111d0610ae9565b90506111db81612315565b6111f85760405163346119f760e01b815260040160405180910390fd5b6040518060400160405280611268836001600160a01b031663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190613192565b8152602001826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cf9190613192565b905280516001556020015160025550611371565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663664ed8306040518163ffffffff1660e01b81526004016040805180830381865afa158015611340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136491906131ab565b8051600155602001516002555b60025461139f907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113a761192e565b14611404576002546113da907f000000000000000000000000000000000000000000000000000000000000000090613122565b6113e261192e565b60405163043d96bb60e11b81526004810192909252602482015260440161117d565b600080546001600160401b03421671ff000000000000000000ffffffffffffffff1990911617600160881b17905560408051630f27ce5f60e21b8152905163ffffffff7f000000000000000000000000000000000000000000000000000000000000000016916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691633c9f397c916004808201926020929091908290030181865afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613207565b6000805460ff60901b191663ffffffff9290921692909214600160901b02178155600780546001600160401b0367ffffffffffffffff19909116179055848482816115315761153161322d565b919091013560f81c9050600181111561154c5761154c612f1f565b9050600061155e602160018789613243565b6115679161326d565b9050600061157960416021888a613243565b6115829161326d565b905061158e82826125df565b6115d061159e876041818b613243565b856115a7611067565b60015487905b6002546115bb611128611c9d565b6115c361192e565b6115cb611687565b61278f565b6115e1836115dc611067565b61282f565b6115e9611067565b600380546001600160a01b0319166001600160a01b0392831617905534600481815560408051630d0e30db60e41b815290517f00000000000000000000000000000000000000000000000000000000000000009094169363d0e30db0939282810192600092919082900301818588803b15801561166557600080fd5b505af1158015611679573d6000803e3d6000fd5b505050505050505050505050565b6060610af5608861169661193a565b6116a1906020613173565b612912565b60006116b061193a565b82106116cf5760405163a6c661fd60e01b815260040160405180910390fd5b6116ed6116dd836020613173565b6116e8906088613122565b612954565b92915050565b6060610af5605461170261193a565b61170d906020613173565b6116a1906034613122565b6000610af56034612954565b60006006816001610e0f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b2919061328b565b156117d05760405163379a7ed960e01b815260040160405180910390fd5b600054600160401b90046001600160401b03166001600160401b031660000361180c57604051636082930560e11b815260040160405180910390fd5b604051630314d2b360e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630314d2b390602401602060405180830381865afa158015611873573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611897919061328b565b9050806118b757604051634851bd9b60e01b815260040160405180910390fd5b6040516317cf21a960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906317cf21a990602401600060405180830381600087803b15801561191857600080fd5b505af1925050508015611929575060015b505b50565b6000610af56054612954565b6000610af57f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613151565b60008054600160801b900460ff1660028111156119a5576119a5612f1f565b146119c35760405163f1a9458160e01b815260040160405180910390fd5b6000848460008181106119d8576119d861322d565b919091013560f81c905060018111156119f3576119f3612f1f565b90506000600681836001811115611a0c57611a0c612f1f565b6001811115611a1d57611a1d612f1f565b81526020810191909152604001600020546001600160a01b031603611a5757806040516304b045a760e31b815260040161117d91906132ad565b60055415611add576001600554611a6e919061313a565b8314611a8d5760405163a6c661fd60e01b815260040160405180910390fd5b611a96836116a6565b8214611aa6578161115f846116a6565b6001816001811115611aba57611aba612f1f565b14611ad8576040516369ed70ab60e01b815260040160405180910390fd5b611ae7565b611ae78383612974565b6000806000611af5866129c3565b91945092509050611b44611b0c886001818c613243565b8633611b19611128611718565b88888c898e604051602001611b3091815260200190565b60405160208183030381529060405261278f565b611b4d84612a5c565b604080518781526020810187905233917f5a8d9d181e6a59fe5477a50721401b6332a810b9183e15ac62d386379a05a717910160405180910390a26001846001811115611b9c57611b9c612f1f565b03611c1f576005600090557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050611c93565b6000846001811115611c3357611c33612f1f565b03611c93577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ece20f366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561166557600080fd5b5050505050505050565b6000610af56014612954565b60008054600160801b900460ff166002811115611cc857611cc8612f1f565b14611ce65760405163067fe19560e41b815260040160405180910390fd5b600754426001600160401b0390911611611d135760405163df469ccb60e01b815260040160405180910390fd5b600082826000818110611d2857611d2861322d565b919091013560f81c90506001811115611d4357611d43612f1f565b90506000600681836001811115611d5c57611d5c612f1f565b6001811115611d6d57611d6d612f1f565b81526020810191909152604001600020546001600160a01b031614611da757806040516338a094bd60e11b815260040161117d91906132ad565b611dcc611db78360018187613243565b8333611dc4611128611718565b6001546115ad565b611dd6813361282f565b505050565b60008054600160801b900460ff166002811115611dfa57611dfa612f1f565b14611e185760405163f1a9458160e01b815260040160405180910390fd5b611e2130612315565b611e3e576040516357e25a0960e01b815260040160405180910390fd5b6001611e4861212f565b6002811115611e5957611e59612f1f565b03611e775760405163346119f760e01b815260040160405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8546001600160a01b0316611ecb5760006040516304b045a760e31b815260040161117d91906132ad565b600160005260066020527f3e5fec24aa4dc4e5aee2e025e51e1392c72a2500577559fae9665c6d52bd6a31546001600160a01b031615611f215760016040516338a094bd60e11b815260040161117d91906132ad565b600084846000818110611f3657611f3661322d565b919091013560f81c90506001811115611f5157611f51612f1f565b90506001816001811115611f6757611f67612f1f565b14611f85576040516369ed70ab60e01b815260040160405180910390fd5b611f8f8383612974565b6000806000611f9d866129c3565b91945092509050611fb4611b0c886001818c613243565b3360066000866001811115611fcb57611fcb612f1f565b6001811115611fdc57611fdc612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff1661202d91906132c1565b92506101000a81548160ff021916908360ff16021790555062093a806001600160401b03164261205d9190613122565b6007805467ffffffffffffffff19166001600160401b0392909216919091179055612089866001613122565b60055560405186815233907f7a180232c19fd38c83e493856a42688c477bae7e82039103b2c1ea6a6162e5299060200160405180910390a25050505050505050565b60008060607f00000000000000000000000000000000000000000000000000000000000000006120f9611c9d565b6121016116f3565b925092509250909192565b6000806121213660011981013560f01c900390565b929092013560601c92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316612163610ae9565b6001600160a01b03161461230f57600061217b610ae9565b604051631a51a37560e11b81526001600160a01b0380831660048301529192507f0000000000000000000000000000000000000000000000000000000000000000909116906334a346ea90602401602060405180830381865afa1580156121e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220a919061328b565b8061229a5750604051635958a19360e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229a919061328b565b156122a757600191505090565b806001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230991906132e6565b91505090565b50600290565b60405163ee658e4560e01b81526001600160a01b0382811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063ee658e4590602401602060405180830381865afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a4919061328b565b801561243557506040516304e50fed60e01b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906304e50fed90602401602060405180830381865afa158015612411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612435919061328b565b80156124c85750604051631a51a37560e11b81526001600160a01b0383811660048301527f000000000000000000000000000000000000000000000000000000000000000016906334a346ea90602401602060405180830381865afa1580156124a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c6919061328b565b155b801561255b5750604051635958a19360e01b81526001600160a01b0383811660048301527f00000000000000000000000000000000000000000000000000000000000000001690635958a19390602401602060405180830381865afa158015612535573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612559919061328b565b155b80156116ed57506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906132e6565b60028111156125d7576125d7612f1f565b141592915050565b4381106126085760405163096fec2960e21b81526004810182905243602482015260440161117d565b600080612615834361313a565b905061010081116126295782409150612738565b611fff81116127165760008071f90827f1c53a10cb7a02335b1753200029356001600160a01b03168560405160200161266491815260200190565b60408051601f198184030181529082905261267e91613307565b600060405180830381855afa9150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b50915091508115806126d257508051602014155b156126f957604051630f0b8f8160e01b81526004810186905243602482015260440161117d565b8080602001905181019061270d9190613192565b93505050612738565b604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b8161275f57604051630f0b8f8160e01b81526004810184905243602482015260440161117d565b838214612789576040516380b1ae5160e01b8152600481018590526024810183905260440161117d565b50505050565b60018910156127b1576040516309bde33960e01b815260040160405180910390fd5b60008860018111156127c5576127c5612f1f565b036127e0576127db8a8a89898989898989612b01565b612823565b60018860018111156127f4576127f4612f1f565b0361280a576127db8a8a89898989898989612c7e565b6040516369ed70ab60e01b815260040160405180910390fd5b50505050505050505050565b806006600084600181111561284657612846612f1f565b600181111561285757612857612f1f565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001600760088282829054906101000a900460ff166128a891906132c1565b92506101000a81548160ff021916908360ff1602179055506128c8612dc9565b8160018111156128da576128da612f1f565b6040516001600160a01b038316907f62f393acfb3d3425116fe9be7a6509a4b652bda54fdac2df2b7273135ecd58e790600090a35050565b606060006129283660011981013560f01c900390565b905060405191508282528284820160208401378260208301016000815260208101604052505092915050565b6000806129693660011981013560f01c900390565b929092013592915050565b61297c61193a565b821061299b5760405163a6c661fd60e01b815260040160405180910390fd5b806129a5836116a6565b0361192957604051635de57d7360e11b815260040160405180910390fd5b600080808084156129e1576129dc61061960018761313a565b6129e5565b6001545b90506000612a137f000000000000000000000000000000000000000000000000000000000000000087613173565b600254612a209190613122565b90506000612a4e7f0000000000000000000000000000000000000000000000000000000000000000836130f7565b929791965091945092505050565b60066000826001811115612a7257612a72612f1f565b6001811115612a8357612a83612f1f565b81526020810191909152604001600090812080546001600160a01b0319169055600754600160401b900460ff169003612acf5760405163344de4bf60e01b815260040160405180910390fd5b6007805460001960ff600160401b808404821692909201160268ff00000000000000001990911617905561192b612e67565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612b6499989796959493929190613323565b6040516020818303038152906040528051906020012090506000888b8b604051602001612b93939291906133a0565b60408051601f198184030181529082905263ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612c139084907f00000000000000000000000000000000000000000000000000000000000000009087906004016133cc565b602060405180830381865afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c54919061328b565b612c71576040516309bde33960e01b815260040160405180910390fd5b5050505050505050505050565b6000878787878787877f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000604051602001612ce199989796959493929190613323565b60408051601f1981840301815290829052805160209091012063ab750e7560e01b825291506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ab750e7590612d6b908d908d907f00000000000000000000000000000000000000000000000000000000000000009087906004016133f1565b602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac919061328b565b612823576040516309bde33960e01b815260040160405180910390fd5b6000612dd3612ed7565b905067fffffffffffffffe196001600160401b03821601612e0b57506007805467ffffffffffffffff19166001600160401b03179055565b6000612e1782426130f7565b600754909150612e42906001600160401b0380841691166001600160401b0316808218908211021890565b6007805467ffffffffffffffff19166001600160401b03929092169190911790555050565b6000612e71612ed7565b905067fffffffffffffffe196001600160401b03821601612ea957506007805467ffffffffffffffff19166001600160401b03179055565b612eb381426130f7565b6007805467ffffffffffffffff19166001600160401b039290921691909117905550565b6007546000906002600160401b90910460ff1610612ef757506201518090565b600754600160401b900460ff16600103612f13575062093a8090565b506001600160401b0390565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612f4957612f49612f1f565b91905290565b60008083601f840112612f6157600080fd5b5081356001600160401b03811115612f7857600080fd5b602083019150836020828501011115612f9057600080fd5b9250929050565b60008060208385031215612faa57600080fd5b82356001600160401b03811115612fc057600080fd5b612fcc85828601612f4f565b90969095509350505050565b60005b83811015612ff3578181015183820152602001612fdb565b838111156127895750506000910152565b6000815180845261301c816020860160208601612fd8565b601f01601f19169290920160200192915050565b6020815260006130436020830184613004565b9392505050565b60006020828403121561305c57600080fd5b5035919050565b6000806000806060858703121561307957600080fd5b84356001600160401b0381111561308f57600080fd5b61309b87828801612f4f565b90989097506020870135966040013595509350505050565b63ffffffff841681528260208201526060604082015260006130d86060830184613004565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613119576131196130e1565b01949350505050565b60008219821115613135576131356130e1565b500190565b60008282101561314c5761314c6130e1565b500390565b60008261316e57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561318d5761318d6130e1565b500290565b6000602082840312156131a457600080fd5b5051919050565b6000604082840312156131bd57600080fd5b604051604081018181106001600160401b03821117156131ed57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b60006020828403121561321957600080fd5b815163ffffffff8116811461304357600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561325357600080fd5b8386111561326057600080fd5b5050820193919092039150565b803560208310156116ed57600019602084900360031b1b1692915050565b60006020828403121561329d57600080fd5b8151801515811461304357600080fd5b6020810160028310612f4957612f49612f1f565b600060ff821660ff84168060ff038211156132de576132de6130e1565b019392505050565b6000602082840312156132f857600080fd5b81516003811061304357600080fd5b60008251613319818460208701612fd8565b9190910192915050565b6bffffffffffffffffffffffff198a60601b16815288601482015287603482015260006001600160401b0360c01b808960c01b16605484015287605c840152808760c01b16607c840152508451613381816084850160208901612fd8565b90910160848101939093525060a482015260c401979650505050505050565b6bffffffffffffffffffffffff198460601b168152818360148301376000910160140190815292915050565b6060815260006133df6060830186613004565b60208301949094525060400152919050565b606081528360608201528385608083013760006080858301015260006080601f19601f87011683010190508360208301528260408301529594505050505056fea2646970667358221220d3b5eb91dc16da011f56c371afbf1e187d3c2d1be76f5787e8a077c8c330b93764736f6c634300080f0033000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc587003280000000000000000000000008ff945fcad2ca8d66fa1ba63c70440328bb14ff30000000000000000000000006f3db1c1f5110b20efbbccd13367bca8898092e60000000000000000000000005faaf7614056f09c7a525dcf76244d0832d64038213ad2e8f1594e1c386ef88ed9d2ec0df5a968f5228a5b17f4b004059972651523081d5f7a4d3ce04d41c2f03b386bad4f42a99d5b4c8ef44f4c362c2c5954640020f5df94945d8d40bc2b11128cbf2535565f5cde58960029017ee2ccef46d7ab64b3118d2d030a3fd3fe3005239a2f332e48848bbedddca9e10df77ac7303e00000000000000000000000000000000000000000000000000000000000ba5e00000000000000000000000000000000000000000000000000000000000000258000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000001", "nonce": "0x6d", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x4835c7", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xeb42b38108c11a7fcc888ab8be7ea749ad8ebcd2b33c03cf590843044b2b3828", "transactionIndex": "0x1d", "blockHash": "0xce3eeb66144cef85d46919b0e207d252e8a764614ec380b1e8feee3d1ed0e1ed", "blockNumber": "0x28d783", "gasUsed": "0x2d519c", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0xfe3e1d27023c4c2e85a7db89d880499958abb77d" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776963810337, "chain": 560048, "commit": "f430840" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/DeployAnchorStateRegistry.s.sol/560048/run-1776963870263.json ================================================ { "transactions": [ { "hash": "0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3", "transactionType": "CREATE", "contractName": "AnchorStateRegistry", "contractAddress": "0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1b5d4d", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600360805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea264697066735822122028c609ba4e31b93ddcba7791812c0802f324ef94bdcf365021a76f53543f4eea64736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x6e", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1602ca", "logs": [ { "address": "0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x7a3e265760b1dc6098faab238d052fcff19c84d9fe64997ec938e703a13035b9", "blockNumber": "0x28d789", "blockTimestamp": "0x69ea510c", "transactionHash": "0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3", "transactionIndex": "0x3", "logIndex": "0x0", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008000000000000040080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0x9fcf90614edd1013700366e61305b75d621e8dd89f95309758821e253df8c8c3", "transactionIndex": "0x3", "blockHash": "0x7a3e265760b1dc6098faab238d052fcff19c84d9fe64997ec938e703a13035b9", "blockNumber": "0x28d789", "gasUsed": "0x150cb2", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x97cf8c67e0bca7b55909191a731f4d762c9d5ff1" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776963870263, "chain": 560048, "commit": "f430840" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/DeployZkVerifier.s.sol/560048/run-1776963357472.json ================================================ { "transactions": [ { "hash": "0xcaf778d5c7cd8919684fb46ae58f06070beed1ab8832f1b7818afd2c820fce38", "transactionType": "CREATE", "contractName": "ZkVerifier", "contractAddress": "0x5faaf7614056f09c7a525dcf76244d0832d64038", "function": null, "arguments": [ "0x7DA83eC4af493081500Ecd36d1a72c23F8fc2abd", "0x60A6C389F0BC5cE4269A40d9695927bC58700328" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x6a3b8", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b506040516105de3803806105de83398101604081905261002f9161005e565b6001600160a01b039081166080521660a052610098565b6001600160a01b038116811461005b57600080fd5b50565b6000806040838503121561007157600080fd5b825161007c81610046565b602084015190925061008d81610046565b809150509250929050565b60805160a05161050e6100d06000396000818160db015261015e015260008181609c0152818161021f01526102ae015261050e6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806354fd4d50146100675780635e02132e1461009757806378dbfee1146100d6578063ab750e75146100fd578063ece20f3614610120578063f9df65eb1461012a575b600080fd5b60408051808201825260058152640302e312e360dc1b6020820152905161008e91906103d0565b60405180910390f35b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008e565b6100be7f000000000000000000000000000000000000000000000000000000000000000081565b61011061010b3660046103ea565b610137565b604051901515815260200161008e565b61012861020a565b005b6000546101109060ff1681565b6000805460ff161561015c57604051632f3cfa1960e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166341493c60848460405160200161019f91815260200190565b60405160208183030381529060405288886040518563ffffffff1660e01b81526004016101cf9493929190610469565b60006040518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b50600198975050505050505050565b6040516324b5ce0b60e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063496b9c1690602401602060405180830381865afa15801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029291906104b6565b158061032357506040516304e50fed60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906304e50fed90602401602060405180830381865afa1580156102fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032191906104b6565b155b1561034157604051637c3e4fdb60e01b815260040160405180910390fd5b6000805460ff191660011790556040513381527f3e2a844f441471ec38f2e944e29cfe184c2fc1e108af1a0bc92ca4357bac19519060200160405180910390a1565b6000815180845260005b818110156103a95760208185018101518683018201520161038d565b818111156103bb576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103e36020830184610383565b9392505050565b6000806000806060858703121561040057600080fd5b843567ffffffffffffffff8082111561041857600080fd5b818701915087601f83011261042c57600080fd5b81358181111561043b57600080fd5b88602082850101111561044d57600080fd5b6020928301999098509187013596604001359550909350505050565b8481526060602082015260006104826060830186610383565b8281036040840152838152838560208301376000602085830101526020601f19601f86011682010191505095945050505050565b6000602082840312156104c857600080fd5b815180151581146103e357600080fdfea2646970667358221220d6d9cb32e94723b42bd04390d4347617422fa76bd46d51b62e40b4deb5ffe29164736f6c634300080f00330000000000000000000000007da83ec4af493081500ecd36d1a72c23f8fc2abd00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328", "nonce": "0x6c", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1381d6", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", "transactionHash": "0xcaf778d5c7cd8919684fb46ae58f06070beed1ab8832f1b7818afd2c820fce38", "transactionIndex": "0x13", "blockHash": "0x5e3afde40546c74d46c8455b80525e824de6552f6f6fa19e8dee444108906c55", "blockNumber": "0x28d763", "gasUsed": "0x51b7a", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x5faaf7614056f09c7a525dcf76244d0832d64038" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776963357472, "chain": 560048, "commit": "f430840" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/approve-latest.json ================================================ { "transactions": [ { "hash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20392", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x70", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1ae625", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "blockTimestamp": "0x69ea7908", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "logIndex": "0x11", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x7ada20efe88baacda97af6fea120889c88e3ba3544e1d5ad9b8f0bebb3a4da77" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "blockTimestamp": "0x69ea7908", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "logIndex": "0x12", "removed": false } ], "logsBloom": "0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100800000000000000000000000000000000000000008000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000008020000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000100080000000000000", "type": "0x2", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "gasUsed": "0x17544", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776974090194, "chain": 560048, "commit": "574ff8c" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776973851527.json ================================================ { "transactions": [ { "hash": "0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0xc5db38a111804634c6d47091a4f9eba210761c2b35ac2ac6f06e3f108fcf14a606e9ca0124a6bde33f6a99340fb6968202a30b05fb3e946c465b308a6c6ce27f1c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b752", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c5db38a111804634c6d47091a4f9eba210761c2b35ac2ac6f06e3f108fcf14a606e9ca0124a6bde33f6a99340fb6968202a30b05fb3e946c465b308a6c6ce27f1c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x6f", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x343010", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad", "blockNumber": "0x28da75", "blockTimestamp": "0x69ea7818", "transactionHash": "0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae", "transactionIndex": "0x1c", "logIndex": "0x21", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x450a5329efee76e2100ced6be0419d1cd80431d80e99d23da33aa1cbd4059be0" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad", "blockNumber": "0x28da75", "blockTimestamp": "0x69ea7818", "transactionHash": "0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae", "transactionIndex": "0x1c", "logIndex": "0x22", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000001000000000000000000000000000000000000000000100800000000040000010040000000000000000000000000000000000800000000000000001000000008000000400000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000008020000000000000000000000000000000004000000200000000080000000000200000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000", "type": "0x2", "transactionHash": "0xcf8bc44da8ea679d763cc092627b91cfb2cdf5e0d47038f3d2ae66508aaff2ae", "transactionIndex": "0x1c", "blockHash": "0x2b0ee86fba0ff20427871f6416550e1b554f5fa1561df840f2f2434725d218ad", "blockNumber": "0x28da75", "gasUsed": "0x13e10", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776973851527, "chain": 560048, "commit": "574ff8c" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776974090194.json ================================================ { "transactions": [ { "hash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x6eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20392", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c36eea76256609267dd0449ac1e120df28c966f41a0160571357845bf42ed8a89e01b9a4d2029a0e6ae8c6a6e0107b08db52cfda5560ae17f9a7c91516a3ae66a71b576e9d87c45eef11ffa73b22530f61a68d1f027589937225f08fb60d02fb89e84a57f9def74d255e2fe05f0985c7d72d4dffb1e43cd1f809d3cd72c8739af1cb1c8adf314b546adec3b9ad8f097af369d029622795eda2423a6915fc5acc4761be021a9a9eff1e74f0780a48a383ce9d38bd8eae4104815d2cff210a904246db411c0000000000000000000000000000000000000000000000000000000000", "nonce": "0x70", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1ae625", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "blockTimestamp": "0x69ea7908", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "logIndex": "0x11", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0x7ada20efe88baacda97af6fea120889c88e3ba3544e1d5ad9b8f0bebb3a4da77" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "blockTimestamp": "0x69ea7908", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "logIndex": "0x12", "removed": false } ], "logsBloom": "0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100800000000000000000000000000000000000000008000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000200000000000008000000000000000000008020000000000000000000000000040000004000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000100080000000000000", "type": "0x2", "transactionHash": "0xdee9a17460efff02140a692015449c15c14e6cb026f6cb860b6e6f8303736bac", "transactionIndex": "0x4", "blockHash": "0x133779d25d2fb157b01e18b8b6869fb1a5666feb5b2759b69a29dfddefc112cf", "blockNumber": "0x28da87", "gasUsed": "0x17544", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776974090194, "chain": 560048, "commit": "574ff8c" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/records/UpdateZkConfig.s.sol/560048/run-1776974497944.json ================================================ { "transactions": [ { "hash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionType": "CALL", "contractName": null, "contractAddress": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303", "0", "0x858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000038482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000022000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc5870032800000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", "1", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "gas": "0x34276", "value": "0x0", "input": "0x6a761202000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c58013030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000524858cc8320000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000a8b8ca1d6f0f5ce63dcea9121a01b302c580130300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000038482ad56cb000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000022000000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc5870032800000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a8090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000084b1070957000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x71", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x24cbae", "logs": [ { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1" ], "data": "0x", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "blockTimestamp": "0x69ea7aa0", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "logIndex": "0xf", "removed": false }, { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000003", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "blockTimestamp": "0x69ea7aa0", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "logIndex": "0x10", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de", "0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "blockTimestamp": "0x69ea7aa0", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "logIndex": "0x11", "removed": false }, { "address": "0x154972ab98a5e321a9c7ab7677973f1f501a8090", "topics": [ "0xa47fcdf075d680d3817bfca7973b373e1a5f6cfc3b444748299cc2b83d8348f9", "0x000000000000000000000000000000000000000000000000000000000000026d" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "blockTimestamp": "0x69ea7aa0", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "logIndex": "0x12", "removed": false }, { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xb72acb827b3ed0e5a6239ea3e550cf6d11b702251bdd2310e8b4c2cc23ef886b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "blockTimestamp": "0x69ea7aa0", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "logIndex": "0x13", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000800000000080040000000001000000000020000000000000000000000000000008000800000000000000100000000400000000000000000002004020000000004000000000000010008002010000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000080000000000008020200000000000000108000010000000404000000200000000080000000000000000000000020000000000000000000040000000000000000001000000000000000000000000000000800000000000000000000000000000000000000000000000100", "type": "0x2", "transactionHash": "0x84511c640a3f316cba8e6d6442ec152e5378013b9adc40b732633f283d2ea2a0", "transactionIndex": "0x19", "blockHash": "0x8790000e925d4bacb61d46424a37af1ebad050bb0cda6bd50651fd440466ddcf", "blockNumber": "0x28daa6", "gasUsed": "0x23a93", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776974497944, "chain": 560048, "commit": "574ff8c" } ================================================ FILE: zeronet/2026-04-21-update-zk-config/script/DeployAggregateVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDelayedWETH} from "interfaces/dispute/IDelayedWETH.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {IVerifier} from "interfaces/multiproof/IVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {TEEVerifier} from "@base-contracts/src/multiproof/tee/TEEVerifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; /// @notice Redeploys AggregateVerifier with a new verifier config. /// All other immutables are read on-chain from the existing AggregateVerifier to /// guarantee continuity. contract DeployAggregateVerifier is Script { // Task config from .env. address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; bytes32 internal teeImageHashEnv; bytes32 internal zkRangeHashEnv; bytes32 internal zkAggregateHashEnv; // Live multiproof implementation currently registered in the DGF. address internal currentAggregateVerifier; // Immutable constructor args copied from the live AggregateVerifier. GameType internal currentGameType; IAnchorStateRegistry internal currentAnchorStateRegistry; IDelayedWETH internal currentDelayedWeth; address internal currentTeeVerifier; bytes32 internal currentConfigHash; uint256 internal currentL2ChainId; uint256 internal currentBlockInterval; uint256 internal currentIntermediateBlockInterval; uint256 internal currentProofThreshold; // Deployment input produced by DeployZkVerifier and read from addresses.json. address internal nextZkVerifier; // Deployment output written to addresses.json. address public aggregateVerifier; function setUp() public { disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); teeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); zkAggregateHashEnv = vm.envBytes32("ZK_AGGREGATE_HASH"); currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv)); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); currentGameType = currentAggregate.gameType(); currentAnchorStateRegistry = currentAggregate.anchorStateRegistry(); currentDelayedWeth = currentAggregate.DELAYED_WETH(); currentTeeVerifier = address(currentAggregate.TEE_VERIFIER()); currentConfigHash = currentAggregate.CONFIG_HASH(); currentL2ChainId = currentAggregate.L2_CHAIN_ID(); currentBlockInterval = currentAggregate.BLOCK_INTERVAL(); currentIntermediateBlockInterval = currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(); currentProofThreshold = currentAggregate.PROOF_THRESHOLD(); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nextZkVerifier = vm.parseJsonAddress({json: json, key: ".zkVerifier"}); require(nextZkVerifier != address(0), "next zk verifier not set"); require( address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == address(currentAnchorStateRegistry), "next zk verifier asr mismatch" ); require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "next zk verifier sp1 mismatch"); } function run() external { vm.startBroadcast(); aggregateVerifier = address( new AggregateVerifier({ gameType_: currentGameType, anchorStateRegistry_: currentAnchorStateRegistry, delayedWETH: currentDelayedWeth, teeVerifier: TEEVerifier(currentTeeVerifier), zkVerifier: IVerifier(nextZkVerifier), teeImageHash: teeImageHashEnv, zkHashes: AggregateVerifier.ZkHashes({rangeHash: zkRangeHashEnv, aggregateHash: zkAggregateHashEnv}), configHash: currentConfigHash, l2ChainId: currentL2ChainId, blockInterval: currentBlockInterval, intermediateBlockInterval: currentIntermediateBlockInterval, proofThreshold: currentProofThreshold }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AggregateVerifier av = AggregateVerifier(aggregateVerifier); require(GameType.unwrap(av.gameType()) == GameType.unwrap(currentGameType), "aggregate game type mismatch"); require(address(av.anchorStateRegistry()) == address(currentAnchorStateRegistry), "aggregate asr mismatch"); require( address(av.DISPUTE_GAME_FACTORY()) == address(currentAnchorStateRegistry.disputeGameFactory()), "aggregate dgf mismatch" ); require(address(av.DELAYED_WETH()) == address(currentDelayedWeth), "aggregate delayed weth mismatch"); require(address(av.TEE_VERIFIER()) == currentTeeVerifier, "aggregate tee verifier mismatch"); require(address(av.ZK_VERIFIER()) == nextZkVerifier, "aggregate zk verifier mismatch"); require(av.TEE_IMAGE_HASH() == teeImageHashEnv, "aggregate tee image hash mismatch"); require(av.ZK_RANGE_HASH() == zkRangeHashEnv, "aggregate zk range hash mismatch"); require(av.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, "aggregate zk aggregate hash mismatch"); require(av.CONFIG_HASH() == currentConfigHash, "aggregate config hash mismatch"); require(av.L2_CHAIN_ID() == currentL2ChainId, "aggregate l2 chain id mismatch"); require(av.BLOCK_INTERVAL() == currentBlockInterval, "aggregate block interval mismatch"); require( av.INTERMEDIATE_BLOCK_INTERVAL() == currentIntermediateBlockInterval, "aggregate intermediate interval mismatch" ); require(av.PROOF_THRESHOLD() == currentProofThreshold, "aggregate proof threshold mismatch"); } function _writeAddresses() internal { console.log("AggregateVerifier:", aggregateVerifier); vm.writeJson({json: vm.toString(aggregateVerifier), path: "addresses.json", valueKey: ".aggregateVerifier"}); } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/script/DeployAnchorStateRegistry.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; /// @notice Deploys the next AnchorStateRegistry implementation used to reset the starting anchor root. contract DeployAnchorStateRegistry is Script { // Task config from .env. address internal anchorStateRegistryProxyEnv; // Constructor args copied from the live AnchorStateRegistry proxy. uint256 internal currentDisputeGameFinalityDelaySeconds; uint8 internal currentInitVersion; // Deployment output written to addresses.json. address public anchorStateRegistryImpl; function setUp() public { anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); require(anchorStateRegistryProxyEnv != address(0), "anchor state registry proxy not found"); AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv); currentDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds(); currentInitVersion = currentAsr.initVersion(); } function run() external { vm.startBroadcast(); anchorStateRegistryImpl = address( new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: currentDisputeGameFinalityDelaySeconds}) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AnchorStateRegistry nextAsr = AnchorStateRegistry(anchorStateRegistryImpl); require( nextAsr.disputeGameFinalityDelaySeconds() == currentDisputeGameFinalityDelaySeconds, "anchor state registry finality delay mismatch" ); require(nextAsr.initVersion() == currentInitVersion + 1, "anchor state registry init version mismatch"); } function _writeAddresses() internal { console.log("AnchorStateRegistry impl:", anchorStateRegistryImpl); vm.writeJson({ json: vm.toString(anchorStateRegistryImpl), path: "addresses.json", valueKey: ".anchorStateRegistryImpl" }); } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/script/DeployZkVerifier.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {GameType} from "@base-contracts/src/dispute/lib/Types.sol"; import {IAnchorStateRegistry} from "interfaces/dispute/IAnchorStateRegistry.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {ISP1Verifier} from "src/dispute/zk/ISP1Verifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; /// @notice Deploys the ZK verifier used by the multiproof AggregateVerifier. contract DeployZkVerifier is Script { // Task config from .env. address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; // Live multiproof implementation currently registered in the DGF. address internal currentAggregateVerifier; // Constructor args copied from the live AggregateVerifier. address internal currentAnchorStateRegistry; // Deployment output written to addresses.json. address public zkVerifier; function setUp() public { disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); currentAggregateVerifier = address(IDisputeGameFactory(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv)); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); currentAnchorStateRegistry = address(currentAggregate.anchorStateRegistry()); require(currentAnchorStateRegistry != address(0), "anchor state registry not found"); require(sp1VerifierEnv != address(0), "sp1 verifier not set"); } function run() external { vm.startBroadcast(); zkVerifier = address( new ZkVerifier({ sp1Verifier: ISP1Verifier(sp1VerifierEnv), anchorStateRegistry: IAnchorStateRegistry(currentAnchorStateRegistry) }) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { require( address(ZkVerifier(zkVerifier).ANCHOR_STATE_REGISTRY()) == currentAnchorStateRegistry, "zk verifier asr mismatch" ); require(address(ZkVerifier(zkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "zk verifier sp1 verifier mismatch"); } function _writeAddresses() internal { console.log("ZKVerifier:", zkVerifier); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "zkVerifier", value: zkVerifier}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/script/UpdateZkConfig.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GameType, Hash, Proposal} from "@base-contracts/src/dispute/lib/Types.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; import {AggregateVerifier} from "@base-contracts/src/multiproof/AggregateVerifier.sol"; import {ZkVerifier} from "@base-contracts/src/multiproof/zk/ZKVerifier.sol"; interface IProxyAdmin { function owner() external view returns (address); function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable; } interface IProxy { function implementation() external view returns (address); } interface IDisputeGameFactoryAdmin { function owner() external view returns (address); function gameImpls(GameType gameType) external view returns (address); function setImplementation(GameType gameType, address impl, bytes calldata args) external; } /// @notice Resets the AnchorStateRegistry starting anchor and updates the live multiproof implementation /// in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the new verifier config. contract UpdateZkConfig is MultisigScript { // Task config from .env. address internal ownerSafeEnv; address internal proxyAdminEnv; address internal systemConfigEnv; address internal anchorStateRegistryProxyEnv; address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; address internal sp1VerifierEnv; bytes32 internal teeImageHashEnv; bytes32 internal zkRangeHashEnv; bytes32 internal zkAggregateHashEnv; bytes32 internal startingAnchorRootEnv; uint256 internal startingAnchorL2BlockNumberEnv; // Live onchain state. address internal currentAggregateVerifier; address internal currentZkVerifier; address internal currentAnchorStateRegistryImpl; uint256 internal currentAsrDisputeGameFinalityDelaySeconds; uint8 internal currentAsrInitVersion; // Deployment outputs produced by the EOA scripts and read from addresses.json. address internal nextAggregateVerifier; address internal nextZkVerifier; address internal nextAnchorStateRegistryImpl; // AggregateVerifier metadata used by the multisig update call and post-checks. GameType internal nextGameType; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); sp1VerifierEnv = vm.envAddress("SP1_VERIFIER"); teeImageHashEnv = vm.envBytes32("TEE_IMAGE_HASH"); zkRangeHashEnv = vm.envBytes32("ZK_RANGE_HASH"); zkAggregateHashEnv = vm.envBytes32("ZK_AGGREGATE_HASH"); startingAnchorRootEnv = vm.envBytes32("STARTING_ANCHOR_ROOT"); startingAnchorL2BlockNumberEnv = vm.envUint("STARTING_ANCHOR_L2_BLOCK_NUMBER"); require(IProxyAdmin(proxyAdminEnv).owner() == ownerSafeEnv, "proxy admin owner mismatch"); require(IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).owner() == ownerSafeEnv, "dgf owner mismatch"); currentAggregateVerifier = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv).gameImpls(gameTypeEnv); require(currentAggregateVerifier != address(0), "current aggregate verifier not found"); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); require( GameType.unwrap(currentAggregate.gameType()) == GameType.unwrap(gameTypeEnv), "current game type mismatch" ); require( address(currentAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv, "current aggregate asr mismatch" ); currentZkVerifier = address(currentAggregate.ZK_VERIFIER()); AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv); currentAsrDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds(); currentAsrInitVersion = currentAsr.initVersion(); vm.prank(proxyAdminEnv); currentAnchorStateRegistryImpl = IProxy(anchorStateRegistryProxyEnv).implementation(); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nextAggregateVerifier = vm.parseJsonAddress({json: json, key: ".aggregateVerifier"}); nextZkVerifier = vm.parseJsonAddress({json: json, key: ".zkVerifier"}); nextAnchorStateRegistryImpl = vm.parseJsonAddress({json: json, key: ".anchorStateRegistryImpl"}); require(nextAggregateVerifier != address(0), "next aggregate verifier not set"); require(nextAggregateVerifier != currentAggregateVerifier, "next aggregate verifier equals current"); require(nextZkVerifier != address(0), "next zk verifier not set"); require(nextZkVerifier != currentZkVerifier, "next zk verifier equals current"); require(nextAnchorStateRegistryImpl != address(0), "next asr impl not set"); require(nextAnchorStateRegistryImpl != currentAnchorStateRegistryImpl, "next asr impl equals current"); require(sp1VerifierEnv != address(0), "sp1 verifier not set"); require(zkRangeHashEnv != bytes32(0), "zk range hash not set"); require(zkAggregateHashEnv != bytes32(0), "zk aggregate hash not set"); require(startingAnchorRootEnv != bytes32(0), "starting anchor root not set"); require(startingAnchorL2BlockNumberEnv != 0, "starting anchor block not set"); AggregateVerifier nextAggregate = AggregateVerifier(nextAggregateVerifier); nextGameType = nextAggregate.gameType(); require(GameType.unwrap(nextGameType) == GameType.unwrap(gameTypeEnv), "next game type mismatch"); require( address(nextAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv, "next aggregate asr mismatch" ); require( address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()), "next aggregate dgf mismatch" ); require( address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()), "next aggregate delayed weth mismatch" ); require( address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()), "next aggregate tee verifier mismatch" ); require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, "next aggregate zk verifier mismatch"); require(nextAggregate.TEE_IMAGE_HASH() == teeImageHashEnv, "next aggregate tee image hash mismatch"); require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, "next aggregate zk range hash mismatch"); require(nextAggregate.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, "next aggregate zk aggregate hash mismatch"); require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), "next aggregate config hash mismatch"); require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), "next aggregate l2 chain id mismatch"); require( nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(), "next aggregate block interval mismatch" ); require( nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(), "next aggregate intermediate interval mismatch" ); require( nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(), "next aggregate proof threshold mismatch" ); require( address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv, "next zk verifier asr mismatch" ); require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "next zk verifier sp1 mismatch"); AnchorStateRegistry nextAsrImpl = AnchorStateRegistry(nextAnchorStateRegistryImpl); require( nextAsrImpl.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds, "next asr finality delay mismatch" ); require(nextAsrImpl.initVersion() == currentAsrInitVersion + 1, "next asr init version mismatch"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](2); calls[0] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, ( anchorStateRegistryProxyEnv, nextAnchorStateRegistryImpl, abi.encodeCall( AnchorStateRegistry.initialize, ( ISystemConfig(systemConfigEnv), IDisputeGameFactory(disputeGameFactoryProxyEnv), Proposal({ root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv }), nextGameType ) ) ) ), value: 0 }); calls[1] = Call({ operation: Enum.Operation.Call, target: disputeGameFactoryProxyEnv, data: abi.encodeCall(IDisputeGameFactoryAdmin.setImplementation, (nextGameType, nextAggregateVerifier, "")), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { IDisputeGameFactoryAdmin dgf = IDisputeGameFactoryAdmin(disputeGameFactoryProxyEnv); AggregateVerifier currentAggregate = AggregateVerifier(currentAggregateVerifier); AggregateVerifier nextAggregate = AggregateVerifier(nextAggregateVerifier); AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv); Proposal memory startingAnchor = asr.getStartingAnchorRoot(); (Hash currentAnchorRoot, uint256 currentAnchorL2BlockNumber) = asr.getAnchorRoot(); vm.prank(proxyAdminEnv); require( IProxy(anchorStateRegistryProxyEnv).implementation() == nextAnchorStateRegistryImpl, "asr impl mismatch" ); require(address(asr.systemConfig()) == systemConfigEnv, "asr system config mismatch"); require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, "asr dgf mismatch"); require(address(asr.anchorGame()) == address(0), "asr anchor game not reset"); require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, "asr starting anchor root mismatch"); require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, "asr starting anchor block mismatch"); require(Hash.unwrap(currentAnchorRoot) == startingAnchorRootEnv, "asr current anchor root mismatch"); require(currentAnchorL2BlockNumber == startingAnchorL2BlockNumberEnv, "asr current anchor block mismatch"); require(GameType.unwrap(asr.respectedGameType()) == GameType.unwrap(gameTypeEnv), "asr game type mismatch"); require( asr.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds, "asr finality delay mismatch" ); require(asr.initVersion() == currentAsrInitVersion + 1, "asr init version mismatch"); require(dgf.gameImpls(nextGameType) == nextAggregateVerifier, "dgf aggregate verifier mismatch"); require( address(nextAggregate.anchorStateRegistry()) == anchorStateRegistryProxyEnv, "next aggregate asr mismatch" ); require( address(nextAggregate.DISPUTE_GAME_FACTORY()) == address(currentAggregate.DISPUTE_GAME_FACTORY()), "next aggregate dgf mismatch" ); require( address(nextAggregate.DELAYED_WETH()) == address(currentAggregate.DELAYED_WETH()), "next aggregate delayed weth mismatch" ); require( address(nextAggregate.TEE_VERIFIER()) == address(currentAggregate.TEE_VERIFIER()), "next aggregate tee verifier mismatch" ); require(address(nextAggregate.ZK_VERIFIER()) == nextZkVerifier, "next aggregate zk verifier mismatch"); require(nextAggregate.TEE_IMAGE_HASH() == teeImageHashEnv, "next aggregate tee image hash mismatch"); require(nextAggregate.ZK_RANGE_HASH() == zkRangeHashEnv, "next aggregate zk range hash mismatch"); require(nextAggregate.ZK_AGGREGATE_HASH() == zkAggregateHashEnv, "next aggregate zk aggregate hash mismatch"); require(nextAggregate.CONFIG_HASH() == currentAggregate.CONFIG_HASH(), "next aggregate config hash mismatch"); require(nextAggregate.L2_CHAIN_ID() == currentAggregate.L2_CHAIN_ID(), "next aggregate l2 chain id mismatch"); require( nextAggregate.BLOCK_INTERVAL() == currentAggregate.BLOCK_INTERVAL(), "next aggregate block interval mismatch" ); require( nextAggregate.INTERMEDIATE_BLOCK_INTERVAL() == currentAggregate.INTERMEDIATE_BLOCK_INTERVAL(), "next aggregate intermediate interval mismatch" ); require( nextAggregate.PROOF_THRESHOLD() == currentAggregate.PROOF_THRESHOLD(), "next aggregate proof threshold mismatch" ); require( address(ZkVerifier(nextZkVerifier).ANCHOR_STATE_REGISTRY()) == anchorStateRegistryProxyEnv, "next zk verifier asr mismatch" ); require(address(ZkVerifier(nextZkVerifier).SP1_VERIFIER()) == sp1VerifierEnv, "next zk verifier sp1 mismatch"); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/validations/update-zk-config-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0x0e55738c840807ab5d3b05bacdb89f50eb66eb465db551c2cfdde55c21e84edb" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xf01317cc6e8cac1c31d4025b6e09295b1966a30699c1ad601036829e2b1e6326", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e", "after": "0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x6e1f62b489b838ef8b2eb074602d9da1a1ce2dd02471ee1d7b9815802839d5bb", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003", "description": "Runs the AnchorStateRegistry reinitializer for the verifier config update and anchor reset, keeping the packed SystemConfig address unchanged and bumping initVersion from 2 to 3.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a", "after": "0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696", "description": "Resets the starting anchor root for the multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x00000000000000000000000000000000000000000000000000000000000867a4", "after": "0x000000000000000000000000000000000000000000000000000000000016e288", "description": "Resets the starting anchor L2 block number for the multiproof game type to 0x16e288 (1499784).", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e", "after": "0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-21-update-zk-config/validations/update-zk-config-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/UpdateZkConfig.s.sol:UpdateZkConfig --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525", "messageHash": "0xb7f83234d1b9ac88a1f8ba81fe483c328a6f1181586e4ba05110b30859170405" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "overrides": [ { "key": "0x677591fbec8e6b2545ca61bb732fd3aa8092c928393a9b0a5a38eb473d27d1c9", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "DisputeGameFactory Proxy - Zeronet", "address": "0x154972aB98A5e321a9c7aB7677973f1F501a8090", "changes": [ { "key": "0x32912047a4c082de3e601c4b381c2aa6252270818a4be33442b17fb41b6cf7d6", "before": "0x000000000000000000000000ebf217b345fd635b0614e4f56afbe2136528883e", "after": "0x000000000000000000000000fe3e1d27023c4c2e85a7db89d880499958abb77d", "description": "Updates `gameImpls[621]` in the DisputeGameFactory to the newly deployed AggregateVerifier carrying the updated verifier configuration.", "allowDifference": false } ] }, { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x8454e2620e9840cfedba4e175663979af6af179d042235b07cfee98419e2ab98", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800002", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003", "description": "Runs the AnchorStateRegistry reinitializer for the verifier config update and anchor reset, keeping the packed SystemConfig address unchanged and bumping initVersion from 2 to 3.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0xaaada834ea301486fdf3fc2cb72efa2bbee04bccc29af4d03a4bfbf272a2664a", "after": "0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696", "description": "Resets the starting anchor root for the multiproof game type.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "before": "0x00000000000000000000000000000000000000000000000000000000000867a4", "after": "0x000000000000000000000000000000000000000000000000000000000016e288", "description": "Resets the starting anchor L2 block number for the multiproof game type to 0x16e288 (1499784).", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x000000000000000000000000144a55c8d46a347cd08204c0327cb411527f846e", "after": "0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000003", "after": "0x0000000000000000000000000000000000000000000000000000000000000004", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/FACILITATOR.md ================================================ # Facilitator Guide Guide for facilitators managing this task. ## Deployment prerequisites Before collecting signatures, complete the EOA-authorized phase: ```bash cd contract-deployments git pull cd zeronet/2026-04-23-fix-starting-anchor-root make deps make deploy-anchor-state-registry ``` `make deploy-anchor-state-registry` runs `DeployAnchorStateRegistry`: - deploys the next `AnchorStateRegistry` implementation with the same finality delay as the live proxy - writes `anchorStateRegistryImpl` to `addresses.json` Expected `addresses.json` key: - `anchorStateRegistryImpl` ## Pre-sign check: `STARTING_ANCHOR_*` correctness Use the proofs RPC for this check: ```bash BLOCK=$STARTING_ANCHOR_L2_BLOCK_NUMBER OUTPUT_ROOT=$(cast rpc optimism_outputAtBlock $(cast 2h $BLOCK) --rpc-url https://base-zeronet-reth-proofs-donotuse.cbhq.net:7545 | jq -r '.outputRoot') echo $OUTPUT_ROOT echo $STARTING_ANCHOR_ROOT ``` Expected result: - `OUTPUT_ROOT == STARTING_ANCHOR_ROOT` ## Generate validation files ```bash cd contract-deployments git pull cd zeronet/2026-04-23-fix-starting-anchor-root make deps make gen-validation-fix-starting-anchor-root-cb make gen-validation-fix-starting-anchor-root-sc ``` This produces: - `validations/fix-starting-anchor-root-cb-signer.json` - `validations/fix-starting-anchor-root-sc-signer.json` ## Execute the transaction ### 1. Update repo ```bash cd contract-deployments git pull cd zeronet/2026-04-23-fix-starting-anchor-root make deps ``` ### 2. Collect signatures for `CB_MULTISIG` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-fix-starting-anchor-root-cb ``` ### 3. Collect signatures for `BASE_SECURITY_COUNCIL` Concatenate all signatures and export as the `SIGNATURES` environment variable: ```bash export SIGNATURES="[SIGNATURE1][SIGNATURE2]..." ``` Then run: ```bash SIGNATURES=$SIGNATURES make approve-fix-starting-anchor-root-sc ``` ### 4. Execute upgrade batch ```bash make execute-fix-starting-anchor-root ``` Post-checks enforced by script: - `AnchorStateRegistry` proxy implementation equals the newly deployed `anchorStateRegistryImpl` - `AnchorStateRegistry.anchorGame()` equals `address(0)` - `AnchorStateRegistry.getStartingAnchorRoot()` equals the corrected `STARTING_ANCHOR_ROOT` and `STARTING_ANCHOR_L2_BLOCK_NUMBER` ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/Makefile ================================================ include ../../Makefile include ../../Multisig.mk include ../.env include .env SIGNER_TOOL_PATH = ../../signer-tool RPC_URL = $(L1_RPC_URL) DEPLOYER = $(shell cast wallet address --ledger --mnemonic-derivation-path $(LEDGER_HD_PATH)) FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME = script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot FIX_STARTING_ANCHOR_ROOT_CB_SENDER = $(shell cast call $(CB_MULTISIG) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) FIX_STARTING_ANCHOR_ROOT_SC_SENDER = $(shell cast call $(BASE_SECURITY_COUNCIL) "getOwners()(address[])" --rpc-url $(L1_RPC_URL) | tr -d '[]' | cut -d',' -f1) .PHONY: apply-patches apply-patches: cd lib/contracts && patch -p1 < ../../patch/asr-reset-anchor-game.patch .PHONY: deps deps: apply-patches ## # Deployment (EOA) ## .PHONY: deploy-anchor-state-registry deploy-anchor-state-registry: ifndef VERIFIER_API_KEY $(error VERIFIER_API_KEY is not set) endif forge script --rpc-url $(L1_RPC_URL) script/DeployAnchorStateRegistry.s.sol:DeployAnchorStateRegistry \ --ledger --hd-paths $(LEDGER_HD_PATH) --broadcast --verify \ --verifier custom \ --verifier-url "https://api.etherscan.io/v2/api?chainid=$(L1_CHAIN_ID)" \ --verifier-api-key $(VERIFIER_API_KEY) \ -vvvv --sender $(DEPLOYER) ## # Fix starting anchor root (multisig) ## .PHONY: gen-validation-fix-starting-anchor-root-cb gen-validation-fix-starting-anchor-root-cb: deps-signer-tool $(call GEN_VALIDATION,$(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME),$(CB_MULTISIG),$(FIX_STARTING_ANCHOR_ROOT_CB_SENDER),fix-starting-anchor-root-cb-signer.json,) .PHONY: gen-validation-fix-starting-anchor-root-sc gen-validation-fix-starting-anchor-root-sc: deps-signer-tool $(call GEN_VALIDATION,$(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME),$(BASE_SECURITY_COUNCIL),$(FIX_STARTING_ANCHOR_ROOT_SC_SENDER),fix-starting-anchor-root-sc-signer.json,) .PHONY: approve-fix-starting-anchor-root-cb approve-fix-starting-anchor-root-cb: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME) approve-fix-starting-anchor-root-cb: $(call MULTISIG_APPROVE,$(CB_MULTISIG),$(SIGNATURES)) .PHONY: approve-fix-starting-anchor-root-sc approve-fix-starting-anchor-root-sc: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME) approve-fix-starting-anchor-root-sc: $(call MULTISIG_APPROVE,$(BASE_SECURITY_COUNCIL),$(SIGNATURES)) .PHONY: execute-fix-starting-anchor-root execute-fix-starting-anchor-root: SCRIPT_NAME := $(FIX_STARTING_ANCHOR_ROOT_SCRIPT_NAME) execute-fix-starting-anchor-root: $(call MULTISIG_EXECUTE,0x) ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/README.md ================================================ # Fix Starting Anchor Root Status: [EXECUTED](https://hoodi.etherscan.io/tx/0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8) ## Description This task corrects the starting anchor root in `AnchorStateRegistry` on `zeronet`. - deploying a new `AnchorStateRegistry` implementation - upgrading and reinitializing `AnchorStateRegistry` with the corrected starting anchor root ## Procedure ### Sign task #### 1. Update repo ```bash cd contract-deployments git pull ``` #### 2. Run signing tool ```bash cd contract-deployments make sign-task ``` #### 3. Open the UI at [http://localhost:3000](http://localhost:3000) - Select the correct signer role from the list of available users to sign. - After completion, close the signer tool with `Ctrl + C`. #### 4. Send signature to facilitator Copy the signature output and send it to the designated facilitator via the agreed communication channel. For facilitator instructions, see `FACILITATOR.md`. ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/addresses.json ================================================ { "anchorStateRegistryImpl": "0x596c4145Fb7A5030Fb063BfC89Ff5D81724D86e7" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/foundry.toml ================================================ [profile.default] src = 'src' out = 'out' libs = ['lib'] broadcast = 'records' fs_permissions = [{ access = "read-write", path = "./" }] optimizer = true optimizer_runs = 200 auto_detect_solc = true evm_version = "prague" via-ir = false remappings = [ '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', '@base-contracts/=lib/contracts/', '@solady/=lib/solady/src/', '@solady-v0.0.245/=lib/solady-v0.0.245/src/', 'forge-std/=lib/forge-std/src/', 'interfaces/dispute/=lib/contracts/interfaces/dispute/', 'interfaces/L1/=lib/contracts/interfaces/L1/', 'interfaces/legacy/=lib/contracts/interfaces/legacy/', 'interfaces/multiproof/=lib/contracts/interfaces/multiproof/', 'interfaces/universal/=lib/contracts/interfaces/universal/', 'src/L1/=lib/contracts/src/L1/', 'src/libraries/=lib/contracts/src/libraries/', 'src/dispute/=lib/contracts/src/dispute/', 'src/universal/=lib/contracts/src/universal/', 'lib/op-enclave/=lib/op-enclave/', 'openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/', '@lib-keccak/=lib/lib-keccak/contracts/lib/', 'interfaces/cannon/=lib/contracts/interfaces/cannon/', 'src/cannon/=lib/contracts/src/cannon/', ] ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/patch/asr-reset-anchor-game.patch ================================================ diff --git a/src/dispute/AnchorStateRegistry.sol b/src/dispute/AnchorStateRegistry.sol index 0e2c41c..2bc5746 100644 --- a/src/dispute/AnchorStateRegistry.sol +++ b/src/dispute/AnchorStateRegistry.sol @@ -77,7 +77,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa error AnchorStateRegistry_Unauthorized(); /// @param _disputeGameFinalityDelaySeconds The dispute game finality delay in seconds. - constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(2) { + constructor(uint256 _disputeGameFinalityDelaySeconds) ReinitializableBase(4) { DISPUTE_GAME_FINALITY_DELAY_SECONDS = _disputeGameFinalityDelaySeconds; _disableInitializers(); } @@ -102,6 +102,7 @@ contract AnchorStateRegistry is ProxyAdminOwnedBase, Initializable, Reinitializa systemConfig = _systemConfig; disputeGameFactory = _disputeGameFactory; startingAnchorRoot = _startingAnchorRoot; + anchorGame = IFaultDisputeGame(address(0)); respectedGameType = _startingRespectedGameType; // Set the retirement timestamp to the current timestamp the first time the contract is ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/records/DeployAnchorStateRegistry.s.sol/560048/run-1776984413388.json ================================================ { "transactions": [ { "hash": "0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838", "transactionType": "CREATE", "contractName": "AnchorStateRegistry", "contractAddress": "0x596c4145fb7a5030fb063bfc89ff5d81724d86e7", "function": null, "arguments": [ "0" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "gas": "0x1b5d4d", "value": "0x0", "input": "0x60c060405234801561001057600080fd5b50604051620018d6380380620018d683398101604081905261003191610108565b600460805260a0819052610043610049565b50610121565b600054610100900460ff16156100b55760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614610106576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011a57600080fd5b5051919050565b60805160a051611781620001556000396000818161045301526104f9015260008181610290015261094d01526117816000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80635958a19311610104578063952b2797116100a2578063e0a840eb11610071578063e0a840eb14610494578063ee658e45146104a7578063f2b4e617146104ba578063fdbb3dcf146104cd57600080fd5b8063952b27971461044e578063d5a3e12e1461047c578063d83ef26714610484578063dad544e01461048c57600080fd5b80636c4f4467116100de5780636c4f4467146103ed5780637258a807146104005780637d6be8dc146104285780637fc485041461043b57600080fd5b80635958a193146103945780635c975abb146103a7578063664ed830146103af57600080fd5b80633c9f397c1161017157806345884d321161014b57806345884d321461031a57806347a222c51461033d578063496b9c161461035057806354fd4d501461036357600080fd5b80633c9f397c146102ba5780633e47158c146102df5780634086d183146102e757600080fd5b806333d7e2bd116101ad57806333d7e2bd1461022457806334a346ea1461025557806335e80ab31461028157806338d38c971461028957600080fd5b80630314d2b3146101d457806304e50fed146101fc57806317cf21a91461020f575b600080fd5b6101e76101e2366004611384565b6104e0565b60405190151581526020015b60405180910390f35b6101e761020a366004611384565b6105b1565b61022261021d366004611384565b61061b565b005b60005461023d906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b6101e7610263366004611384565b6001600160a01b031660009081526005602052604090205460ff1690565b61023d61071c565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016101f3565b6006546102ca9063ffffffff1681565b60405163ffffffff90911681526020016101f3565b61023d610799565b6006546103029064010000000090046001600160401b031681565b6040516001600160401b0390911681526020016101f3565b6101e7610328366004611384565b60056020526000908152604090205460ff1681565b61022261034b366004611400565b61094b565b6101e761035e366004611384565b610b03565b610387604051806040016040528060058152602001640332e372e360dc1b81525081565b6040516101f391906114f4565b6101e76103a2366004611384565b610b6e565b6101e7610be1565b6040805180820182526000808252602091820152815180830183526003548082526004549183019182528351908152905191810191909152016101f3565b6101e76103fb366004611384565b610c59565b61041361040e366004611507565b610d1c565b604080519283526020830191909152016101f3565b610222610436366004611384565b610d30565b610222610449366004611507565b610d84565b6040517f000000000000000000000000000000000000000000000000000000000000000081526020016101f3565b610222610dda565b610413610e46565b61023d610f58565b60025461023d906001600160a01b031681565b6101e76104b5366004611384565b610f9f565b60015461023d906001600160a01b031681565b6101e76104db366004611384565b611127565b60006104eb82611127565b6104f757506000919050565b7f0000000000000000000000000000000000000000000000000000000000000000610589836001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057d9190611540565b6001600160401b031690565b61059c906001600160401b031642611571565b116105a957506000919050565b506001919050565b6000816001600160a01b031663250e69bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106159190611588565b92915050565b8061062581610c59565b610642576040516323d69b3d60e11b815260040160405180910390fd5b600061064c610e46565b91505080826001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906115aa565b116106d0576040516323d69b3d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384169081179091556040517f474f180d74ea8751955ee261c93ff8270411b180408d1014c49f552c92a4d11e90600090a2505050565b60008060029054906101000a90046001600160a01b03166001600160a01b03166335e80ab36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906115c3565b905090565b6000806107c47fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b90506001600160a01b038116156107da57919050565b6040518060400160405280601a81526020017f4f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000000081525051600261081d91906115e0565b604080513060208201526000918101919091527f4f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000009190911790610878906060015b604051602081830303815290604052805190602001205490565b14610896576040516354e433cd60e01b815260040160405180910390fd5b604080513060208201526001918101919091526000906108b89060600161085e565b90506001600160a01b0381161561093257806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906115c3565b9250505090565b60405163332144db60e01b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600054610100900460ff1615801561098b575060005460ff8083169116105b6109f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805461ffff191660ff831617610100179055610a0e611274565b600080546001600160a01b03808816620100000262010000600160b01b0319909216919091178255600180549187166001600160a01b0319928316179055845160035560208501516004556002805490911690556006805463ffffffff851663ffffffff1990911617908190556001600160401b03640100000000909104169003610abb57600680546bffffffffffffffff000000001916640100000000426001600160401b0316021790555b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000610b0e82610f9f565b610b1a57506000919050565b6001600160a01b03821660009081526005602052604090205460ff1615610b4357506000919050565b610b4c82610b6e565b15610b5957506000919050565b610b61610be1565b156105a957506000919050565b6000600660049054906101000a90046001600160401b03166001600160401b0316610bd0836001600160a01b031663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b0316111592915050565b60008060029054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611588565b6000610c6482610b03565b610c7057506000919050565b610c79826105b1565b610c8557506000919050565b610c8e826104e0565b610c9a57506000919050565b6002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfe9190611615565b6002811115610d0f57610d0f6115ff565b146105a957506000919050565b600080610d27610e46565b91509150915091565b610d386112c4565b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b610d8c6112c4565b6006805463ffffffff191663ffffffff83169081179091556040519081527fcee0703b5e4bad4efededab85c9fd1aec17dee7c5f6c584330e0509b677745a29060200160405180910390a150565b610de26112c4565b600680546bffffffffffffffff000000001916640100000000426001600160401b03811691909102919091179091556040519081527f6e5b1ba771e8e484f741ed085f039ff4e5c6e882eaf68f550fb390922d0ae4a79060200160405180910390a1565b60025460009081906001600160a01b0316610e675750506003546004549091565b6002546040805163bcef3b5560e01b81529051610ed9926001600160a01b03169163bcef3b559160048083019260209291908290030181865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906115aa565b90565b600260009054906101000a90046001600160a01b03166001600160a01b03166399735e326040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5091906115aa565b915091509091565b6000610f62610799565b6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b600080600080846001600160a01b031663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa158015610fe3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261100b9190810190611636565b600154604051635f0150cb60e01b815293965091945092506000916001600160a01b0390911690635f0150cb9061104a908790879087906004016116e8565b6040805180830381865afa158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108a9190611716565b5090506000866001600160a01b0316635c0cba336040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f191906115c3565b9050866001600160a01b0316826001600160a01b031614801561111c57506001600160a01b03811630145b979650505050505050565b600061116a826001600160a01b03166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610559573d6000803e3d6000fd5b6001600160401b03161580159061061557506002826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e09190611615565b60028111156111f1576111f16115ff565b148061061557506001826001600160a01b031663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190611615565b600281111561126d5761126d6115ff565b1492915050565b3361127d610799565b6001600160a01b0316141580156112a4575033611298610f58565b6001600160a01b031614155b156112c257604051636202851360e11b815260040160405180910390fd5b565b600060029054906101000a90046001600160a01b03166001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906115c3565b6001600160a01b0316336001600160a01b0316146112c257604051630b94c86b60e21b815260040160405180910390fd5b6001600160a01b038116811461138157600080fd5b50565b60006020828403121561139657600080fd5b81356113a18161136c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156113e6576113e66113a8565b604052919050565b63ffffffff8116811461138157600080fd5b60008060008084860360a081121561141757600080fd5b85356114228161136c565b945060208601356114328161136c565b93506040603f198201121561144657600080fd5b50604051604081018181106001600160401b0382111715611469576114696113a8565b60409081528601358152606086013560208201529150608085013561148d816113ee565b939692955090935050565b60005b838110156114b357818101518382015260200161149b565b838111156114c2576000848401525b50505050565b600081518084526114e0816020860160208601611498565b601f01601f19169290920160200192915050565b6020815260006113a160208301846114c8565b60006020828403121561151957600080fd5b81356113a1816113ee565b80516001600160401b038116811461153b57600080fd5b919050565b60006020828403121561155257600080fd5b6113a182611524565b634e487b7160e01b600052601160045260246000fd5b6000828210156115835761158361155b565b500390565b60006020828403121561159a57600080fd5b815180151581146113a157600080fd5b6000602082840312156115bc57600080fd5b5051919050565b6000602082840312156115d557600080fd5b81516113a18161136c565b60008160001904831182151516156115fa576115fa61155b565b500290565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561162757600080fd5b8151600381106113a157600080fd5b60008060006060848603121561164b57600080fd5b8351611656816113ee565b6020850151604086015191945092506001600160401b038082111561167a57600080fd5b818601915086601f83011261168e57600080fd5b8151818111156116a0576116a06113a8565b6116b3601f8201601f19166020016113be565b91508082528760208285010111156116ca57600080fd5b6116db816020840160208601611498565b5080925050509250925092565b63ffffffff8416815282602082015260606040820152600061170d60608301846114c8565b95945050505050565b6000806040838503121561172957600080fd5b82516117348161136c565b915061174260208401611524565b9050925092905056fea26469706673582212206b6a958611f4a2314f775fd720e634495ad6ffc294b127551934c8ec9fba58b264736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x72", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x24aa7c", "logs": [ { "address": "0x596c4145fb7a5030fb063bfc89ff5d81724d86e7", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", "blockHash": "0x5b27a188e72a7ca5c913d466c8272808bbf1d31fe6ba73bd4871d8aa8529427a", "blockNumber": "0x28dd9d", "blockTimestamp": "0x69eaa140", "transactionHash": "0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838", "transactionIndex": "0x4", "logIndex": "0x7", "removed": false } ], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000002000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000100000000", "type": "0x2", "transactionHash": "0x0a70cbdf9984c3d692dd3bba621f658b342291eab7cadcdd422ea1609d51f838", "transactionIndex": "0x4", "blockHash": "0x5b27a188e72a7ca5c913d466c8272808bbf1d31fe6ba73bd4871d8aa8529427a", "blockNumber": "0x28dd9d", "gasUsed": "0x150cb2", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": null, "contractAddress": "0x596c4145fb7a5030fb063bfc89ff5d81724d86e7" } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776984413388, "chain": 560048, "commit": "0483f1e" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/approve-latest.json ================================================ { "transactions": [ { "hash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x9ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20381", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc90898850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x74", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf403b", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "blockTimestamp": "0x69eaa758", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "logIndex": "0x6", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xbcf0652825417058d9ee2a7fcf2876b84a63dbb6e2f315aec51c51fe4912024d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "blockTimestamp": "0x69eaa758", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "logIndex": "0x7", "removed": false } ], "logsBloom": "0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008100000000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000100080000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040100000000000000000", "type": "0x2", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "gasUsed": "0x17538", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776985945169, "chain": 560048, "commit": "49c9513" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985056998.json ================================================ { "transactions": [ { "hash": "0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5", "transactionType": "CALL", "contractName": null, "contractAddress": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x823f52da5fd8768ab8da39a21ba4e8eaab91a8e5d670b300b50f4328e2fd826f7b82b95f9e5eab719ba274f8c2ccf9e0fb4dedbab6c73e2c32aef70aa40601d61c" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "gas": "0x1b742", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041823f52da5fd8768ab8da39a21ba4e8eaab91a8e5d670b300b50f4328e2fd826f7b82b95f9e5eab719ba274f8c2ccf9e0fb4dedbab6c73e2c32aef70aa40601d61c00000000000000000000000000000000000000000000000000000000000000", "nonce": "0x73", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x3242a3", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0x000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba" ], "data": "0x", "blockHash": "0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c", "blockNumber": "0x28ddd3", "blockTimestamp": "0x69eaa3e0", "transactionHash": "0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5", "transactionIndex": "0x17", "logIndex": "0x1a", "removed": false }, { "address": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xb97111daf12129caf47ea9ed7dfc5644137caeaea6cfbfd36631eb766205bad0" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c", "blockNumber": "0x28ddd3", "blockTimestamp": "0x69eaa3e0", "transactionHash": "0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5", "transactionIndex": "0x17", "logIndex": "0x1b", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000000000000000000000000000040000000001000000000000000000000000004000000000000000100000000000000000010000000000000000000200000000000000000800000000000000001000000008000000400000400000000000000000800000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000004000000200000000080000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040100000000000000000", "type": "0x2", "transactionHash": "0xa1571fb8f3bf0b54e7e1a8547a3dae5db03a260317182ad64e116467de0368a5", "transactionIndex": "0x17", "blockHash": "0x1f0c46bdbfe5fd5055e1c5765c3001a3d0e22d7de3156388bf3e238396850d9c", "blockNumber": "0x28ddd3", "gasUsed": "0x13e04", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0xc4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776985056998, "chain": 560048, "commit": "49c9513" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985945169.json ================================================ { "transactions": [ { "hash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionType": "CALL", "contractName": null, "contractAddress": "0x856611ed7e07d83243b15e93f6321f2df6865852", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "0", "0xd4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x9ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "gas": "0x20381", "value": "0x0", "input": "0x6a7612020000000000000000000000003d59999977e0896ee1f8783bb8251df16fb483e90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000024d4d9bdcdc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc90898850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c39ed3e895d92b0032444e094a6c87d7bbd153acba42d5b6337d648243bf33103a11b77e521c46ecbf7a66d6e0d93067fac58e26ca8d012793e4203e2cc6272d2b1c7f6fad9d51fe3a75814221bff08531bd66ab7e2457e1f1db0eba828fbf290cef6b3ebfec2b2fcce1b698416e0c319a1afe26921c543c12040a0ff0f0d401bc7c1b5525f21a75b181fe90e3021725520b8b3d1762165ce726a807bd239001ae45724c69ff242a506c796e8430b101744b5d70cc56a7aa3d42bdef498f5faddff1601b0000000000000000000000000000000000000000000000000000000000", "nonce": "0x74", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0xf403b", "logs": [ { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0xf2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c", "0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852" ], "data": "0x", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "blockTimestamp": "0x69eaa758", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "logIndex": "0x6", "removed": false }, { "address": "0x856611ed7e07d83243b15e93f6321f2df6865852", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xbcf0652825417058d9ee2a7fcf2876b84a63dbb6e2f315aec51c51fe4912024d" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "blockTimestamp": "0x69eaa758", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "logIndex": "0x7", "removed": false } ], "logsBloom": "0x00000000400000000000000000000200000000000000000000000000040000001001000000000000000000000000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000008100000000000000000000000000200000000000008000000000000000000000000000000000000000000000000040000004000000200000100080000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000040100000000000000000", "type": "0x2", "transactionHash": "0xa9a94b9f759990319e82ae4637085ac8d16885b966ca05cc0ba5c0222bd491f5", "transactionIndex": "0x17", "blockHash": "0x5405ab83c1c4ad21d0fd7e2b19813373a31c326de0c4f555cc7342ece851e2ae", "blockNumber": "0x28de1b", "gasUsed": "0x17538", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x856611ed7e07d83243b15e93f6321f2df6865852", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776985945169, "chain": 560048, "commit": "49c9513" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/records/FixStartingAnchorRoot.s.sol/560048/run-1776985969684.json ================================================ { "transactions": [ { "hash": "0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8", "transactionType": "CALL", "contractName": null, "contractAddress": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "function": "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)", "arguments": [ "0x44F00318360258744A0dAa957c2d15080A473469", "0", "0x9623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80904373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000", "0", "0", "0", "0", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001" ], "transaction": { "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "gas": "0x227aa", "value": "0x0", "input": "0x6a76120200000000000000000000000044f00318360258744a0daa957c2d15080a4734690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000001449623609d00000000000000000000000060a6c389f0bc5ce4269a40d9695927bc58700328000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a447a222c5000000000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea80000000000000000000000000154972ab98a5e321a9c7ab7677973f1f501a80904373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539000000000000000000000000000000000000000000000000000000000016e288000000000000000000000000000000000000000000000000000000000000026d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000856611ed7e07d83243b15e93f6321f2df6865852000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c4c0ad998b5dfa4cf4b298970f21b9015a5ee7ba000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000", "nonce": "0x75", "chainId": "0x88bb0" }, "additionalContracts": [], "isFixedGasLimit": false } ], "receipts": [ { "status": "0x1", "cumulativeGasUsed": "0x1fee76", "logs": [ { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7" ], "data": "0x", "blockHash": "0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5", "blockNumber": "0x28de1c", "blockTimestamp": "0x69eaa770", "transactionHash": "0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8", "transactionIndex": "0x6", "logIndex": "0xc", "removed": false }, { "address": "0x60a6c389f0bc5ce4269a40d9695927bc58700328", "topics": [ "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000004", "blockHash": "0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5", "blockNumber": "0x28de1c", "blockTimestamp": "0x69eaa770", "transactionHash": "0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8", "transactionIndex": "0x6", "logIndex": "0xd", "removed": false }, { "address": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "topics": [ "0x442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e", "0xc38e795602c9d3d10383dc66d3b6787c691d50712ba86ad9569e54cbc9089885" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5", "blockNumber": "0x28de1c", "blockTimestamp": "0x69eaa770", "transactionHash": "0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8", "transactionIndex": "0x6", "logIndex": "0xe", "removed": false } ], "logsBloom": "0x00000000400000000000000000000000400000000000000800000000040000000001000000000020000000000000000000000000000000000000000000000000000000000000000000000200000022000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000080000000000000000200000000000000080000000000000404000000200000000080000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000", "type": "0x2", "transactionHash": "0x76e97ddf73d9d2868439c15aa513efe141cfa828ec574ceb6c09180bc55cf5d8", "transactionIndex": "0x6", "blockHash": "0xf9305914f8236d87167b5ac4a3fbd3d8547ab8e228d4fc12cf7ced2cd2fd66a5", "blockNumber": "0x28de1c", "gasUsed": "0x18f66", "effectiveGasPrice": "0x3b9aca07", "from": "0xb2d9a52e76841279ef0372c534c539a4f68f8c0b", "to": "0x3d59999977e0896ee1f8783bb8251df16fb483e9", "contractAddress": null } ], "libraries": [], "pending": [], "returns": {}, "timestamp": 1776985969684, "chain": 560048, "commit": "49c9513" } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/script/DeployAnchorStateRegistry.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Script, console} from "forge-std/Script.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; /// @notice Deploys the next AnchorStateRegistry implementation used to correct the starting anchor root. contract DeployAnchorStateRegistry is Script { address internal anchorStateRegistryProxyEnv; uint256 internal currentDisputeGameFinalityDelaySeconds; uint8 internal currentInitVersion; address public anchorStateRegistryImpl; function setUp() public { anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); require(anchorStateRegistryProxyEnv != address(0), "anchor state registry proxy not found"); AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv); currentDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds(); currentInitVersion = currentAsr.initVersion(); } function run() external { vm.startBroadcast(); anchorStateRegistryImpl = address( new AnchorStateRegistry({_disputeGameFinalityDelaySeconds: currentDisputeGameFinalityDelaySeconds}) ); vm.stopBroadcast(); _postCheck(); _writeAddresses(); } function _postCheck() internal view { AnchorStateRegistry nextAsr = AnchorStateRegistry(anchorStateRegistryImpl); require( nextAsr.disputeGameFinalityDelaySeconds() == currentDisputeGameFinalityDelaySeconds, "anchor state registry finality delay mismatch" ); require(nextAsr.initVersion() == currentInitVersion + 1, "anchor state registry init version mismatch"); } function _writeAddresses() internal { console.log("AnchorStateRegistry impl:", anchorStateRegistryImpl); string memory root = "root"; string memory json = vm.serializeAddress({objectKey: root, valueKey: "anchorStateRegistryImpl", value: anchorStateRegistryImpl}); vm.writeJson({json: json, path: "addresses.json"}); } } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/script/FixStartingAnchorRoot.s.sol ================================================ // SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {Vm} from "forge-std/Vm.sol"; import {ISystemConfig} from "interfaces/L1/ISystemConfig.sol"; import {IDisputeGameFactory} from "interfaces/dispute/IDisputeGameFactory.sol"; import {MultisigScript, Enum} from "@base-contracts/script/universal/MultisigScript.sol"; import {Simulation} from "@base-contracts/script/universal/Simulation.sol"; import {GameType, Hash, Proposal} from "@base-contracts/src/dispute/lib/Types.sol"; import {AnchorStateRegistry} from "@base-contracts/src/dispute/AnchorStateRegistry.sol"; interface IProxyAdmin { function owner() external view returns (address); function upgradeAndCall(address proxy, address implementation, bytes calldata data) external payable; } interface IProxy { function implementation() external view returns (address); } /// @notice Corrects the starting anchor root stored in the AnchorStateRegistry. contract FixStartingAnchorRoot is MultisigScript { address internal ownerSafeEnv; address internal proxyAdminEnv; address internal systemConfigEnv; address internal anchorStateRegistryProxyEnv; address internal disputeGameFactoryProxyEnv; GameType internal gameTypeEnv; bytes32 internal startingAnchorRootEnv; uint256 internal startingAnchorL2BlockNumberEnv; address internal currentAnchorStateRegistryImpl; uint256 internal currentAsrDisputeGameFinalityDelaySeconds; uint8 internal currentAsrInitVersion; address internal nextAnchorStateRegistryImpl; function setUp() public { ownerSafeEnv = vm.envAddress("PROXY_ADMIN_OWNER"); proxyAdminEnv = vm.envAddress("L1_PROXY_ADMIN"); systemConfigEnv = vm.envAddress("SYSTEM_CONFIG"); anchorStateRegistryProxyEnv = vm.envAddress("ANCHOR_STATE_REGISTRY_PROXY"); disputeGameFactoryProxyEnv = vm.envAddress("DISPUTE_GAME_FACTORY_PROXY"); gameTypeEnv = GameType.wrap(uint32(vm.envUint("GAME_TYPE"))); startingAnchorRootEnv = vm.envBytes32("STARTING_ANCHOR_ROOT"); startingAnchorL2BlockNumberEnv = vm.envUint("STARTING_ANCHOR_L2_BLOCK_NUMBER"); require(IProxyAdmin(proxyAdminEnv).owner() == ownerSafeEnv, "proxy admin owner mismatch"); AnchorStateRegistry currentAsr = AnchorStateRegistry(anchorStateRegistryProxyEnv); currentAsrDisputeGameFinalityDelaySeconds = currentAsr.disputeGameFinalityDelaySeconds(); currentAsrInitVersion = currentAsr.initVersion(); vm.prank(proxyAdminEnv); currentAnchorStateRegistryImpl = IProxy(anchorStateRegistryProxyEnv).implementation(); string memory root = vm.projectRoot(); string memory path = string.concat(root, "/addresses.json"); string memory json = vm.readFile(path); nextAnchorStateRegistryImpl = vm.parseJsonAddress({json: json, key: ".anchorStateRegistryImpl"}); require(nextAnchorStateRegistryImpl != address(0), "next asr impl not set"); require(nextAnchorStateRegistryImpl != currentAnchorStateRegistryImpl, "next asr impl equals current"); require(startingAnchorRootEnv != bytes32(0), "starting anchor root not set"); require(startingAnchorL2BlockNumberEnv != 0, "starting anchor block not set"); AnchorStateRegistry nextAsrImpl = AnchorStateRegistry(nextAnchorStateRegistryImpl); require( nextAsrImpl.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds, "next asr finality delay mismatch" ); require(nextAsrImpl.initVersion() == currentAsrInitVersion + 1, "next asr init version mismatch"); } function _buildCalls() internal view override returns (Call[] memory) { Call[] memory calls = new Call[](1); calls[0] = Call({ operation: Enum.Operation.Call, target: proxyAdminEnv, data: abi.encodeCall( IProxyAdmin.upgradeAndCall, ( anchorStateRegistryProxyEnv, nextAnchorStateRegistryImpl, abi.encodeCall( AnchorStateRegistry.initialize, ( ISystemConfig(systemConfigEnv), IDisputeGameFactory(disputeGameFactoryProxyEnv), Proposal({ root: Hash.wrap(startingAnchorRootEnv), l2SequenceNumber: startingAnchorL2BlockNumberEnv }), gameTypeEnv ) ) ) ), value: 0 }); return calls; } function _postCheck(Vm.AccountAccess[] memory, Simulation.Payload memory) internal override { AnchorStateRegistry asr = AnchorStateRegistry(anchorStateRegistryProxyEnv); Proposal memory startingAnchor = asr.getStartingAnchorRoot(); (Hash currentAnchorRoot, uint256 currentAnchorL2BlockNumber) = asr.getAnchorRoot(); vm.prank(proxyAdminEnv); require( IProxy(anchorStateRegistryProxyEnv).implementation() == nextAnchorStateRegistryImpl, "asr impl mismatch" ); require(address(asr.systemConfig()) == systemConfigEnv, "asr system config mismatch"); require(address(asr.disputeGameFactory()) == disputeGameFactoryProxyEnv, "asr dgf mismatch"); require(address(asr.anchorGame()) == address(0), "asr anchor game not reset"); require(Hash.unwrap(startingAnchor.root) == startingAnchorRootEnv, "asr starting anchor root mismatch"); require(startingAnchor.l2SequenceNumber == startingAnchorL2BlockNumberEnv, "asr starting anchor block mismatch"); require(Hash.unwrap(currentAnchorRoot) == startingAnchorRootEnv, "asr current anchor root mismatch"); require(currentAnchorL2BlockNumber == startingAnchorL2BlockNumberEnv, "asr current anchor block mismatch"); require(GameType.unwrap(asr.respectedGameType()) == GameType.unwrap(gameTypeEnv), "asr game type mismatch"); require( asr.disputeGameFinalityDelaySeconds() == currentAsrDisputeGameFinalityDelaySeconds, "asr finality delay mismatch" ); require(asr.initVersion() == currentAsrInitVersion + 1, "asr init version mismatch"); } function _ownerSafe() internal view override returns (address) { return ownerSafeEnv; } } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/validations/fix-starting-anchor-root-cb-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot --sig sign(address[]) [0x856611ed7e07d83243b15e93f6321f2df6865852] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0xc88eae2baaa4c8513a3d87913666de9463f106158aaf8be5cd31588215ccd5c4", "messageHash": "0x0ff6fce4b7c10174db087292441af48396dfad7c508efaf595a6f34c6fcba7fd" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false }, { "key": "0xe9540050175d15c3a95106fc8495f17742778c434e1c5f5b6c1ebe00b852c90a", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x6d7df9aa194cec9a6ec1e34c70c8bb742ca231d9226ade7c1a0817a139c311c8", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the CB Signer Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800004", "description": "Runs the AnchorStateRegistry reinitializer for the starting anchor root correction, keeping the packed SystemConfig address unchanged and bumping initVersion from 3 to 4.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696", "after": "0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539", "description": "Corrects the starting anchor root for the multiproof game type from 0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696 to 0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1", "after": "0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "CB Signer Safe - Zeronet", "address": "0x856611eD7E07D83243b15E93f6321f2df6865852", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000005", "after": "0x0000000000000000000000000000000000000000000000000000000000000006", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } } ================================================ FILE: zeronet/2026-04-23-fix-starting-anchor-root/validations/fix-starting-anchor-root-sc-signer.json ================================================ { "cmd": "forge script --rpc-url https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net script/FixStartingAnchorRoot.s.sol:FixStartingAnchorRoot --sig sign(address[]) [0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA] --sender 0x931E24B032511d8dD029AedeB44837FAc251f3d8", "ledgerId": 1, "rpcUrl": "https://c3-chainproxy-eth-hoodi-full-dev.cbhq.net", "skipTaskOriginValidation": true, "expectedDomainAndMessageHashes": { "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "domainHash": "0x1e2faea9157fbff31d9297595a71e2dedfeb1184207c07bb6bd64f807332a525", "messageHash": "0x16829ef235a276989ba78cd6da290a07211627e047a5c0ff4b5feb16e918c742" }, "stateOverrides": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "overrides": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000004", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Override the threshold to 1 so the transaction simulation can occur.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "overrides": [ { "key": "0x53b009f5fdb874363c12ef7c86308607c3772aee58d3ee5e720e65b9107a2710", "value": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Simulates an approval from msg.sender in order for the task simulation to succeed.", "allowDifference": false } ] } ], "stateChanges": [ { "name": "Proxy Admin Owner - Zeronet", "address": "0x3d59999977e0896ee1f8783bB8251DF16fb483E9", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false }, { "key": "0x501e1a4e0022971c0ea2475e2900c8204a6d484ccf93001449c459df5a3964bf", "before": "0x0000000000000000000000000000000000000000000000000000000000000000", "after": "0x0000000000000000000000000000000000000000000000000000000000000001", "description": "Records the approval of this task's transaction hash by the Security Council Safe (nested approver of the Proxy Admin Owner).", "allowDifference": false } ] }, { "name": "AnchorStateRegistry - Zeronet", "address": "0x60A6C389F0BC5cE4269A40d9695927bC58700328", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000000", "before": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800003", "after": "0x00000000000000000000cc7c76564bea74a963a0bd75e0bc9bce3ff0ea800004", "description": "Runs the AnchorStateRegistry reinitializer for the starting anchor root correction, keeping the packed SystemConfig address unchanged and bumping initVersion from 3 to 4.", "allowDifference": false }, { "key": "0x0000000000000000000000000000000000000000000000000000000000000003", "before": "0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696", "after": "0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539", "description": "Corrects the starting anchor root for the multiproof game type from 0x333041604fff095bd1f06c0d4e9294c64522d9a780e5a497559045e724f1f696 to 0x4373f15239be5592ac833621e7a4af2e3e1e5bb9212a938613ac5201b1da0539.", "allowDifference": false }, { "key": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "before": "0x00000000000000000000000097cf8c67e0bca7b55909191a731f4d762c9d5ff1", "after": "0x000000000000000000000000596c4145fb7a5030fb063bfc89ff5d81724d86e7", "description": "Update address of AnchorStateRegistry to new implementation.", "allowDifference": false } ] }, { "name": "Security Council Safe - Zeronet", "address": "0xC4c0aD998B5DfA4CF4B298970F21b9015a5eE7bA", "changes": [ { "key": "0x0000000000000000000000000000000000000000000000000000000000000005", "before": "0x0000000000000000000000000000000000000000000000000000000000000004", "after": "0x0000000000000000000000000000000000000000000000000000000000000005", "description": "Increments the nonce", "allowDifference": false } ] } ], "balanceChanges": [], "taskOriginConfig": { "taskCreator": { "commonName": "baptiste.oueriagli@coinbase.com" } } }